2016-11-16 84 views
-1

我對MySQL稍微陌生,想知道如何在SQL中實現泛化關聯。如何在MySQL中實現泛化?

在我的UML圖中,我有一個用戶有兩個子類(Employee和Manager),它們繼承了User的所有屬性。

我將如何去寫這在SQL中?

謝謝!

UML Generalisation

+0

你目前的設計有什麼問題? –

+0

僱員和經理「細節」表不應該需要他們自己的單獨的PK值,除非用戶可以有多個經理(或僱員)「細節」;我也會認爲所有的經理都是員工,但這可能只是一個命名方式。 – Uueerdo

回答

0

有實行概括不同的方式。一種是創建一個具有所有通用屬性的表格,以及他繼承類和枚舉的表格,告訴哪些專用屬性是有效的。您也將擁有一個命名約定來標識來自專業化類的屬性。例如。如果您的Employee有一個屬性degree,您可以將其命名爲​​或類似名稱。

第二種方法是有一個User表,並使用外鍵在Employee

一切取決於需求。沒有銀彈。