機能依存

  1. 関数の依存関係の定義:
    パターン(id、name)がある場合、idはメインコードです。
    次に、機能の依存関係をid-> nameとして記述できます
  2. 機能依存の条件を満たす(a-> b)
    インスタンス内のすべてのタプルペアt1とt2について、t1 [a] = t2 [a]の場合、t1 [b] = t2 [b]
  3. 機能的な依存関係の利点は
    、スーパーコードでは表現できない制約を表すことができます。
    stu(id、name、sex、apartment)など、idがメインコードで、2つのアパート(男性と女性)しかない場合を想定しています。
    それから、男の子が男の子の寮にしか住めないので、セックス->アパートが設立されます。性別はアパートの建物を制約する可能性があります
  4. 通常の機能依存
    aがbを含む場合、機能依存a-> bは通常と呼ばれます
  5. アームストロング公理
    • 再帰則:aが属性のセットであり、aがbを含む場合、a-> b
    • 補足法:a-> bおよびrが属性セットの場合、ar-> br
    • 移転法:a-> b、b-> cの場合、a-> cが成り立つ
    • 推論
      • 合併法:a-> b、a-> cの場合、a-> bc
      • 分解法:a-> bcの場合、a-> b、a-> c
      • 疑似転送法:a-> b、bc-> rの場合、ac-> r

簡単な例

B C D
A1 b1 c1 D1
A1 b2 c1 d2
a2 b2 c2 d2
a2 b3 c2 d3
a3 b3 c2 d4

A-> C(a3とc2の場合、値a3のタプルAは他にないため、a3がc2を一意に決定できるため)
C-> Aは満たされていないと言えます。
AB-> C、AB-> Dが確立されました

发布了161 篇原创文章 · 获赞 68 · 访问量 2万+

おすすめ

転載: blog.csdn.net/qq_43179428/article/details/105562045