So-net無料ブログ作成


正規化理論 ブログトップ

正規形の定義(2章の内容)(続き) [正規化理論]

第3正規形より上はさっぱり頭に入ってこない。
どうせ試験に出らんだろと思えばなおさら。
逆に、解答テクニックで答えの定型文覚えろって言われても
それはそれで覚えられない。気力がわかない。


2.2 正規形の定義(続き)

 [ボイス・コッド正規形]
  更新時異状が絶対に起こらない正規形

  リレーションRに存在するあらゆる関数従属性に関して次のいずれかが成立する
  (1)X→Yは自明な関数従属性である
  (2)XはRのスーパーキーである
  確認するときは全ての従属性をチェックして判定する。

  候補キー以外が決定項となる関数従属性を取り除き、完全に部分関数従属性と
  推移的関数従属性をなくした形。

  第3正規形までは関数従属性が分割したどこかのテーブルに入るが、
  ボイス・コッドでは関数従属性が分割される可能性がある。

 [第4正規形]
  リレーションRに存在するあらゆる多値従属性に関して次のいずれかが成立する
  (1)X→→Yは自明な多値従属性である
  (2)XはRのスーパーキーである

 [第5正規形]
  リレーションRに存在するあらゆる結合従属性に関して次のいずれかが成立する
  (1)*(A1,A2,…,An)は自明な結合従属性である
  (2)Ai(i=1~n)はRのスーパーキーである


2.3 午後問題の解答テクニック

 関数従属図を完成させる問題
  問題文中の以下の表現に注目する。
     一意である
     ~するごとに(振られる一意な番号)
     同じ~を~することができない(重複できない)
     ○○の~である
     ○○は~を持つ
     ○○は~をする

 部分関数従属性の例を列挙させる問題
  候補キーに対する部分関数従属性
    非キー属性Yを見つける
    X→Yを見つける
    Xが候補キーの真部分集合かチェックする

 推移的関数従属性の例を列挙させる問題
  [解答の見つけ方]
   候補キーXを見つける。
   非キー属性Zと候補キーでないYで、Y→Zを見つける。
  [チェックする点]
   YはXの真部分集合でないこと
   Xはシンプルにすること(部分集合があればそっち)
   Y→Xが成立しないこと

 テーブルが何正規形であるかを問う問題
  正規形の定義を満たし、それより上の定義を満たさないこと
  [試験では以下の3パターン]
  第1正規形である理由
   候補キー{A,B}の一部であるBに非キー属性のCが関数従属するため
  第2正規形である理由
   候補キーからの部分関数従属性はなく、推移的関数従属性A→B→Cがあるため
  第2正規形でない理由
   第1正規形であることなど

 更新時異状の具体的状況を指摘させる問題
  正規形のタイプと挿入時、修正時、削除時で決まっている。

  同じ患者が同じ診療科に再入院するとき、{患者番号,診療科,カルテ番号}の
  データが冗長になる。

 テーブルを分割して第3正規形にさせる問題
  更新時異状を起こす関数従属性に基づいて情報無損失分解する。


【勉強時間】
2.2途中~2.3節の勉強 1.5時間


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:資格・学び

正規形の定義(2章の内容) [正規化理論]

第3正規形への変換は、これまでよく分かってなかったけど
少しイメージが掴めた気がする。
イメージを掴みつつ、馴染みのない単語を一つずつ押さえていくことで
だんだんしっかりした理解になっていくのだろうな。


2.1 正規化理論における重要な概念

 関数従属性
  Xの値を決定するとYの値が一意に決まること。X→Yと表す。
  Xを決定項、Yを被決定項と呼ぶ。
  主キーが決定項ならすべての項目が被決定項となる。

 関数従属性の推論則
  YがXの部分集合  X→Y
  X→Y       {X,Z}→{Y,Z}
  X→Y AND Y→Z   X→Z
  X→Y AND {W,Y}→Z  {W,X}→Z
  X→Y AND X→Z   X→{Y,Z}
  X→{Y,Z}     X→Y AND X→Z

 情報無損失分解
  分解したテーブルを自然結合すると復元可能なこと
  X→Yが存在すればR(X,Y,Z)をS(X,Y)とT(X,Z)に情報無損失分解できる。

 更新時異状
  正規化が不十分なときに、行の追加、削除、修正で発生する異状

  第2正規化されていない例
   在庫(店舗ID、店舗名、商品ID、商品名、在庫数)
  [冗長性]
   ID-01、東京店とID-001パソコンAが複数の箇所に存在している。
  [挿入時の更新時異状]
   新規商品デジカメDを挿入したいとき店舗IDが主キーなのでNULLで登録不可。
  [修正時の更新時異状]
   パソコンAをパソコンEに名称変更するとき複数行を同時に更新しないといけない。
  [削除時の更新時異状]
   名古屋店を削除するときそこだけにあったプリンタCの情報も失われる。

  第3正規化されていない例
   社員(社員ID、役職ID、役職名称)


2.2 正規形の定義

 [非正規形から第3正規形への変換]
  管理票や伝票→非正規形
    ―(繰り返し項目の排除)→第1正規形
    ―(主キーの一部にある関数従属を排除)→第2正規形
    ―(主キーでない属性の関数従属を排除)→第3正規形

 [非正規形]
  リレーションRの属性の中に単一でない値(多値属性)が含まれている。

  伝票などをそのままテーブルにしたようなもの。繰り返し項目がある。

 [第1正規形]
  リレーションRのすべての属性が単一値である。

  一つの伝票番号に幾つも商品がある状態を解消するために、
  伝票番号と商品番号を主キーとして一行にばらばらにする。

 [第2正規形]
  第1正規形であること。かつ、すべての非キー属性はいかなる候補キーにも
  部分関数従属していない(完全関数従属である)こと。

  つまり、第1正規形の主キーの一部だけに関数従属している属性は分割する。

 [第3正規形]
  第2正規形であること。がつ、すべての非キー属性はいかなる候補キーにも
  推移的関数従属していないこと。

  非キー属性が候補キーにしか完全関数従属していないこと。
  候補キー以外とは、
    ①候補キーの一部、②非キー属性、③候補キーの一部と非キー属性の組合せ
    ④候補キーの一部と別の候補キーの一部の組合せ ※①は排除済みのはず
  導出項目もこの段階で除去しておく。

 [定義]
  完全関数従属
   X→Yだが、(Xの真部分集合)→Yではないこと
  部分関数従属
   X→Yで、(Xの真部分集合)→Yが成立すること
    ※Xの一部だけでもYが決定できてしまうこと
  推移的関数従属
   X→Yで、Y→Xでなくて、Y→Z(ZはYの部分集合でない)のとき、
   ZはXに推移的関数従属という。


【勉強時間】
2.1~2.2節途中までの勉強 1.5時間


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:資格・学び
正規化理論 ブログトップ




この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。