我们有一个实体users
,其属性为id
,name
。如何使用规则“实现”这些用户之间的关系:
lover
,married
,engaged
,其中
另一个用户Jack Anne
,Anne Jack
) this is solely made up, just me learning db
所以我制作了这个ER图,蓝线是我设置为唯一/替代键的
users_relationship
与
users.name
,rel_type.type
。谢谢,欢迎提出任何建议/建议!
答案 0 :(得分:1)
是的,这是个好方法,至少3NF。
为避免对称重复,请在表users_relationship
中添加一个额外的约束,如下所示:
create table users_relationship (
column1 definition,
column2 definition,
...
contraint uq_pair check (users_id < users_2_id)
...
);
是的,看起来不错。