磯野ー!そんなことより 正規化しようぜー!

Slides:



Advertisements
Similar presentations
データベース. レシートを見てみよう コンビニやスーパーで買物をするときの レシートを見てみよう – 何がかいてあるだろうか? – レジで全部打ち込んでいる? – なぜ、打ち込まないのにレシートには商品名 や価格が出てくるの?
Advertisements

データモデリング ボトムアップ分析. ボトムアップ分析の手順 トップダウン分析の結果とは別に実施 画面や帳票イメージからモデル化 ①画面や帳票を集める ② Excel などのワークシートで,エンティ ティ,データ項目名を決める ③ドメインを定義し,データ項目に割り当 てる ④正規化を実施 ⑤発生タイミングでエンティティを分離.
情報基礎 A 第 4 週 データベースと表計算 情報基礎 A 第 4 週 データベースと表計算 1 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
実践!DB逆設計 ~レシートからER図を起こす~
オーダー端末操作手順書 WideNet株式会社 Ver.2013/01/30.
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
第10回 データベース (Database) (2007/12/11版)
リレーショナル・データベース データベース論 第10回.
朝日大学大学院 経営学研究科 奥山 徹 データベース論 朝日大学大学院 経営学研究科 奥山 徹 2006/05/08 データベース論(4回目)
Webアプリケーション開発の 基本的なポイント
OpenOffice.org のバグがなおるまで
WEBから確認できる 駐車場管理システムについて
プログラムを「StiLL」で作成します。
Shimatterシステムの 初期モデルの正規化
MySQLに接続するデータベースプログラム
ゲーム理論・ゲーム理論Ⅰ (第6回) 第4章 戦略形ゲームの応用
第5章 データベースの設計 5.1 データベース設計の概要 5.2 ERモデルとスキーマ設計 5.3 正規化 5.4 一貫性制約.
情報モラル指導スライド(中学校) No,6 安全に使うために 平成22年3月 福島県教育センター.
Accessによる SQLの操作 ~実際にテーブルを操作してみよう!~.
続 Entity Framework 入門 SQLWorld #8 サヴロウ.
SQL J2EE I 第3回 /
データモデリング トップダウンモデルと ボトムアップモデルの融合
Biac /10/25 DI コンテナの本懐 ~ IoC の実装も楽々! biac
データモデリング CRUD分析.
RDBMSについて 2年7組  小鹿 慎太郎.
Enterprise CALS Systemの開発
データベース.
ONLINE植物アルバム 運営のサポート 情報数理専攻   D8691 根本亜由美 1.
応研㈱ 大蔵大臣ERP専用 外貨・円両通貨財務会計
発表者 2011/01/08 楽しい256バイトイントロの 世界 発表者 2011/01/08.
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
14.テーブル定義,一対多の関係,多対多の関係, 外部キー,索引(インデックス),データベース操作
データベース設計 データベース設計 第0回 オリエンテーション 坂口利裕.
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
データベース設計の基礎 HN おいろん.
第13回 ハッシュテーブルを使ったプログラム ~高速に検索するには?~.
データベースシステム入門 8.異状,正規化による異状の防止
データベースシステム入門 9.従属,従属関係,第三正規形
フィールドセンシング Field Sensing Technologies
Biac /10/ /10/25 DI コンテナの本懐 ~ IoC の実装も楽々! biac
オーダー端末操作手順書 WideNet株式会社 Ver.2013/09/26.
P2P方式によるオンラインゲームの研究、開発
第1回.リレーショナルデータベースを使ってみよう
~ 「スポーツにおけるゲーム分析」について ~
マイクロソフト Access での SQL 演習 第5回 副問い合わせ
ゲーム開発モデルの基礎.
Shimatterシステムの トップダウン分析
講義ノート共有データベース NoteTotter?
質問 ( Oh社 設計・開発部門 受講者様 ) 第3回 システム工学設計法講座
データモデリング モデルの基本作法.
情報システム1及び演習 第一回 データベースの概要.
スマートスクールWeb 発注承認マニュアル
3.リレーショナルデータベース,主キー, SQL
14.外部キー,データ分析,データベース設計
第4章 データ構造 p.82 [誤] ハミルトニアン経路問題  [正] ハミルトン閉路問題 p.82,83 [誤] セールスパーソン問題
E-R図 井上卓也.
5.集計,ピボットテーブル(クロス集計表)
EntityManager と EJB QL EJB 3.0 コース 第8回 2006年8月5日.
データベース設計入門 初音玲.
データベース設計入門 初音玲.
リレーショナル・データベース J2EE I (データベース論) 第2回 /
レンタルショッピングカートマニュアル ~ 返品特約設定 編 ~
データベース第3回目 意味ごとにテーブルを分ける
第1回.リレーショナルデータベースを使ってみよう
テクニカル・ライティング 第4回 ~文章の設計法「KJ法」について~.
SQL J2EE I (データベース論) 第3回 /
第3章 関係データベースの基礎 3.1 関係とは 3.2 関係代数.
SQL データベース論 第11回.
Presentation transcript:

磯野ー!そんなことより 正規化しようぜー! Alan Smithee

自己紹介

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の注文明細の姫トランスの片方を変えてしまうとIDと商品への一貫性が消える.(重複更新へとつながる)

非正規系 第一正規系(1NF) 第二正規系(2NF) 第三正規系(3NF) ボイス・コッド正規系(BCNF) 第四正規系(4NF) 第五正規系(5NF)

推移関数従属性

非キー同士の関数従属性

関係喪失 1NFの注文明細の姫トランスの片方を変えてしまうとIDと商品への一貫性が消える.(重複更新へとつながる)

非正規系 第一正規系(1NF) 第二正規系(2NF) 第三正規系(3NF) ボイス・コッド正規系(BCNF) 第四正規系(4NF) 第五正規系(5NF)

ボイスコッド正規系

非キーからキーに関数従属性 があるか否か 関数従属性がなければBCNF

間違った分解を行うと 結合従属性を失う 関数従属性がなければBCNF

学生が科目を履修しないと、講師が科目を担当するという情報を登録できない 講師が担当する科目を変更したとき、重複更新が発生する 学生の履修情報を削除すると、講師が科目を担当する情報も削除される 1人の学生が同じ科目を異なる講師で履修できない

!?

元のテーブルに会った 関数従属性を失う 関数従属性がなければBCNF

ビジネスルールによる テーブル構造の問題

データベース側での設定よりも アプリケーションとして実装したほうが 保守性高い

なぜ第三正規系ぐらいで okなの??

テーブル構造からビジネスルールを排除すると、第3正規化までで正規化が完了する。

参考資料 @ITデータベースエンジニアへの道 第3回 素早く正規系を見抜く実践テクニック 下平浩由  素早く正規系を見抜く実践テクニック 下平浩由 http://www.atmarkit.co.jp/fdb/rensai/db_enginer03/db_enginer03_1.html