2017-01-07 14 views
-1

正規化処理中にメインテーブルに帰属する独自の属性を追加できますか?例えば 、我々はデータの正規化中に、自分の属性を追加できますか?

custid, custname, invoice_date, invoice amount, prod_code, prod_description. 

は、私がテーブルにinvoice_IDを追加できますか?

+0

あなたのスキーマ。あなたは好きなことをすることができます。 – Strawberry

+0

テーブルの指定された属性が cust_id、cust_name、請求書日付、請求書金額、prod_code、prod_descriptionのように割り当てられます。私はそれを3NFに正規化するのが難しいと思っています 私は何をしましたか テーブル顧客(CUST_CODE、CUST_LNAME、CUST_AREACODE、CUST_PHONE) プライマリキー(CUST_CODE); 表製品(PROD_CODE、PROD_DESCRIPT) 主キー(PROD_CODE)。 表請求書(CUST_CODE、PROD_CODE、INV_DATE、INV_AMOUNT) 主キー(CUST_CODE、PROD_CODE、INV_DATE) 外部キー(CUST_CODE)参考表カスタマー 外部キー(PROD_CODE)参考表製品。 これは正しいと思います – Pujan

+0

これはコメントには適していません。あなたの質問を編集してください。 – Strawberry

答えて

0

これは非常に貧しい問題であることを確認するために、多くの重要な詳細を省いています。任意のDBMSで正しいアクセス権/ロールを持っていると仮定すると、テーブル属性を変更できます。通常、正規化プロセスは、各テーブルでどの情報を表現したいのかというドラフト・バージョンを作成してから、正規化プロセスのステップに従った後に行われます。

http://www.studytonight.com/dbms/database-normalization.php

(また、いくつかのアドバイスは、あなたのDBのいずれかを提起以上何をテーブルに属し属性さえ何、あなたは上記のリストした属性のすべてが単一のテーブルに属している場合、その場合にはしていませんこれにより、第2 /第3正規形のルール)を破壊

0

正規化された環境の例:

customers 
customer_id*, customer_name 

invoices 
invoice_id*,invoice_date, customer_id,invoice amount 

products 
product_id*,product_code, product_description 

invoice_detail 
invoice_id*,product_id*,quantity 

* = (component of) primary key 

これは1があることを前提としています。ご注文と請求書との間の1の関係、および請求書が生成されていること注文が発せられた日に。

関連する問題