3. ER 図,関連,異状, テーブル分解

499 Views

January 12, 22

スライド概要

リレーショナルデータベースの基本(スライド資料とプログラム例)
https://www.kkaneko.jp/de/ds/index.html


ds-1. データベースとは,データベースシステムとは,情報とデータ
ds-2. SQL,SQL のデータ型,テーブル定義,問い合わせ(クエリ)
ds-3. ER 図,関連,異状, テーブル分解
ds-4. 問い合わせ(クエリ)
ds-5. 集計・集約
ds-6. 並べ替え(ソート)
ds-7. 結合
ds-8. データベースの異状,分解と結合
ds-9. 主キー,参照整合性制約,従属
ds-10. 中間まとめ,データベースの応用,データベースの種類
ds-11. SQL のIN,副問い合わせ
ds-12. データベースの AND,OR,NOT
ds-13. データベース操作,トランザクション,リカバリ,ロック,同時実行制御
ds-14. 従属,正規形,正規化
ds-15. さまざまなデータベース

YouTube 再生リスト「リレーショナルデータベースの基本」
https://youtube.com/playlist?list=PLwoDcGBEg9WGKPP6dExr8DcUf9nV2kYGD

金子邦彦研究室ホームページ:
https://www.kkaneko.jp/index.html

profile-image

金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

3. ER 図,関連,異状, テーブル分解 URL: https://www.kkaneko.jp/de/ds/index.html 金子邦彦 謝辞:この資料では「いらすとや」のイラストを使用しています 1

2.

データベースシステム データベースシステム = データベース + データベース管理システム 2

3.

リレーショナルデータベースシステムの利用 データベース生成,テーブル定義,テーブル生成 • その使い方は,標準化されている • リレーショナルデータベースシステムでは,「良 い設計」,「良くない設計」の見極めを行う技術 がある 3

4.

アウトライン 番号 項目 説明時間の 目安 3-1 ER図 11分 3-2 テーブル間の関連 4分 3-3 一対多の関連 2分 3-4 多対多の関連 3分 3-5 リレーショナルデータベースの異状 7分 3-6 テーブル分解による異状の防止 8分 4

5.

今日の内容 • リレーショナルデータベースの全体像の図示 ⇒ ER 図 • 関連: 一対一,一対多,多対多 • 異状: データベースシステムの故障ではない. • データが「おかしな状態」になり,しかも,修復できない状態 になること • 1つのテーブルを、複数のテーブルに分解することで、異状を 防止できる場合がある. 5

6.

3-1. ER図 URL: https://www.kkaneko.jp/cc/ds/index.html 金子邦彦 謝辞:この資料では「いらすとや」のイラストを使用しています 6

7.

リレーショナルデータベースシステム データベースシステムの一種 コンピュータ 記憶 装置 リレーショナル リレーショナル データベース データベース 管理システム たくさんのテーブルが格納される あわせて リレーショナルデータベースシステム 7

8.

テーブルの例 テーブル名:社員 テーブル名:部 ID 氏名 住所 所属 ID 部名 所在地 1 x aaa 1 1 XX AAAAA 2 y bbb 2 2 YY BBBBB 3 z ccc 1 x と z は,XX に所属 y は,YY に所属 テーブル名:商品 ID 1 2 3 商品名 みかん りんご メロン 単価 50 100 500 8

9.

ER図 • ER図は,リレーショナルデータベースの全体像 (テーブルの属性、テーブル間の関連など)の図 示法 リレーショナル データベース ER図 9

10.

ER図の書き方 テーブル名, 属性名, 主キーの指定を書く (主キーは別の回で 説明予定) 書き方 1対多 ER図 多対多 縦線は 「1」 の印 ひげは「多」 の印 • IE記法の ER図(ER図にはさまざまな記法あり) 10

11.

オンラインで ER図の作図ができるサイトの紹介 https://app.diagrams.net/ • ER図,その他さまざまなチャートを作成できるオ ンラインのサイト • 画像(PNG, JPEG など)、PDFファイル形式、 XML形式でのエクスポート機能も. 11

12.

3-2. テーブル間の関連 URL: https://www.kkaneko.jp/cc/ds/index.html 金子邦彦 12

13.

テーブル間の関連 • テーブルは互いに「関連」しあっている テーブル名:部 テーブル名:社員 1対多 テーブル名:商品 多対多 x と z は,XX に所属 y は,YY に所属 • テーブル社員の複数行が,テーブル部の1行と関 連 • テーブル部の複数行が,テーブル商品の複数行と 関連 13

14.

関連の種類 • 一対一 テーブルの1行が,別のテーブルの1行と関連 • 一対多 テーブルの1行が,別のテーブルの複数行と関連 • 多対多 テーブルの複数行が,別のテーブルの複数行と関連 14

15.

3-3. 一対多の関連 URL: https://www.kkaneko.jp/cc/ds/index.html 金子邦彦 15

16.

1対多のイメージ 複数のオブジェクト 16

17.

