【发布时间】:2013-01-30 10:10:56
【问题描述】:
我是 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
也许接下来,我会在 relation_type 中添加 (10-20) 行(比如朋友、邻居)。
我认为我应该使用第二个,但我不太确定.. 哈哈
对不起,如果我的英语不好..
非常感谢..
@inhan
ic2..是的,我也这么认为..
这是我的迷你数据库设计..
原文:
性别表
- id INT auto_increment PK
- 性别变量:“男性”、“女性”状态表:
- id INT auto_increment PK
- 状态 varchar :"active","notActive","problem"权限表:
- id INT 自动递增 PK
- 特权 varchar:"manager","moderator","member"国家表:
- id INT auto_increment PK
- 国家 varchar城市表:
- id INT auto_increment PK
- 城市 varchar
- id_country INT、FK(到国家/地区 table.id)工作表:
- id INT auto_increment PK
- 作业 varchar成员表:
- id INT auto_increment PK
- 成员名称 varchar
- 生日日期
- id_sex INT、FK(到 sex table.id)
- id_status INT,FK(到状态表.id)
- id_privilige INT、FK(到权限表.id)
- 地址 varchar
- id_city INT、FK(到 city table.id)
因为,人们可以有多个昵称、兄弟姐妹、朋友、工作、国籍等
memberJob 表:
- id INT auto_increment PK
- id_member INT、FK(到成员 table.id)
- id_job INT、FK(到作业表.id)成员国籍表:
- id INT auto_increment PK
- id_member INT、FK(到成员 table.id)
- id_country INT、FK(到国家/地区 table.id)然后制作memberNickname表; memberSiblings 表; memberFriends 表等
我想更改 memberJob 的表格设计;成员国籍;成员兄弟姐妹;会员朋友
我认为是这样的:
关系表
- id INT auto_increment PK
- 关系类型 varchar : "siblings", "freinds", "job", "nationality",会员详情
- 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 到工作 table.id; 如果 id_relation:nationality 那么 id_value FK 到国家 table.id)成员昵称
- id INT PK auto_increment
- id_member INT FK(到成员 table.id)
- 昵称 varchar
这有什么问题吗?
【问题讨论】: