データベースシステム入門 9.従属,従属関係,第三正規形

Slides:



Advertisements
Similar presentations
データベース S 第 1 回 ガイダンス システム創成情報工学科 尾下 真 樹. 講義担当 尾下 真樹 (おした まさき) 居室:研究棟 W623
Advertisements

データベース. レシートを見てみよう コンビニやスーパーで買物をするときの レシートを見てみよう – 何がかいてあるだろうか? – レジで全部打ち込んでいる? – なぜ、打ち込まないのにレシートには商品名 や価格が出てくるの?
本日の課題 (1)個人情報の定義を知る。 (2)個人情報の安全な取扱い 方を知る。 個人情報を守ろう!
実践!DB逆設計 ~レシートからER図を起こす~
プログラミング入門 ガイダンス.
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
     学生食堂 2016/05/31 経営学部市場戦略学科 4028 ゆま.
' Draw と Base で 年賀状の宛先作成 西木  毅 見本.
リレーショナル・データベース データベース論 第10回.
小学校3年 指導資料例データ.
Shimatterシステムの 初期モデルの正規化
第5章 データベースの設計 5.1 データベース設計の概要 5.2 ERモデルとスキーマ設計 5.3 正規化 5.4 一貫性制約.
旅のしおり 2013/4/01 – 4/02.
情報モラル指導スライド(中学校) No,6 安全に使うために 平成22年3月 福島県教育センター.
データモデリング トップダウンモデルと ボトムアップモデルの融合
データモデリング CRUD分析.
クイズ 「インターネットを使う前に」 ネチケット(情報モラル)について学ぼう.
     年  月  日 名前 太郎 1 班.
事例7 不正アクセス.
RDBMSについて 2年7組  小鹿 慎太郎.
データベース.
Web上で管理・利用できる 面接予約データベースシステムの構築
情報処理概論Ⅰ 2007 第9回 2007/6/20 情報処理概論Ⅰ 第9回.
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
14.テーブル定義,一対多の関係,多対多の関係, 外部キー,索引(インデックス),データベース操作
マイクロソフト Access を使ってみよう 第5回
マイクロソフト Access を使ってみよう 第1回
データベース設計 データベース設計 第0回 オリエンテーション 坂口利裕.
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
マイクロソフト Access を使ってみよう 第4回
旅のしおり 2013/4/01 – 4/02.
Global Exploration Program in Beppu
15.同時実行制御,トランザクション, データベースの回復
表計算 Excel 演習 6. ルックアップ,データの入力規則.
みんなの日本語 初級Ⅰ本冊 ー第7課への適用例ー.
データベースシステム入門 8.異状,正規化による異状の防止
情報の収集と共有 第3章 3節  ネットワーク社会のルールとマナー 2 情報の安全性確保 p68~p71.
  情報に関する技術       情報モラル授業   .
マイクロソフト Access での SQL 演習 第5回 副問い合わせ
[あなたの研究対象] に関する クイズ [あなたの名前] [日付].
文章(事象)から数式を立式し,答えを求める
     年  月  日 名前 太郎 1 班.
     年  月  日 名前 太郎 x 班.
長崎大学工学部 情報システム工学科 「パターン認識」って・・・ 何? 宮原・喜安研究室.
マイクロソフト Access での SQL 演習 第4回 並べ替え(ソート)
Shimatterシステムの トップダウン分析
講義ノート共有データベース NoteTotter?
マイクロソフト Access を使ってみよう 第2回
健康の敵役は塩? 塩は,体の中で血液の成分として、いろいろな働きを担っています。 しかし、その塩もごくわずか (1日3g以下)しか
データベース設計 第4回 DBMSの機能と操作方法(1) Access入門
マイクロソフト Access を使ってみよう 第3回
マイクロソフト Access での SQL 演習 第2回 集計,集約
3.リレーショナルデータベース,主キー, SQL
Ex-11. ルックアップ 金子邦彦.
コンピュータにログイン 第1章 コンピュータにログイン 啓林館 情報A最新版 (p.6-13)
14.外部キー,データ分析,データベース設計
情報処理基礎A・B 坂口利裕 横浜市立大学・商学部
データベースシステム入門 10.データウエアハウス
データベース設計入門 初音玲.
データベース設計入門 初音玲.
今日は広告のポスターを調べます。.
リレーショナル・データベース J2EE I (データベース論) 第2回 /
磯野ー!そんなことより 正規化しようぜー!
ホームページを見ているだけで情報が通知される? ~Cookie編~
事例|いつも人の食事を… のぞむさんが通っている生活介護事業所「あじさい」では、11:00前くらいから ご飯の炊ける匂いとお味噌汁の香りがしてきます。昼食は業者にお願いして料理 は配達してもらいますが、「できるだけ家庭的な雰囲気を味わってもらいたい。」 そんな思いで、ご飯とお味噌汁だけは職員が毎日準備をしています。
~sumii/class/proenb2009/ml6/
データベース第3回目 意味ごとにテーブルを分ける
mi-5. プロダクションシステム 人工知能を演習で学ぶシリーズ(5)
今年の学年のルール 自分の名前をここに入力します.
Presentation transcript:

