狠狠撸

狠狠撸Share a Scribd company logo
磯野ー!そんなことより
 正規化しようぜー!
     Alan Smithee
  =SQLWorld大阪にて=
自己绍介
Standard
 Query
  Language
データベース
データベースをどのように
作り上げるかということが重
      要
どのようにして作ろうか?
どんなデータがあるだろう?
 そのデータはどのような
  関係性があるだろう?
今回は概念のお话
概念をミスすると
大変なことになる!
正规系
非正规系
   第一正规系(1NF)
   第二正规系(2NF)
   第三正规系(3NF)
ボイス?コッド正规系(BCNF)
   第四正规系(4NF)
   第五正规系(5NF)
非正规系
   第一正规系(1NF)
   第二正规系(2NF)
   第三正规系(3NF)
ボイス?コッド正规系(BCNF)
   第四正规系(4NF)
   第五正规系(5NF)
なぜ正规系が大事?
3つの问题が出てくる
事前登録不能
重复更新
矛盾を防ぐ
非正规系
   第一正规系(1NF)
   第二正规系(2NF)
   第三正规系(3NF)
ボイス?コッド正规系(BCNF)
   第四正规系(4NF)
   第五正规系(5NF)
関係丧失
1.テーブルにキーを設定
2.テーブルでの繰り返しを別の
       テーブルへ分離
      3.導出項目の削除
非正规系
   第一正规系(1NF)
   第二正规系(2NF)
   第三正规系(3NF)
ボイス?コッド正规系(BCNF)
   第四正规系(4NF)
   第五正规系(5NF)
部分関数従属性
主キーの一部が決まれば
非主キーのある値が一意的に
    决定する
関係丧失
非正规系
   第一正规系(1NF)
   第二正规系(2NF)
   第三正规系(3NF)
ボイス?コッド正规系(BCNF)
   第四正规系(4NF)
   第五正规系(5NF)
推移関数従属性
非キー同士の関数従属性
関係丧失
非正规系
   第一正规系(1NF)
   第二正规系(2NF)
   第三正规系(3NF)
ボイス?コッド正规系(BCNF)
   第四正规系(4NF)
   第五正规系(5NF)
ボイスコッド正规系
非キーからキーに関数従属性
   があるか否か
間違った分解を行うと
 結合従属性を失う
? 学生が科目を履修しないと、講師が科目
  を担当するという情報を登録できない
? 講師が担当する科目を変更したとき、重
  複更新が発生する
? 学生の履修情報を削除すると、講師が科
  目を担当する情報も削除される
磯野ー!そんなことより
!?
磯野ー!そんなことより
磯野ー!そんなことより
磯野ー!そんなことより
元のテーブルに会った
 関数従属性を失う
ビジネスルールによる
 テーブル構造の問題
データベース側での設定よりも
アプリケーションとして実装した
      ほうが
     保守性高い
なぜ第三正规系ぐらいで
   辞办なの??
テーブル構造からビジネスルール
を排除すると、第3正規化までで正
    规化が完了する。
磯野ー!そんなことより
参考資料
? @ITデータベースエンジニアへの道 第3回
 素早く正规系を見抜く実践テクニック 下平浩
由
http://www.atmarkit.co.jp/fdb/rensai/db_enginer03/
db_enginer03_1.html

More Related Content

磯野ー!そんなことより