Mysql

數據庫設計 - 我有一個關於連接表的問題

  • January 3, 2021

請原諒我的愚蠢問題,但我是 Ruby on Rails 和數據設計的新手。我們都必須從某個地方開始,對嗎?那麼我的問題是我想為卡車駕駛公司建立一個數據庫。它包括司機、經紀人、發票、目的地和傳遞的產品類型。我附上了一個截圖,所以你可以看到桌子上的關係。

我的問題是發票表中的“Start_Destination”和“End_Destination”都與 Destination 表中的“Destination_Company_Name”有一個關係。這個可以嗎?就像一張桌子上的兩個欄位與另一張桌子上的一個欄位相關聯?“Produce_type”也是如此,您會看到它在發票一側是 3 次,但在 Produce 表上只有一個關節。這個可以嗎?

任何建議都會很棒!!再次抱歉,我在這方面是個新手,但我不能以不同的方式來表達我的想法。 在此處輸入圖像描述

“目的地”沒有錯。

那麼產品類型呢?

“發票”表中的每條記錄是否總是 3 種生產類型?為什麼他們是三個(例如,不是五個或十個)?

“發票”表中的產品類型計數是否因記錄而異?

像這樣加入應該沒問題,但我認為你可以在沒有多個連結的情況下加入。如果目標只能是“開始”或“結束”,為什麼不添加一個布爾欄位“Destination_Start”,然後有一個指向目標表的連結。

您還可以通過在發票中添加一個也稱為產品類型的欄位來減少生產的這三個連結,並更容易添加更多類型的產品。這可以被索引。我建議您為此在發票中放置一個外鍵,並使發票產生一對多的關係(因此一張發票可以有多個產品)。

引用自:https://dba.stackexchange.com/questions/124620