1対多のイメージ 部 社員 ID 氏名 住所 所属 ID 部名 所在地 1 x aaa 1 1 XX AAAAA 2 y bbb 2 2 YY BBBBB 3 z ccc 1 17

18.

1対多のイメージ 社員 部 一対多 の関連 ID 氏名 住所 所属 ID 部名 所在地 1 x aaa 1 1 XX AAAAA 2 y bbb 2 2 YY BBBBB 3 z ccc 1 18

19.

3-4. 多対多の関連 URL: https://www.kkaneko.jp/cc/ds/index.html 金子邦彦 19

20.

多対多のイメージ 複数のオブジェクト 20

21.

多対多のイメージ 商品 部 ID 部名 所在地 1 XX AAAAA 2 YY BBBBB ID 1 2 3 商品名 みかん りんご メロン 単価 50 100 500 21

22.

多対多のイメージ 多対多 部 の関連 ID 部名 所在地 1 XX AAAAA 2 YY BBBBB 部 商品 1 1 1 2 ID 2 1 1 2 3 2 多対多の関連情報 を扱うための追加 3 テーブル 商品 商品名 みかん りんご メロン 単価 50 100 500 22

23.

3-5. リレーショナルデータベー スの異状 URL: https://www.kkaneko.jp/cc/ds/index.html 金子邦彦 謝辞:この資料では「いらすとや」のイラストを使用しています 23

24.

異状とは • データベースで,一番困ることは何でしょうか? データベース内のデータが、 ◆ つじつまの合わない状態 あるいは ◆ 記録したいデータが記録できない状態 になり、しかも、修復できない状態に陥ること = 異状という(「異常」の書き間違いではない) 私の見解:異状が一番困る 24

25.

異状の例 このバスは無料です このバスは運賃1000円です 25

26.

異状が起きやすいリレーショナルデータベースの例 名前 A B C 朝食 カレー ライス うどん カレー ライス テーブル 値段 400 250 400 • カレーライスは、400円 • うどんは、250円 • Aさんはカレーライスを食べた • Bさんはうどんを食べた • Cさんはカレーライスを食べた 情報 26

27.

異状が起きやすいリレーショナルデータベースの例 情報の更新 名前 A B C 朝食 カレー ライス うどん カレー ライス テーブル カレーライスが 400円から 350円に値下げ 350 値段 • カレーライスは、400円 400 350 • うどんは、250円 250 • Aさんはカレーライスを食べた 400 • Bさんはうどんを食べた 350 • Cさんはカレーライスを食べた 情報 27

28.

異状が起きやすいリレーショナルデータベースの例 情報の更新 名前 A B C 朝食 カレー ライス うどん カレー ライス カレーライスが 400円から 350円に値下げ 値段 400 250 400 350 書き換え忘れして しまうかも! テーブル 28

29.

異状が起きやすいリレーショナルデータベースの例 情報の更新 名前 A B C 朝食 カレー ライス うどん カレー ライス テーブル カレーライスが 400円から 350円に値下げ 値段 400 250 350 異状が起きている ◆朝食の値段が1つのはずなの に、違った値段が記録 されていてつじつまが合わない 29

30.

3-6. テーブル分解による 異状の防止 URL: https://www.kkaneko.jp/cc/ds/index.html 金子邦彦 30

31.

テーブル分解 テーブル 分解 テーブル テーブル 31

32.

テーブルと ER図(分解前) 名前 A B C 朝食 カレー ライス うどん カレー ライス 値段 400 250 400 テーブル ER図 32

33.

分解前のテーブルは,異状が起きやすい 名前 A B C 朝食 カレー ライス うどん カレー ライス 値段 400 テーブル 250 350 異状が起きている ◆朝食の値段が1つのはずなの に、違った値段が記録 されていてつじつまが合わない 33

34.

テーブル分解 名前 A B C 朝食 カレー ライス うどん カレー ライス 名前 A B C 値段 400 250 400 分解 朝食 カレーライス うどん カレーライス 朝食 カレーライス うどん 値段 400 250 分解後、情報は失わ れていない 34

35.

テーブルと ER図(分解後) 名前 A B C 朝食 カレーライス うどん カレーライス 朝食 カレーライス うどん 値段 400 250 ER図 テーブル 35

36.

分解後のテーブルは,異状が起きやすい カレーライスが 名前 A B C 朝食 カレーライス うどん カレーライス 朝食 カレーライス うどん 400円から 350円に値下げ 異状はない 値段 350 250 テーブル 36

37.

設計変更による異状の防止 名前 A B C 朝食 値段 情報は カレー 400 350 同じ ライス うどん 250 カレー 400 350 ライス 異状が起きやすいデータベース 名前 A B C 朝食 カレーライス うどん カレーライス 朝食 値段 カレーライス 400 350 うどん 250 カレーライスの値下げのとき、 異状が起きにくいデータベース 片方を書き忘れると → 異状 37

38.

1つのテーブルを、複数のテーブルに分解す ることで、異状の防止ができる場合がある. 38