我正在为项目构建数据库架构,但在这个问题上我有些困惑。我有2张桌子:
USER表:
Id Name Contact_ID 1 Arun 2 2 Barath 3 3 Charan 2 4 Dinesh 1
联系人表:
ID Name Phone Mail 1 Mahesh 1234 Mahesh@Yahoo.com 2 Suresh 54321 Sureh@Google.com 3 Jayesh 9876 Jayesh@Bing.com 4 Ganesh 98754 Gahesh@Safari.com
USER中的每个用户都会在CONTACT中有一个联系人。如果用户只有一个联系人,则可以在USER中的Contact_ID上使用外键关系,并建立它们之间的关系。
但是,如果USER表中的用户在CONTACT表中有多个联系人怎么办?我不确定如何建立它们之间的关系。
例如:在Charan用户的USER中,有一个联系人,联系人2,但是如果还有一个联系人,联系人4,该怎么办?在那种情况下,我该如何建立多对一关系?
看来您已经倒退了。您的CONTACT表应该具有对USER表的外键引用,而不是USER包含对CONTACT的外键引用。例如:
USER表
Id Name 1 Arun 2 Barath 3 Charan 4 Dinesh
联系表
ID Name Phone Mail USER_ID 1 Mahesh 1234 Mahesh@Yahoo.com 1 2 Suresh 54321 Sureh@Google.com 2 3 Jayesh 9876 Jayesh@Bing.com 1 4 Ganesh 98754 Gahesh@Safari.com 3
当然,我只是在新的USER_ID列中使用了虚假数据。如您所见,具有ID 1(Arun)的USER在CONTACT表中具有多个联系人(ID 1和3)。