24
1 情報処理の登竜門 リレーショナルデータベースに対する 基本知識 データベースは、世界各地の兵数や武器に関する情報を集めてコンピュー タで管理していた「データ基地」を語源としている。

情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

1

情報処理の登竜門

リレーショナルデータベースに対する基本知識

データベースは、世界各地の兵数や武器に関する情報を集めてコンピュータで管理していた「データ基地」を語源としている。

Page 2: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

2

データベースの管理形態

本社

支社B 支社C

支社A

支社A本社

支社B

支社C

DBMS

共有データベース

本社用データベース

支社A用データベース

支社B用データベース

支社C用データベース

DBMS

共通データベース

DBMS

共通データベース

DBMS

共通データベース

DBMS

共通データベース

支社A

支社B

支社C

本社

整合性の確保

個別分散型データベース統合型データベース

分散・共有型データベース

DBMSの役割・物理的データ管理・各種問い合わせ処理・データの一貫性管理・機密保護・同時アクセス制御・障害修復処理

データベースが壊れても全体への影響は少ない

管理は楽だがデータベース障害が全体に影響

勝手に管理できるが、全体の整合性が取り難い

Page 3: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

3

データベース構造モデルとリレーショナルデータベースの3層スキーマ

個々のデータの関係を表現(抽象化)する為のモデル

データをデータベースに格納する時の視点

Page 4: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

4

リレーショナルデータベースの基本体系

レコードとも定義される

項目とも定義される

リレーショナルデータベースは関連(リレーション)を持った複数の表から構成されている

外部キーは、他の表との整合性を取る為に定義される

主キーは、表の中の行(レコード)を特定する為に定義される

外部キーは、他のテーブルの主キーでもある

Page 5: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

5

データベースの整理(正規化)の手順

何れかの項目を主キーとした場合(例えば、講座番号)、主キーに対する項目が繰り返して出現する形態を非正規化形式という

表を、一つの候補キー(行を特定可能なキー)により特定(行を特定)できる形式に分割します一つの表の中に一つの主

キーのみがあるテーブル

表中で重複した行(1項目n件形式)をなくし、独立した行(1行1件形式)とします

Page 6: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

6

講座Noと受講生Noを特定できるので、これらを主キーとすればデータベースとして活用することもできます。⇒データ格納上の無駄が発生します。

部分関数従属とは、候補キー(主キーとなりえるキー)が複数存在し、その各々の候補キーに対して従属する(特定される)項目が存在する形式です。講座Noに対する講座名や講座金額、及び、受講生Noに対する受講生名等を指します。

Page 7: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

7

③第3正規表現形

表の項目中に、主従の関係がある項目(講師番号、講師名)を抜き出して別表とします

講座金額 開講日

③第2正規形

特定の項目(主キー候補)に対応して必然的に特定される(部分関数従属関係)項目を分類して別の表にします。

受講生Noは、受講生個々人に個別に設定される講師Noは、講師個々人に個別に設定される受講生は、複数の異なる講座を受講できる講師は複数の異なる講座を担当できる

一つの項目で項目を特定できない場合は、複数の項目を組み合わせて主キーとします

Page 8: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

8

データの整合性確保の為に参照制約

講座表

受講表講師表

受講生表

Page 9: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

9

DBMSの提供するデータベースアクセス言語SQL

Page 10: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

10

データベースの定義の型と整合性定義

Page 11: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

11

定義構文(SQL-DDL)を使った表の定義

実表の定義 仮想表(ビュー表)の定義

Page 12: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

12

参考構文(DML)を使った表の検索(1)

講座金額が20万円以上で、講座No,

講座名、講師No,講師名を抽出する受講生に人数を抽出する

Page 13: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

13

参考構文(DML)を使った表の検索(2)

受講表

受講生区分毎の受講生人数を抽出する

受講生が5人以上の講座の、講座No

と人数を抽出する

Page 14: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

14

参考構文(DML)を使った表の検索(3)

受講Noが“001”を受講している受講者の名前を抽出する

Page 15: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

15

参考構文(DML)を使った表の検索(4)

2001年中に講座申し込みを行っていない受講生Noと受講生名を抽出する

Page 16: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

16

参考構文(DML)を使った表の検索(5)

指定された日(Hiduke変数に登録)に申し込みを行った受講生を抽出

Page 17: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

17

参考構文(DML)を使った表の検索(6)

講座表を、講座金額順(降順)に抽出する

申し込み日が“2001/12/1”~“2001/12/5”の行の項目を全て抽出する

2001年中に申し込みを行っていない受講生Noと受講生名を抽出する

Page 18: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

18

SQLその他の主な構文(データベース更新)

Page 19: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

19

SQLその他の主な構文(カーソルの定義)

Page 20: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

20

SQLの基本的な構文

Page 21: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

21

データベースの概念設計、物理設計に活用されるER図

Entity-Relationship Diagram

Page 22: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

22

DBMSにおける競合アクセスからのデータの保障

Page 23: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

23

DBMSにおける各種障害・回復処理

Page 24: 情報処理の登竜門5 データベースの整理(正規化)の手順 何れかの項目を主キーとした場合(例えば、講座 番号)、主キーに対する項目が繰り返して出現す

24

複数サイトからの同時書き込み要求に対するデータの保障を可能とする為のデータベース書き込み(コミット)制御

DBMSにおけるACID特性と2相コミットメント制御

DBMSのトランザクション処理で重要となるACID属性