3

私はいくつかのテーブルを持っています.carsテーブルがあり、利用可能なすべてのタイプの車を保持する別のテーブルがあるとしましょう(carsテーブルへの複数のエントリを避けるため)。このテーブルに含まれる TypesOFCar テーブルからの車のタイプのリスト/セット (メーカー、モデルなど)。これをアーカイブするにはどうすればよいですか。

モジュラーにしたいので、別の種類の車を TypeOfCar テーブルに追加するだけで、事前に Cars テーブルで利用できるようになります。

4

2 に答える 2

2

これを実装する最善の方法は、外部キー制約を使用することです。基本的に、次のようなテーブルを派生させます。

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ます。

于 2011-02-14T18:22:14.493 に答える
1

CarType 列を Cars テーブルに追加し、それを TypeOfCar テーブルの外部キーにします。

于 2011-02-14T18:22:44.620 に答える