1

データベースから派生した値は外部キーと同じですか?

connolyとbeggの本に基づいて、第4版の352ページの派生値は An attribute that represents a value that is derivable from the value of a related attribute or set of attributes, not necessarily in the same entity type.

CUSTOMERとORDERのような2つのテーブルがある場合、

Customer
- Id_Cust
- Name
- Phone

ORDER
- Order_id<
- id_cust

「ORDER.id_custはCustomer.id_custから派生しています」と言えますか?

実際、私は上記の概念について本当に混乱しています。

4

1 に答える 1

2

いいえ、外部キーと派生値は2つの異なるものです。

product  quantity  price  subtotal
--
ACH123   5         $1.50  $7.50

上記の簡略化された表では、「小計」は派生値です。それは「量」と「価格」から導き出されます。(それらを掛け合わせることによって。)

データベース設計者は通常、CHECK()制約またはトリガーを使用せずに派生値を格納して、派生値が常に正しいことを確認しません。上記の表で、数量を4に更新すると、派生値「小計」が正しくなくなります。CHECK()制約は、更新に「小計」の正しい値がない限り、「数量」への更新を防ぐことができます。トリガーは、「数量」または「価格」のいずれかが変更されたときに「小計」を自動的に更新できます。

通常、CHECK()制約の方が適しています。

于 2012-12-19T04:33:58.180 に答える