![ここに画像の説明を入力][2]3 層構造を作成するデータベースに取り組んでいます。アイデアは次のようになります。
- 第 1 レベル:
Order
テーブル- 主キー -
OrderID
- 主キー -
- 2階:
OrderlineItemHeader
テーブル- 主キー -
OrderID
- 主キー -
OrderLineItemHeaderID
- 主キー -
- 3階:
OrderLineItem
テーブル- 主キー -
OrderLineItemHeaderID
- 主キー -
OrderLineItemSequence
- 主キー -
OrderlineItemHeader.OrderLineItemHeaderID
問題は、2 番目と 3 番目のレベル ( to )の間で外部キーを作成できないことですOrderLineItem.OrderLineItemHeaderId
。hierarchyid データ型について読んできましたが、問題はそれらが同じテーブルに関連付けられていることです。ここで示しているのは主要な列ですが、各表にはさらに 5 列から 10 列の必要な情報があります。
私は SQL Server 2008 を使用しており、それを関連付けるプログラムは VB.NET 4 になります。Web サイトを初めて使用するため、図の画像を追加できません。
食品の例で説明をもう一度入れます。
あなたは、米国内のすべてのレストランを所有するフード プロバイダーに大量の注文を出しました。
発注された注文には、その 1 つの巨大な注文リストに関する一般的な情報が含まれています。
OrderID、OrderNO、OrderDate
注文にはさまざまな種類の食品があり、これが第 2 レベルです。
ピザ、チキン、肉、魚。
それぞれ 1000 個ずつ注文し、いつ何が届くかを知る必要があります。
だから彼らはあなたにその情報を提供し、あなたはみんなが食べようとしているときに食べようとしていることを示す必要があります.
ピザから、火曜日に飛行機で 100 人が到着します。来週来る水で500人。残りは陸路で2週間。
肉は明日 500 を予定していますが、準備が整っていないため、残りは将来の日付のためにバックオーダーされています。
そのため、すべての情報をテーブルに入れる必要があるため、3 層モデル