データベースシステム入門 9.従属,従属関係,第三正規形 https://www.kunihikokaneko.com/free/dbintro/index.html

「正規化」する方法を具体的に教えます ◆ 従属 ◆ 第三正規形 今から説明すること 「正規化」する方法を具体的に教えます ◆ 従属 ◆ 第三正規形

9-1 従属

従属の例 600 ラーメン 昼食の 名前 昼食の 料金 450 カレーライス 600 定食

従属の例 名前が決まれば,料金が分かる こんな性質が「正規化」の手掛かりに!(大事) 600 ラーメン 昼食の 名前 昼食の 料金 450 カレーライス 名前が決まれば,料金が分かる 600 こんな性質が「正規化」の手掛かりに!(大事) 定食

従属とは 従属とは、 あるデータ Xと別のデータ Yの関係性で、 「Xの値が1つで、Yの値は複数ある」ことが絶対起きないとき、「Y は X に従属する」という (例)バス料金は、(乗車地、降車地)に従属する ノートページ

従属の例 ◆ 学生の 氏名は、その学生の学生番号に従属する ◆ 昼食の料金は、名前に従属する ◆ 教室番号は、(科目名、教員名)に従属する

従属の例 ◆ 学生の 氏名は、その学生の学生番号に従属する 001 → 伊藤博文さん、002 → 坂本龍馬さん ◆ 学生の 氏名は、その学生の学生番号に従属する   001 → 伊藤博文さん、002 → 坂本龍馬さん ◆ 昼食の料金は、名前に従属する ラーメン → 600円、カレーライス → 450円、定食 → 600円 ◆ 教室番号は、(科目名、教員名)に従属する 英語入門, 徳川先生 → 101室 英語入門, 織田先生 → 201室 英語応用, 織田先生 → 101室

なぜ「従属」は大事なのか? 「従属」を調べると・・・ そのテーブルに異状が起きやすいのか、 起きにくいのか、事前に手がかりを得る ことができる

従属では「向き」が大事 ◆ 昼食の料金は、名前に従属する 料金が 名前が 定まる 分かれば ◆ 昼食の料金は、名前に従属する ラーメン → 600円、カレーライス → 450円、定食 → 600円 名前が 分かれば 料金が 定まる

従属では「向き」が大事 ◆ 昼食の料金は、名前に従属する 料金が 名前が 定まる 分かれば 逆ではない.料金が分かったからと言って、 ◆ 昼食の料金は、名前に従属する ラーメン → 600円、カレーライス → 450円、定食 → 600円 名前が 分かれば 料金が 定まる 逆ではない.料金が分かったからと言って、 名前が定まるわけではない

9-2 従属関係

テーブルの中の従属関係 ◆ 食堂のメニューは次の通り ◆ 各自の食事を次のように記録したとする うどん 250 そば カレーライス 400 名前 昼食 料金 Aさん そば 250 Bさん カレーライス 400 Cさん Dさん うどん

これだけではありません テーブルの中の従属関係 名前 昼食 料金 Aさん そば 250 Bさん カレーライス 400 Cさん Dさん うどん ◆ 料金は、昼食に従属する   昼食が分かれば、料金が定まる これだけではありません

テーブルの中の従属関係 名前 昼食 料金 Aさん そば 250 Bさん カレーライス 400 Cさん Dさん うどん 1人が一品しか食べないのならば ◆ 昼食は、名前に従属する   名前が分かれば、昼食が定まる ◆ 料金は、名前に従属する   名前が分かれば、料金が定まる

テーブルの中の従属関係 各自が一品しか食べないとき、このテーブルには、 3つの従属関係がある ◆ 料金は、昼食に従属する 名前 昼食 料金 Aさん そば 250 Bさん カレーライス 400 Cさん Dさん うどん ノートページ 各自が一品しか食べないとき、このテーブルには、 3つの従属関係がある ◆ 料金は、昼食に従属する ◆ 昼食は、名前に従属する ◆ 料金は、名前に従属する

9-3 第三正規形

データベースが壊れる データが壊れる、消える → バックアップ 不正アクセス → パスワードなど データが壊れる、消える  → バックアップ 不正アクセス       → パスワードなど 同時に複数の人が「書き込もう」としておかしくなる               → 同時実行制御 うっかりミスで、データベース内のデータが、おかしくなって、直し ようがないこと(異状)  → データベース設計の工夫で防ぐ

復習ページ 異状とは データベース内のデータが、おかしくなって、直 しようがないこと ※「異状」で正しい.「異常」の書き間違いではない 復習ページ 異状とは ※「異状」で正しい.「異常」の書き間違いではない データベース内のデータが、おかしくなって、直 しようがないこと このバスは無料です このバスは運賃1000円です

