如何在数据库中保存婚姻关系

Mau*_*sky 6 mysql database database-design entity-relationship relational-database

我必须将此信息保存在数据库中

人 - >结婚 - >人

我应该在哪里保存这些信息?我应该在这里申请什么样的设计模式?

谢谢!

mar*_*cgg 5

如果只能嫁给一个人:1:1

-------------
- Person    -
-------------
id (key)
maried_to_id (foreign key)
Run Code Online (Sandbox Code Playgroud)

如果您可以与一个以上的人结婚或想要跟踪以前的婚姻,n:n

-------------
- Person    -
-------------
person_id (key)

-------------
- Mariage   -
-------------
first_person_id (foreign key)
second_person_id (foreign key)
start_date
end_date
Run Code Online (Sandbox Code Playgroud)

(也是 first_person_id + second_person_id + date 形成婚姻的唯一键。您可以省略日期,但不会跟踪再婚)