我有几个表,假设我有一个汽车表,我还有另一个表,其中包含所有类型的可用汽车(只是为了避免汽车表上的多个条目)所以我想要一个约束我的汽车表有一个“来自 TypesOFCar 表的汽车类型列表/集”,该表包含(品牌、型号等)我如何存档。
我希望它是模块化的,所以我可以将另一种汽车添加到 TypeOfCar 表中,并且它可以在 Cars 表中使用,谢谢。
我有几个表,假设我有一个汽车表,我还有另一个表,其中包含所有类型的可用汽车(只是为了避免汽车表上的多个条目)所以我想要一个约束我的汽车表有一个“来自 TypesOFCar 表的汽车类型列表/集”,该表包含(品牌、型号等)我如何存档。
我希望它是模块化的,所以我可以将另一种汽车添加到 TypeOfCar 表中,并且它可以在 Cars 表中使用,谢谢。
实现这一点的最佳方法是通过外键约束。本质上,您派生您的表,例如:
CREATE TABLE dbo.CarType
(
[Id] INT NOT NULL DEFAULT(1, 1),
[Description] VARCHAR(255) NOT NULL
CONSTRAINT PK_CarType PRIMARY KEY NONCLUSTERED ([Id])
)
CREATE TABLE dbo.Car
(
[Id] INT NOT NULL DEFAULT(1, 1),
[Registration] VARCHAR(7) NOT NULL,
[CarType_Id] INT NOT NULL
CONSTRAINT PK_Car PRIMARY KEY NONCLUSTERED ([Id]),
CONSTRAINT FK_Car_CarType_Id FOREIGN KEY ([CarType_Id]) REFERENCES dbo.CarType ([Id])
)
在这些示例表中,我创建了一个外键约束,将表的CarType_Id
列映射到. 这种关系强制表中指定的值必须存在一个项目。Car
Id
CarType
CarType
Car
您想将 CarType 列添加到 Cars 表,并将其作为TypeOfCar 表的外键。