我有一个完整的大型数据库或称为 PERSONS 的人。
我想将他们彼此的关系存储在一个单独的表中。
我在想这样的事情:
FAMILY
PERSON_IDS: 123, 345, 678
RELATIONS: self, brother, daughter
使用“自我”标志来指示引用关系的人。因此,在示例中,123 是一个男人,345 是他的兄弟,678 是一个女人,他的女儿。即,可以从关系中导出性别信息。
这是正确的方法吗?
或者每行只有 2 个人和一种关系类型会更有效吗
PERSON_IDS: 123, 456
RELATION: brother
-
PERSON_IDS: 123, 678
RELATION: daughter
或者每个人有一个男性/女性字段并且关系表只指定例如“兄弟姐妹”是否更好。
或者我应该有一张只有父母的桌子,并用人来存储性别?
TABLE PARENTS:
PARENT_ID: 123
CHILD_ID: 678
目的是在显示 Person 时显示相关人员。设计应该针对性能和速度而不是易于管理进行优化。
谢谢你的帮助。