我是 mysql 的新手。我想问一下数据库设计,我会附上我的设计(对不起,我已经阻止发布图片)。所以我会输入数据库。你能告诉我哪个更好,以及原因..或者这种数据库有更好的设计吗??
第一个设计:
tbl_member:
- id
- name
tbl_member_parent:
- id
- id_member
- parents_name
tbl_member_sibling:
- id
- id_member
- sibling_name
或第二种设计:
tbl_member:
- id
- name
tbl_relation_type:
- id
- relation:"parent","sibling"
tbl_member_relation:
- id
- id_member
- id_relation_type
- name_value
也许接下来,我会在 relative_type 中添加 (10-20) 行(如朋友、邻居)。
在我看来,我应该使用第二个,但我不太确定.. 哈哈
对不起,如果我的英语不好..
多谢..
@inhan
ic2 .. 是的,我也这么认为..
这是我的迷你数据库设计..
原来的:
性别表
- id INT auto_increment PK
- 性别 varchar:“男性”、“女性”状态表:
- id INT auto_increment PK
- 状态 varchar :"active","notActive","problem"权限表:
- id INT 自动递增 PK
- 权限 varchar:"manager","moderator","member"国家表:
- id INT auto_increment PK
- 国家 varcharcity table:
- id INT auto_increment PK
- city varchar
- id_country INT, FK(to country table.id)作业表:
- id INT auto_increment PK
- 作业 varchar成员表:
- id INT auto_increment PK
- member_name varchar
- 出生日期
- id_sex INT, FK(到 sex table.id)
- id_status INT,FK(到 status table.id)
- id_privilige INT, FK(到 privilege table.id)
- address varchar
- id_city INT, FK(到city table.id)
因为,人们可以有多个昵称、兄弟姐妹、朋友、工作、国籍等
memberJob 表:
- id INT auto_increment PK
- id_member INT,FK(到成员 table.id)
- id_job INT,FK(到 job table.id)memberNationality 表:
- id INT auto_increment PK
- id_member INT, FK(到 member table.id)
- id_country INT, FK(到 country table.id)然后制作 memberNickname 表;memberSiblings 表;memberFriends 表等
我想更改 memberJob 的表格设计;成员国籍;成员兄弟姐妹;会员朋友
我想这样做:
关系表
- id INT auto_increment PK
- 关系类型 varchar : "siblings", "freinds", "job", "nationality",memberDetail
- id INT auto_increment PK
- id_member INT, FK (到成员 table.id)
- id_relation INT, FK (到关系 table.id)
- id_value INT, FK (如果 id_relation: 兄弟和朋友然后 id_value FK 到成员 table.id ; 如果 id_relation:job 那么 id_value FK 到 job table.id; 如果 id_relation:nationality 然后 id_value FK 到 country table.id)memberNickname
- id INT PK auto_increment
- id_member INT FK(到成员 table.id)
- 昵称 varchar
这有什么问题吗??