MySQL专业化/泛化问题

时间:2014-05-20 17:07:25

标签: mysql mysql-workbench erd specialization

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

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

我们以此为例:

Model http://www.javaguicodexample.com/erdrelationalmodelnotes_files/erdrelationalmodelnotes010.png

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

1 个答案:

答案 0 :(得分:0)

有关专业化 - 概括的问题不时会被问到这里。您可以在信息标签中获得一般答案。您还可以查看以前问题的答案,例如How to do Inheritance Modeling in Relational Databases?