どっちがよいか? 情報は同じ どっちが正しいの? (異状) 会員番号 住所 注文した商品 100 福山市野上町4-3-2 りんご 101 福山市曙町1-2-3-4 みかん 福山市野上町4-3-12 ばなな こんなミスをしてしまいそう・・・ どっちが正しいの?  (異状) 情報は同じ 会員番号 住所 100 福山市野上町4-3-2 101 福山市曙町1-2-3-4 会員番号 注文した商品 100 りんご 101 みかん ばなな

復習ページ 従属の例 600 ラーメン 昼食の 名前 昼食の 料金 450 カレーライス 600 定食

みなさんへ質問 主キーはありますか? どれですか? 従属関係はありますか? どれですか? 会員番号 住所 100 福山市野上町4-3-2 101 福山市曙町1-2-3-4 会員番号 注文した商品 100 りんご 101 みかん ばなな みなさんへ質問  主キーはありますか? どれですか?  従属関係はありますか? どれですか?

! 「主キー」 = 同じ値が2回以上出てくることがあり得ない 会員番号 住所 100 福山市野上町4-3-2 101 福山市曙町1-2-3-4 会員番号 注文した商品 100 りんご 101 みかん ばなな 主キーなし ※ あえていえば、 「会員番号」と「注文した商品」 2つそろって主キーだと言えなくもない 主キーあり 会員番号 → 住所 (住所は会員番号に従属する) 従属関係なし ! 「主キー」 = 同じ値が2回以上出てくることがあり得ない 

主キーがないのに、従属関係がある、というのが問題を起こしています 会員番号 住所 注文した商品 100 福山市野上町4-3-2 りんご 101 福山市曙町1-2-3-4 みかん ばなな 主キーなし 会員番号 → 住所 (住所は会員番号に従属する) 主キーがないのに、従属関係がある、というのが問題を起こしています

第三正規形とは 次が成り立つようなテーブルのこと 従属関係があるとき、それは、主キーにのみ従属している ノートページ ※ 次のページに補足があります 

主キーなし ※ あえていえば、 主キーあり 「会員番号」と「注文した商品」 2つそろって主キーだと言えなくもない 会員番号 → 住所 100 福山市野上町4-3-2 101 福山市曙町1-2-3-4 会員番号 注文した商品 100 りんご 101 みかん ばなな 主キーなし ※ あえていえば、 「会員番号」と「注文した商品」 2つそろって主キーだと言えなくもない 主キーあり 会員番号 → 住所 (住所は会員番号に従属する) ⇒ 従属関係があるとき、主キー   に従属している 従属関係がない 従属関係がない場合は 「第三正規形」になっている と判定するルールです 「第三正規形」になっている

主キーなし 会員番号 → 住所 (住所は会員番号に従属する) ⇒ 従属関係があるのに、主キー でないフィールドに従属している 注文した商品 100 福山市野上町4-3-2 りんご 101 福山市曙町1-2-3-4 みかん ばなな 主キーなし 会員番号 → 住所 (住所は会員番号に従属する) ⇒ 従属関係があるのに、主キー   でないフィールドに従属している 「第三正規形」になっていない

第三正規形になっているか確認 正規化前は、 テーブルは1つで、 異状が起きやすい 正規化後は、 テーブルは複数で、 異状が起きにくい 名前 朝食 値段 A カレーライス 400 B うどん 250 C 名前 朝食 値段 A カレーライス 350 B うどん 250 C 400 正規化前は、 テーブルは1つで、 異状が起きやすい データベース の更新 名前 朝食 A カレーライス B うどん C 名前 朝食 A カレーライス B うどん C 正規化後は、 テーブルは複数で、 異状が起きにくい 朝食 値段 カレーライス 400 うどん 250 データベース の更新 朝食 値段 カレーライス 350 うどん 250

第三正規形になっているか確認 正規化前 各自が朝食に一品しか食べないとき、 ◆ 名前が、主キーである 3つの従属関係がある 料金 A カレーライス 400 B うどん 250 C 正規化前 各自が朝食に一品しか食べないとき、 ◆ 名前が、主キーである 3つの従属関係がある ◆ 料金は、朝食に従属する ◆ 朝食は、名前に従属する ◆ 料金は、名前に従属する ←第三正規形の条件違反 ←OK ←OK

第三正規形になっているか確認 正規化後 各自が朝食に一品しか 食べないとき、 ◆ 名前が、主キーである 従属関係がある A カレーライス B うどん C 朝食 値段 カレーライス 400 うどん 250 正規化後 各自が朝食に一品しか 食べないとき、 ◆ 名前が、主キーである 従属関係がある ◆ 朝食は、名前に従属する ◆ 朝食が、主キーである 従属関係がある ◆ 値段は、朝食に従属する ⇒ OK ⇒ OK