【发布时间】:2014-01-29 16:34:11
【问题描述】:
我正在为 SQL 类的介绍创建一个模拟驱动程序注册器,但我不确定如何确保表的两个属性始终链接。该表表示 Person 实体和 Vehicle 实体之间的关系——这种关系称为 Owns。
我已将其设置为许多人可以拥有任意数量的车辆,并且可以将任意数量的人视为该车辆的所有者/驾驶员。但是,当交通摄像头签发罚单时,罚单应该签发给主要所有者/驾驶员,我将其作为关系属性。
我的Owns表SQL代码如下
CREATE TABLE Owns (
Owned_By INT,
VIN INT,
Primary INT,
FOREIGN KEY(Owned_BY) REFERENCES Person(SIN),
FOREIGN KEY(VIN) REFERENCES Vehicle(VIN),
FOREIGN KEY(Primary) REFERENCES Person(SIN));
我想让 VIN 只有一个 Primary 但可以有多个 Owned_By。我可以使用 CHECK 完成此操作还是需要使用其他东西?
【问题讨论】:
标签: sql