對於學校項目,我們必須創建自己的數據庫。我決定創建一個數據庫來管理我的電子元件庫存。作爲要求,我們需要創建一個ER圖,然後從該圖派生數據庫模式。對我來說不幸的是,教授認爲我創建的圖可以被簡化,並且「部分」實體是不必要的。簡化數據庫ER圖/模式
如果我刪除了零件實體,那麼爲了使電路實體「使用」任意數量的任何零件,並使每個零件與可能的任何電路相關聯,我必須有一個單獨的M對N從每種組件類型到電路的關係。每個關係都會生成一個新表。這肯定會超過我們爲該項目所允許的最大數量的表格。
如果教授特別提到Part是不必要的,那麼必須有某種方法將其刪除,從而導致更簡單的ER圖和模式 - 但我看不到它是什麼。
也許你們可以看到它是什麼,並給我一個提示?編輯: 丹W有一個很好的建議。我可以通過給每個部件類型(電容器,電阻器等)自己的鍵來消除該部分。然後在內部使用部分,包含這些組件的外鍵。我將不得不假設表中的每個條目只與一個部分相關,其餘部分爲空。 Here's生成的模式。這個模式應該很好。但是現在我必須弄清楚ER圖的哪些修改將與該模式相對應。
編輯2: 我得出結論,我正在尋找的關係是n元。根據幾個來源,要從n元轉換爲模式,可以將每個參與實體類型的關係的主鍵包含爲外鍵。然後添加簡單的屬性。我想出了This。
難道你不能將PartID更改爲ResistorID,CapicatorID等,然後將這些列添加到Uses_Part表中? – 2012-02-14 21:58:00
好的建議。我以前想過這個,但我不完全確定如何在ER圖中表示這一點。這可能是一種非正式的關係,但我必須看到。 – Schmidget 2012-02-14 22:54:16
我真的很喜歡你的設計。我什麼都不會改變。有不同種類的零件,具有不同的屬性,每個零件(電阻器,電容器等)都有獨立的實體。 Part部件實體需要作爲這些的超類型實體。正如你所說(正確)用於M:N關係。 – 2012-02-14 23:20:55