簡體   English   中英

Mysql表相互鏈接

[英]Mysql tables link with each other

我將在mysql中創建3個表:

Movies: id-name-country
Tv-Series: id-name-country
Artists: id-name-country

我計划不另外將國家/地區信息輸入到這些表中,而是打算創建另一個表:

Countries: id-country

我將使我的前三個表從“國家”表中獲取國家數據。 (因此,如果一個國家/地區的名稱拼寫錯誤,只需在一個地方更正即可。其他表格中的數據將自動更新。

  • 我可以使用“外鍵”嗎?
  • 這是正確的方法嗎?

到目前為止,您的方法是正確的, 只有在電視連續劇和演出者中按“國家/地區”表示您的意思是國家/地區編號而不是值。 是的,您可以使用外鍵(電視系列中的國家/地區ID,而Artist是鏈接到國家/地區的外鍵);

編輯:旁注:查看您的編輯,我不得不指出,如果您打算將Movie / TV-Show與artist鏈接,則需要第4張表來保持標准化。

Edit2:決定是否需要表的通常方法是檢查2個表或值具有哪種連接。

  1. 如果是一對多(例如藝術家到原籍國),那很好。
  2. 如果您有“多對多”,例如“電影與藝術家”,其中一名藝術家可以在多個電影中,而一部電影可以有多個藝術家,則需要一個鏈接表。
  3. 如果您具有1對1的關系(例如銀行系統中的customer_ID和護照詳細信息,則可以將它們分別存儲在customer和Passport表中,但是將它們連接起來更有意義,因為銀行對於每個客戶僅持有1張有效護照的詳細信息, 1護照只能由1個人使用),您可以合並表格(不符合歸一化3標准的風險)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM