【发布时间】:2020-09-03 08:29:11
【问题描述】:
我想创建 Worker 和 Student 表,其中包含很多类似的信息(名字、第二名等),所以我要提取另一个类似于名为 Person 的抽象表,其中将包含 Worker 和 Student 表的一般信息。
最好的方法是什么?
我还需要 id 是唯一的,即 Worker 表和 Student 表中的 id 不同。
【问题讨论】:
标签: sql sql-server
我想创建 Worker 和 Student 表,其中包含很多类似的信息(名字、第二名等),所以我要提取另一个类似于名为 Person 的抽象表,其中将包含 Worker 和 Student 表的一般信息。
最好的方法是什么?
我还需要 id 是唯一的,即 Worker 表和 Student 表中的 id 不同。
【问题讨论】:
标签: sql sql-server
使用所有组合信息和person_id 创建一个表persons。
创建两个额外的表,workers 和 students。这些表的主键是persons 表的外键:
create table students (
student_id int primary key references persons (person_id),
. . .
);
create table workers (
worker_id int primary key references persons (person_id),
. . .
);
【讨论】: