188 Views
January 12, 22
スライド概要
リレーショナルデータベース序論(全4回)
データベースの入門者へ
https://www.kkaneko.jp/cc/di/index.html
金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko
di-4. データベース設 計 リレーショナルデータベース序 論(全4回) データベースの入門者へ https://www.kkaneko.jp/cc/di/index.html 金子邦彦 1 謝辞:この資料では「かわいいフリー素材集 いらすとや」のイラストを使用しています
はじめに • データベースで一番困ることは,データベースの 異状である. • 異状は完全に防止できるわけではないが,正規化 により,ある程度防ぐことができる 2
異状の例 このバスは無料です このバスは運賃1000円です 3
異状が起きやすいリレーショナルデータベースの例 名前 A B C 朝食 カレー ライス うどん カレー ライス テーブル 値段 400 250 400 • カレーライスは、400円 • うどんは、250円 • Aさんはカレーライスを食べた • Bさんはうどんを食べた • Cさんはカレーライスを食べた 情報 4
異状が起きやすいリレーショナルデータベースの例 情報の更新 名前 A B C 朝食 カレー ライス うどん カレー ライス テーブル カレーライスが 400円から 350円に値下げ 350 値段 • カレーライスは、400円 400 350 • うどんは、250円 250 • Aさんはカレーライスを食べた 400 • Bさんはうどんを食べた 350 • Cさんはカレーライスを食べた 情報 5
異状が起きやすいリレーショナルデータベースの例 情報の更新 名前 A B C 朝食 カレー ライス うどん カレー ライス カレーライスが 400円から 350円に値下げ 値段 400 250 400 350 書き換え忘れして しまうかも! テーブル 6
異状が起きやすいリレーショナルデータベースの例 情報の更新 名前 A B C 朝食 カレー ライス うどん カレー ライス テーブル カレーライスが 400円から 350円に値下げ 値段 400 250 350 異状が起きている ◆朝食の値段が1つのはずなの に、違った値段が記録 されていてつじつまが合わない 7
テーブルの分解による 異状の防止 8
テーブルの分解 名前 A B C 朝食 カレー ライス うどん カレー ライス 名前 A B C 値段 400 250 400 分解 朝食 カレーライス うどん カレーライス 朝食 カレーライス うどん 値段 400 250 分解後、情報は失わ れていない 9
分解後のテーブルは,異状が起きにくい カレーライスが 名前 A B C 朝食 カレーライス うどん カレーライス 朝食 カレーライス うどん 400円から 350円に値下げ 異状はない 値段 350 250 テーブル 10
設計変更による異状の防止 名前 A B C 朝食 値段 情報は カレー 400 350 同じ ライス うどん 250 カレー 400 350 ライス 異状が起きやすいデータベース 冗長なデータがある カレーライスの値下げのとき、 片方を書き忘れると → 異状 名前 A B C 朝食 カレーライス うどん カレーライス 朝食 値段 カレーライス 400 350 うどん 250 異状が起きにくいデータベース 冗長なデータがない 11
1つのテーブルを、複数のテーブルに分解す ることで、異状を起きにくくすることができ る場合がある. 12
関連資料 • リレーショナルデータベース序論(全4回) 全体を知る. https://www.kkaneko.jp/cc/di/index.html • リレーショナルデータベースの基本(全15回) 基礎を学ぶ. https://www.kkaneko.jp/cc/ds/index.html • リレーショナルデータベース演習(全15回) 演習により修得する. https://www.kkaneko.jp/cc/de/index.html 13