IBMのNestedRelationalDatabaseホワイトペーパーの16ページから質問があります。以下のCREATE
コマンドで、MV / MV/MSではなくMV/MS / MSを使用し、両方ORDER_#
がPART_#
1対多である理由がわかりません。関係..非1nfデータベース設計での値とサブ値の意味がわかりません。ASSOC ()
また、条項についてもっと知りたいのですが。
IBMのネストされたリレーショナルデータベースホワイトペーパーの16ページ(空白のわずかな変更)
CREATE TABLE NESTED_TABLE (
CUST# CHAR (9) DISP ("Customer #),
CUST_NAME CHAR (40) DISP ("Customer Name"),
ORDER_# NUMBER (6) DISP ("Order #") SM ("MV") ASSOC ("ORDERS"),
PART_# NUMBER (6) DISP (Part #") SM ("MS") ASSOC ("ORDERS"),
QTY NUMBER (3) DISP ("Qty.") SM ("MS") ASSOC ("ORDERS")
);
IBMのネストされたリレーショナル・データベースは、ネストされた表を、関連付けられている属性の繰り返しおよび属性の繰り返しグループとして実装します。SM句は、属性が繰り返し(multivalued--"MV")または繰り返しグループ(multi-subvalued--"MS")のいずれかであることを指定します。ASSOC句は、ネストされたテーブル内の属性を関連付けます。必要に応じて、IBMのネストされたリレーショナル・データベースは、ベース表内のいくつかの入れ子になった表をサポートできます。図5の1NFテーブルを処理して、図6に示すレポートを作成するには、次の標準SQLステートメントが必要です。
SELECT CUSTOMER_TABLE.CUST#, CUST_NAME, ORDER_TABLE.ORDER_#, PART_#, QTY
FROM CUSTOMER_TABLE, ORDER_TABLE, ORDER_CUST
WHERE CUSTOMER_TABLE.CUST_# = ORDER_CUST.CUST_# AND ORDER_CUST.ORDER_# =
ORDER _TABLE.ORDER_#;
Nested Table
Customer # Customer Name Order # Part # Qty.
AA2340987 Zedco, Inc. 93-1123 037617 81
053135 36
93-1154 063364 32
087905 39
GV1203948 Alphabravo 93-2321 006776 72
055622 81
067587 29
MT1238979 Trisoar 93-2342 005449 33
036893 52
06525 29
93-4596 090643 33