2014-09-27 111 views
0

enter image description here如何在單個表格之間創建關係?

我在MySQL數據庫中設計了上述表格。數據庫的主要目的是爲數據庫創建物料清單並強制對這些物料清單進行修訂控制。

零件表遵循單表繼承,並具有3種不同類型的零件:連接器,端子,密封件。

附圖說明每個類型

連接器:這些是在製造汽車線束的用於汽車級連接器。

終端:連接器已插入壓接線。將端子壓接到電線上以形成無焊接接頭。當連接器與車輛中的對應部件配合時,這些終端與其對應部件配合。

密封:這些是特殊類型的密封插入電線,以防止水/灰塵通過互連。

連接器可用於多種類型的端子,端子也可用於多種類型的連接器。

連接器和密封件之間的關係是相似的。印章和終端沒有任何關係。

我的目標是什麼了:

  1. 如果用戶瀏覽某些部分,我想以顯示它的所有相關/相關部件。例如,如果Connector id 1可以與5種不同類型的終端一起使用,我希望所有這些終端都顯示在視圖中。

  2. 同樣,當查看終端時,我希望所有不同的連接器可用於顯示。

  3. 此外,連接器可以有替代部分,我也想說。這是一個一對多的關係,因爲連接器可以有多個替代品。

  4. 最後,一個連接器可以有多個相對部分,我希望這些也是相關的。

我是新來的數據庫設計,我無法通過樹看到森林。就我個人而言,我認爲我應該拋棄Single Table的想法,併爲連接器,密封件和終端設備使用單獨的表格,並繪製它們之間的關係。

這仍然回答我如何顯示替代品和配對連接器。

回答

0

如果您正在尋找單表繼承的替代方法,請查找類表繼承。在你的情況下,這將意味着四個表代替零件:零件,連接器,密封件和端子。如果最後三個表中的每一個都使用part表中的共享主鍵,那麼您將強制執行「is-a」關係的1對1性質,但不是相互排斥的特性。

更重要的是,您尚未模擬您在口頭描述中概述的零件和其他零件之間的關係。這些關係可能是您創建的BOM中固有的,但在這裏並不明顯。如果你模擬這些關係,它會使數據庫更加有效嗎?我不知道。

如果您在查看樹林時遇到問題,可能是因爲您正在試圖設計解決方案而未分析問題。我發現使用ER模型分析主題很方便。這將主題分解爲實體,關係和屬性,但沒有提及任何有關表格設計的內容。提示:儘管您使用ER圖表約定,但您的模型是關係模型,而不是ER模型。再次,根據我的經驗,一旦我有描述問題的ER模型,就很容易(雖然很乏味)設計一個設計解決方案的關係模型。

相關問題