链接表中的两个属性

时间:2014-01-29 06:23:32

标签: sql

我正在为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只有一个主要但可以有多个Owned_By。我可以使用CHECK完成此操作,还是需要使用其他东西?

1 个答案:

答案 0 :(得分:0)

2张表:

  1. 车辆(VIN int,PRIMART int,......其他车辆独特道具) 外键(主要)参考人(SIN));
  2. 拥有(OWNED_BY int,VIN int)外键(VIN)参考 车辆(VIN),外键(Owned_BY)参考人(SIN);