2015-03-30 101 views
1

我有一個數據庫實用結構(極點,塔)與他們之間的電線。每一段導線連接到兩個結構。我需要定義結構和跨度之間的關係。2個表之間有2個一對多的關係可以接受嗎?

我想出了跨度表中的結構A與「from」外鍵字段之間的關係,以及結構B和跨度表中的「To」外鍵字段之間的關係。這是可接受的數據庫設計?

這裏有一個圖: 2 one to many relationships between the structure table and the span table

+0

是的,它是可以接受的 – 2015-03-30 21:40:24

+0

是的,一般來說沒問題。但是您可能需要考慮在相同結構之間存在多條導線時會發生什麼情況。哪個是「從」結尾? – 2015-03-30 21:43:47

+0

這兩個FK很好,但是eek!不建議在列的前面加上類型。地理座標最好以['Point'](https://msdn.microsoft.com/en-us/library/bb933811.aspx)s或雙精度浮點數存儲,但絕對不是字符串。我想我會用可空列的數量來打擊我的大腦......幾乎所有的查詢都會因「我必須考慮空值嗎?」這個問題而變得複雜起來。 – Mitch 2015-03-30 21:51:24

回答

1

你的模型表明,跨度是關係到正好2的結構。所以我認爲你很好,那裏。我唯一的評論是,用「fkFromStructureID」和「fkToStructureID」這兩個名稱暗示可能不存在的方向。我承認,這是挑剔的。但是如果你在現實世界模型中沒有「方向」的概念,你可能想考慮不同的名字。如果方向確實存在,那麼這工作正常。

注意:如果您計劃能夠使用這些FK字段「跨越」跨度和結構鏈,那麼您需要確定在進入數據庫的過程中管理方向。其中一個跨度來自和反向會破壞鏈條的行走能力。

+0

感謝大家提出的很好的建議 – 2015-03-30 21:56:15

0

是的,在設計數據庫時這是相當普遍的要求,您的方法可能是滿足此要求的最佳方法。