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

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

Transcript

  1. (c)長岡技術科学大学 電気系 1 データベースと応用システム 関数従属 山本和英 長岡技術科学大学 電気系

  2. (c)長岡技術科学大学 電気系 2 キーとは • テーブル中の属性、もしくは属性の組み合わせのこ とを「キー」と呼ぶ。 • キーとは1属性とは限らず、2属性以上をセットにし て一つのキーとする場合(複合キーと呼ぶ)もある。

  3. (c)長岡技術科学大学 電気系 3 スーパーキー • 属性の部分集合であって、タプルを一意に識別で きるもの。 • 一般に、スーパーキーは組み合わせ的に大量に存在 する場合がほとんど。

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

    候補キーは空値(NULL)でもよい(NULLで一意に特 定できるのであれば)。 • 候補キー以外の属性を非キー属性と呼ぶ。
  5. (c)長岡技術科学大学 電気系 5 主キー • 候補キー内の(一意であってNULLでない)任意の1 キー。 • 主キーはデータベース設計者が選択する。 •

    主キー以外の候補キーを代替キー、または2次キー と呼ぶ。
  6. (c)長岡技術科学大学 電気系 6 外部キー • 同じ定義域を持つ他の表の主キー(または候補 キー)を参照するキー

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

    – (口座ID、氏名) (支店ID、顧客ID、氏名、住所)  など多数 • 候補キー – (口座ID) (支店ID、顧客ID) • 主キー – 上記候補キーのうち、口座に関するテーブルなら前者、 顧客に関するテーブルなら後者が適当。
  8. (c)長岡技術科学大学 電気系 8 例2:社員情報 (社員番号、連番、氏名、性別、電話、住所)を考 える。一人で複数の電話や住所を登録する際は連番 を変える。 • スーパーキー:(社員番号、連番)(社員番号、連 番、氏名)(社員番号、電話、住所)など多数

    • 候補キー:(社員番号、連番)(社員番号、電話、 住所)の二つ • 主キー:どちらかと言えば(社員番号、連番) – 電話や住所はNULLの可能性が多少あるので
  9. (c)長岡技術科学大学 電気系 9 関数従属とは • 属性Aが特定できれば属性Bが一意に決まるこ と。 • 顧客ID→顧客名などと矢印で書く。

  10. (c)長岡技術科学大学 電気系 10 完全関数従属 • X→Y • かつXの真部分集合X'でX'→Yを満たさない である時、YはXに対して完全関数従属している 例:(受注番号、受注明細番号、商品名)

    • (受注番号、受注明細番号)→(商品名)は完全 関数従属である Xを除くXの部分集合
  11. (c)長岡技術科学大学 電気系 11 部分関数従属 • (A、B)→(C)という関数従属があり、 • (A)→(C)または(B)→(C) である時、(C)は(A、B)に部分関数従属している 例:(販売番号、商品コード、商品名、個数)

    • 主キーは(販売番号、商品コード) • (販売番号、商品コード)→(商品名)であるが、 • (商品コード)→(商品名)でもあるため、 • (商品名)は(販売番号、商品コード)に部分関数従 属である
  12. (c)長岡技術科学大学 電気系 12 推移的関数従属 • X→Y→Z であり、Y→X でない ならば、X→Z は推移的関数従属である

    例:(店舗コード、店舗名、支部コード、支部名) • (店舗コード)→(支部コード)→(支部名)なので (支部名)は(店舗コード)に対して推移的関数従 属 • (店舗コード)→(店舗名)→(支部名)は、(店舗 名)→(店舗コード)であるため推移的関数従属の 関係ではない
  13. (c)長岡技術科学大学 電気系 13 自明な関数従属 • Y⊂X ならば常に X→Y である。これを自明な 関数従属と呼ぶ。

    例:(顧客コード、顧客名) • 明らかに(顧客コード、顧客名)→(顧客コード) さらに、特殊な場合として • (顧客コード、顧客名)→Φ(空集合) • (顧客コード、顧客名)→(顧客コード、顧客名)
  14. (c)長岡技術科学大学 電気系 14 アームストロングの規則 • 反射律 – YがXの部分集合であれば、X→Y • 増加律

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

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