MySQL 专业化/泛化问题

问题描述 投票:0回答:1

所以我发现我需要做一个专业化层次结构模型,但是我不太清楚如何编码它。我找到了一些关于如何进行泛化的信息。

我的问题是:编码方式相同但表达方式不同吗?

我们以此为例:


(来源:javaguicodexample.com

CREATE TABLE Employee(
            EmpNo                  INTEGER,
            EmpName                VARCHAR(30),
            EmpHireDate            DATE,
            CONSTRAINT PKEmployee PRIMARY KEY (EmpNo)
);
 
CREATE TABLE SalaryEmp(
            EmpNo         INTEGER,
            EmpSalary     DECIMAL(10,2),
            CONSTRAINT PKSalaryEmp PRIMARY KEY (EmpNo),
            CONSTRAINT FKSalaryEmp FOREIGN KEY (EmpNo) REFERENCES Employee ON DELETE CASCADE
);
 
CREATE TABLE HourlyEmp(
            EmpNo          INTEGER,
            EmpRate        DECIMAL(10,2),
            CONSTRAINT PKHourlyEmp PRIMARY KEY (EmpNo),
            CONSTRAINT FKHourlyEmp FOREIGN KEY (EmpNo) REFERENCES Employee ON DELETE CASCADE
);

这是应该如何编码吗? ERD 应该是这样的?

ERD

mysql mysql-workbench erd specialization
1个回答
0
投票

这里时常有人问有关专业化-泛化的问题。您可以在 信息选项卡中获得一般答案。您还可以查看之前问题的答案,例如如何在关系数据库中进行继承建模?

© www.soinside.com 2019 - 2024. All rights reserved.