データベースと応用システム:関数従属

 データベースと応用システム:関数従属

Transcript

  1. 4.

    (c)長岡技術科学大学 電気系 4 候補キー • 必要最小限の(一意に特定するのに必要のない属 性を除いた)スーパーキー。 • 候補キーも一般に複数存在する。 •

    候補キーは空値(NULL)でもよい(NULLで一意に特 定できるのであれば)。 • 候補キー以外の属性を非キー属性と呼ぶ。
  2. 7.

    (c)長岡技術科学大学 電気系 7 例1:銀行口座 • 属性: – (口座ID、支店ID、顧客ID、氏名、住所、残高) • スーパーキー

    – (口座ID、氏名) (支店ID、顧客ID、氏名、住所)  など多数 • 候補キー – (口座ID) (支店ID、顧客ID) • 主キー – 上記候補キーのうち、口座に関するテーブルなら前者、 顧客に関するテーブルなら後者が適当。
  3. 11.

    (c)長岡技術科学大学 電気系 11 部分関数従属 • (A、B)→(C)という関数従属があり、 • (A)→(C)または(B)→(C) である時、(C)は(A、B)に部分関数従属している 例:(販売番号、商品コード、商品名、個数)

    • 主キーは(販売番号、商品コード) • (販売番号、商品コード)→(商品名)であるが、 • (商品コード)→(商品名)でもあるため、 • (商品名)は(販売番号、商品コード)に部分関数従 属である
  4. 12.

    (c)長岡技術科学大学 電気系 12 推移的関数従属 • X→Y→Z であり、Y→X でない ならば、X→Z は推移的関数従属である

    例:(店舗コード、店舗名、支部コード、支部名) • (店舗コード)→(支部コード)→(支部名)なので (支部名)は(店舗コード)に対して推移的関数従 属 • (店舗コード)→(店舗名)→(支部名)は、(店舗 名)→(店舗コード)であるため推移的関数従属の 関係ではない
  5. 13.

    (c)長岡技術科学大学 電気系 13 自明な関数従属 • Y⊂X ならば常に X→Y である。これを自明な 関数従属と呼ぶ。

    例:(顧客コード、顧客名) • 明らかに(顧客コード、顧客名)→(顧客コード) さらに、特殊な場合として • (顧客コード、顧客名)→Φ(空集合) • (顧客コード、顧客名)→(顧客コード、顧客名)
  6. 14.

    (c)長岡技術科学大学 電気系 14 アームストロングの規則 • 反射律 – YがXの部分集合であれば、X→Y • 増加律

    – X→Yであれば、X∪Z→Y∪Z • 推移律 – X→YかつY→Zであれば、X→Z
  7. 15.

    (c)長岡技術科学大学 電気系 15 これを拡張すると • 合併律 – X→YかつX→Zであれば、X→Y∪Z • 疑推移律

    – X→YかつW∪Y→Zであれば、X∪W→Z • 分解律 – X→YかつZ⊆Yであれば、X→Z