5

ここに画像の説明を入力

UNF/1NF/2NF/3NFに入れろと言われましたが、これで合っていますか?

上記のデータを UNF (非正規化データ) のリレーションとして表示します。

顧客 (CustomerID、FirstName、LastName、Address、City、Phone、State、Postcode、Qty、ProductNo、Description、Unit price、Total、Subtotal、Shipping、Tax Rate、Date、OrderNo.))

データを 1NF の関係として表示します。(任意のキーを示します。)

Customer (CustomerID、FirstName、LastName、Address、City、state、Phone、State、Postcode) Product (ProductNo、Qty、Description、Unitprice、total、subtotal、shipping、Tax rate(s)、CustomerID(FK)) Order (注文番号、日付、製品番号 (FK)

データを 2NF の関係として表示します。(任意のキーを示します。)

Customer( CustomerID、FirstName、LastName、Address、City、Phone、State、Postcode) Product ( ProductNo、Qty、Description、UnitPrice、CustomerID(FK)、Total(FK)) Order( OrderNo、Date、CustomerID(FK)、 ProductNo(FK).) Total(Total, subtotal, shipping, Tax Rates, ProductNo(FK),CustomerID(FK) )

データを 3NF の関係として表示します。(任意のキーを示します。)

Customer (CustomerID, FirstName, LastName, Address, City, Phone, State, Postcode) Product (ProductNo, , Description, Unit Price. CustomerID(FK), Total(FK) ) Order (OrderNo, Date, CustomerID(FK).ProductNo (FK) ) Total(Total, subtotal, ProductNo(FK), CustomerID(FK) ) Shipping(Shipping, Tax Rates, Total(FK), OrderNo(FK) ) Qty( QtyID, Qty, ProductNo(FK), OrderNo( FK))

4

3 に答える 3

4

私には良さそうに見えますが、設計の重要な部分が 1 つ欠けています。外部キーを特定しましたが、テーブルに主キーを定義していません(各テーブルの主キーを計算するために必要な外部キーを使用してください:))。

于 2013-03-18T12:29:23.293 に答える
0

上記のデータをUNF(非正規化データ)の関係として表示します。

顧客(CustomerID、FirstName、LastName、Address、City、Phone、State、Postcode、Qty、ProductNo、Description、Unit price、Total、Subtotal、Shipping、Tax Rate、Date、OrderNo。))

いいえ、そうではありません。請求書に顧客ID番号が記載されていないようです。正規化には、新しい属性の導入は含まれません。正規化されていない属性のコレクションとして、そのリストに「顧客」というラベルを付けるのは時期尚早です。

1NFの関係としてデータを表示します。(キーを示してください。)

  • 顧客(CustomerID、FirstName、LastName、Address、City、state、Phone、State、Postcode)
  • 製品(ProductNo、数量、説明、単価、合計、小計、送料、税率、CustomerID(FK))
  • 注文(OrderNo、Date、ProductNo(FK))

CustomerIDを削除します。(上記を参照してください。)「Product」テーブルの候補キーの1つは「ProductNo」だと思います。その場合、なぜそのテーブルに「CustomerID」が含まれているのですか?

2NFの関係としてデータを表示します。(キーを示してください。)

  • Customer(CustomerID、FirstName、LastName、Address、City、Phone、State、Postcode)
  • 製品(ProductNo、Qty、Description、UnitPrice、CustomerID(FK)、Total(FK))
  • Order(OrderNo、Date、CustomerID(FK)、ProductNo(FK))
  • 合計(合計、小計、送料、税率、ProductNo(FK)、CustomerID(FK))

2NFは、部分的なキーの依存関係を削除することと関係があります。テーブル「合計」を作成することを正当化した、どの部分的なキーの依存関係を特定しましたか?(ヒント:それを正当化する理由はありません。)この思考実験を行います(またはSQLで構築します):「合計」がテーブル「合計」の主キーである場合、2つの注文の結果が同じ合計?

あなたは本当に間違った足で降りたので、私は今のところそこで止まります。すべての属性のリストから始めて、候補キーと機能の依存関係を特定する必要があります。そこから始めなければ、3NFを見つけることはまずありません。

于 2013-03-18T14:31:57.370 に答える
0

請求書に関する興味深い点....J Frompton は今日レーキを注文しましたが、将来的に価格が変更される可能性があります。ただし、Frompton が今日支払った価格は変わりません。

請求書が処理されたら、実際には 1NF のテーブルに移動する必要があります。

于 2013-03-18T13:29:28.913 に答える