如何在MySQL中实现泛化?

如何在MySQL中实现泛化?,mysql,database,phpmyadmin,uml,erd,Mysql,Database,Phpmyadmin,Uml,Erd,我对MySQL有点陌生,想知道如何在SQL中实现泛化关联 在我的UML图中,我有一个用户,它有两个子类(Employee和Manager),继承了用户的所有属性 我将如何用SQL编写这篇文章 谢谢 实现泛化有不同的方法。一种方法是创建一个表,该表包含所有通用属性,以及继承类的属性和枚举,告诉您哪些专用属性是有效的。您还将有一个命名约定来标识来自专门化类的属性。例如,如果您的员工有一个属性学位,您可以将其命名为emp_degree或类似名称 第二种方法是使用User表,并在Employee等中使用

我对MySQL有点陌生,想知道如何在SQL中实现泛化关联

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

我将如何用SQL编写这篇文章

谢谢


实现泛化有不同的方法。一种方法是创建一个表,该表包含所有通用属性,以及继承类的属性和枚举,告诉您哪些专用属性是有效的。您还将有一个命名约定来标识来自专门化类的属性。例如,如果您的
员工
有一个属性
学位
,您可以将其命名为
emp_degree
或类似名称

第二种方法是使用
User
表,并在
Employee
等中使用外键


一切都取决于要求。没有灵丹妙药。

您当前的设计有什么问题?员工和经理“详细信息”表不需要单独的PK值,除非用户可以有多个经理(或员工)“详细信息”;此外,我认为所有的经理都是员工,但这可能只是一个命名上的异想天开。