![](/img/trans.png)
[英]What's the best practice to connect a table to a junction table in relational database design?
[英]Database design best practices - linking/junction table with multiple references
我有多對多關系中的Membership和Person表與Membership_person鏈接表鏈接在一起(列:person_id和Membership_id)
每個人可以擁有一個或多個地址,電話和電子郵件。 這些存儲在單獨的表中,例如地址,電話和電子郵件表。
我現在面臨的新情況是擁有多個成員資格的人,但他/她希望為每個成員資格使用不同的地址,電話號碼和電子郵件。
這是一個例子:
M1 => P1
=> address-1
=> phone-1
=> Email-1
M2 => P1
=> address-2
=> phone-2
=> Email-2
M3 => P1
=> address-3
=> phone-3
=> Email-3
解決上述問題的最佳數據庫是什么? 我應該創建一個單獨的鏈接表,例如Membership_address,membership_phone和Membership_email嗎? 還是僅將address_id,phone_id,email_id添加到現有的membership_person表中?
謝謝 :)
這稱為關聯數據 -有關兩個實體之間的關聯的數據 -並將其存儲在關聯表中。
諸如此類(使用mysql語法):
create table membership_person (
person_id int not null references person,
membership_id int not null references membership,
address_id int not null references address,
phone_id int not null references phone,
email_id int not null references email,
primary key (person_id, membership_id)
)
額外的3列定義每個成員的人員聯系實體。
擴展,以下是一個建議。
表 :Membership_Person
復合主鍵 (membership_id,person_id,table_id,優先級)
領域 :
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.