関数従属性に関する推測論
まず、集合の記号を確認します。

  A⊆B   「AはBの部分集合」「AはBに含まれる」
  A∈B   「AはBの要素」
  A∪B   「和集合」

和集合とは、
少なくともどちらか一方の集合に属する要素全体の集合のことです。
たとえば
  A={1,2,7,8}
  B={1,2,3,6,9}
とすると
  A∪B={1,2,3,6,7,8,9}

関数従属性に関する推測論は、
データベース技術 新版(専門分野シリーズ)」(ITEC)のp.52にあります。

この関数従属性に関する推測論はまだ正確に理解してはいません。
イメージはなんとなくですがわからないこともありません。

1.反射律
Y⊆X⊆Uのとき、X→Yは関数従属である。

  YがXに含まれ(YがXの部分集合であり)、
  XがUに含まれる(Xがその表の属性である)とき、
  X→Yという関数従属が成り立つ。

2.増加律
X→Yが成立し、かつZ⊆Uのとき、X∪Z→Y∪Zが成り立つ。


3.推移律
X→YとY→Zが成立すると、X→Zが成立する。

  (学生番号,氏名,学部,学部所在地)
  のばあいで、
  {学生番号}→{学部}
  {学部}→{学部所在地}
  が成立すると、
  {学生番号}→{学部所在地}
  が成立する。

4.合併律
X→Y,X→Zが成立すると、X→Y∪Zが成立する。

  (学生番号,氏名,学部)
  のばあいで、
  {学生番号}→{氏名}
  {学生番号}→{学部}
  が成立すると、
  {学生番号}→{氏名,学部}
  が成立する。

これを利用して、問題を解いてみます。

------------------------------------------------
例題:
関係「購入申込」の候補キーをすべて挙げよ。

(H15、午後Ⅰより)

カタログ販売の主な関数従属性

購入申込(顧客番号,申込番号,日付,支払方法,住所,顧客名,電話番号)
------------------------------------------------

候補キーの条件「どの属性YjもXに関数従属であり(一意性)」から、
このような図があったばあい、
すべての属性に矢印が到達しているのが候補キーだといえます。
矢印がすべてにつながっているものを選べばよいはずです。

日付、電話番号、支払方法
の3つは、矢印の終点なので、候補キーにはなりません。

  {顧客番号,申込番号}→{支払方法}
  {顧客番号,申込番号}→{日付}

{顧客番号,申込番号}のうち{顧客番号}だけから、

  {顧客番号}→{住所,顧客名}→{電話番号}

と、推移律によりたどることができます。
というのをみると、
{顧客番号,申込番号}は、候補キーといえます。

{住所,顧客名}だけからでは、支払方法と日付にたどりつきません。
顧客番号には向かってきている矢印があります。

  {住所,顧客名}→{顧客番号}

です。
ということは、あと申込番号があれば、候補キーになりえます。
{住所,顧客名,申込番号}も候補キーといえます。

解答:
{顧客番号,申込番号}{住所,顧客名,申込番号}
[PR]
by nwdb | 2004-11-07 03:54 | データベース
<< SQLBasicというのはおすすめ。 候補キーの定義 >>


リンク
■SQL攻略 実行すれば理解できる

■ITBooks ネットワーク技術の解説とNetwork関連書籍の紹介


受験歴
初級シスアド
→2004年春合格
テクニカルエンジニア(ネットワーク)
→2004年秋受験


アクセス解析

以前の記事
フォロー中のブログ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