【发布时间】:2021-09-06 10:41:37
【问题描述】:
我目前正在为我的班级开发一个 mysql 项目,我想知道是否可以将子类表的 PK-FK 引用为另一个表的 FK 而不是父类的 PK。
假设我有子类表employees写成:
CREATE TABLE employees (
Person_ID int PRIMARY KEY,
Designation varchar(50),
FOREIGN KEY (Person_ID) REFERENCES persons(Person_ID));
至于父类,
CREATE TABLE persons (
Person_ID int NOT NULL AUTO_INCREMENT,
Last_Name varchar(255),
Middle_Name varchar(255),
First_Name varchar(255),
PRIMARY KEY(Person_ID));
假设我想创建另一个表 works,其 FK 引用来自子类 employees 的 Person_ID,而不是父类 persons。 p>
CREATE TABLE works (
project_ID PRIMARY KEY,
date_started date,
FOREIGN KEY (Person_ID) REFERENCES employees(Person_ID));
谢谢!
【问题讨论】:
-
在数据库中没有“类”和“子类”之类的东西。有桌子。
-
mysql 没有身份
-
@nbk 啊,我的错。会更新的。
-
@Alejandro 是的,也许我应该换个说法,但我指的是泛化/专业化的概念。