如何在MySQL中实现泛化?

如何在MySQL中实现泛化?

问题描述:

我对MySQL稍微陌生,想知道如何在SQL中实现泛化关联。如何在MySQL中实现泛化?

在我的UML图中,我有一个用户有两个子类(Employee和Manager),它们继承了User的所有属性。

我将如何去写这在SQL中?

谢谢!

UML Generalisation

+0

你目前的设计有什么问题? –

+0

雇员和经理“细节”表不应该需要他们自己的单独的PK值,除非用户可以有多个经理(或雇员)“细节”;我也会认为所有的经理都是员工,但这可能只是一个命名方式。 – Uueerdo

有实行概括不同的方式。一种是创建一个具有所有通用属性的表格,以及他继承类和枚举的表格,告诉哪些专用属性是有效的。您也将拥有一个命名约定来标识来自专业化类的属性。例如。如果您的Employee有一个属性degree,您可以将其命名为​​或类似名称。

第二种方法是有一个User表,并使用外键在Employee

一切取决于需求。没有银弹。