私はいくつかのテーブルを持っています.carsテーブルがあり、利用可能なすべてのタイプの車を保持する別のテーブルがあるとしましょう(carsテーブルへの複数のエントリを避けるため)。このテーブルに含まれる TypesOFCar テーブルからの車のタイプのリスト/セット (メーカー、モデルなど)。これをアーカイブするにはどうすればよいですか。
モジュラーにしたいので、別の種類の車を TypeOfCar テーブルに追加するだけで、事前に Cars テーブルで利用できるようになります。
私はいくつかのテーブルを持っています.carsテーブルがあり、利用可能なすべてのタイプの車を保持する別のテーブルがあるとしましょう(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 テーブルの外部キーにします。