データベース論

Download Report

Transcript データベース論

データベース論
朝日大学大学院
経営学研究科
奥山 徹
[email protected]
2006/04/24
データベース論(2回目)
1
講義日程
•
•
•
•
•
•
•
•
•
•
•
4月17日
4月24日
5月01日
5月08日
5月15日
5月22日
5月29日
6月05日
6月12日
6月16日
6月26日
2006/04/24
ガイダンスおよび集合論の基礎
リレーショナルデータベースの基礎
データ操作言語
データベースの論理設計
SQL(データベース操作言語)の基礎
データベース管理システム
データベースの内部スキーマ
質問処理とその最適化
トランザクション処理
分散データベース序説
定期試験
データベース論(2回目)
2
データの収集・蓄積・利用(再掲)
データ
実世界
アクセプタ
編集
加工
蓄積
要求
処理
ユーザ
データ要求
データの収集
2006/04/24
データ(フィードバッ
ク)
データの蓄積
データの利用
データベース論(2回目)
3
データと情報(再掲)
「新データベース論」より
• データ:人間または自動的手段によって
行われる通信、解釈、処理に適するよう
に形式化された事実、概念または指令の
表現
• 情報:データを表現するために用いた約
束に基づいて、人間がデータに割り当て
た意味
2006/04/24
データベース論(2回目)
4
歴史
• 1963年:IDS(Integrated Data Store),
Honeywellが嚆矢
• 1970年ころまで:主要な3つのデータモデル(階
層型、ネットワーク型、関係型)が出揃う
• 1970年代後半:演繹データベース、オブジェクト
指向データベース
• 1980年代後半:インターネット時代のデータベー
ス(大規模分散化)
• 現在:検索エンジンの隆盛(全文検索、データマ
イニング)
2006/04/24
データベース論(2回目)
5
データベースとDBMS
• データベース→複数の人あるいはアプリケー
ションが共同利用することを目指して組織的に
集める 永続的なデータの集まり
永続性
Persistency
共有性
Sharing
スキーマ
Schema
• データベースを管理すソフトウェアシステム
→DBMS(Database Management System)
2006/04/24
データベース論(2回目)
6
永続性(Persistency)
• 広義:データの生存時間(Life Time)
• 狭義:アプリの実行中はその値が保存される
• 一般のアプリケーション
アプリケーションの
実行中に値が設
定される
A.date
2002/04/19
アプリケーションの ファイルに
保存
終了ととものこの
値は消滅する
• データベース
アプリケーションのが
データベースのフィー
ルドの値を変更する
2006/04/24
A.date
2002/04/19
データベース論(2回目)
アプリケーションが終了
してもデータベース内
のフィールドの値は保
存される
7
ファイルとデータベース
• ファイル:特定のアプリケーションでの利用を想
定した特殊なレコード形式をもつデータ保存ユ
ニット
– たとえば、MS-WORDのファイル(x.doc)
• データベース:アプリケーションとは独立に存在
し(共有性、データの独立性)、レコード形式が
データベースのスキーマ(後述)により決定され
ている
– 永続性だけ見ればファイルとデータベースは大差な
い
2006/04/24
データベース論(2回目)
8
共有性(Data Sharing)
• 同じデータを複数のアプリケーションで使用する
– ファイルは特別のアプリケーション用にデータ構造が
最適化される→他のアプリケーションに利用する際
のオーバヘッド
– 共有されるべきデータと特有なデータの取り扱いの
問題
– 同時アクセスによるファイルの更新矛盾の問題
• データベースはこれらの問題を解決するために
データを統一管理する枠組みを与える
2006/04/24
データベース論(2回目)
9
スキーマ(Schema)
• データベースの論理構造
• 格納すべきデータの表現(属性、型、一貫
性制約など)を定義するメタデータ
• 複雑な実世界のデータをいかに自然に表
現するかが問題
2006/04/24
データベース論(2回目)
10
データベースの利点
•
•
•
•
•
•
•
•
•
データの冗長性の除去
データの一致性の確保
データの共有化
データ構造の標準化
データの機密保護
データの一貫性の確保
各種の要求のバランス化
大量データの効率的管理
高機能言語によるアプリケーション作成の容易化
2006/04/24
データベース論(2回目)
11
データベースの問題点
•
•
•
•
•
データベースの巨大化
設計の難しさ
ソフトウェアの巨大化
データベース管理者
障害対応とセキュリティ
2006/04/24
データベース論(2回目)
12
データの独立性
(Data Independency)
• アプリケーション間の独立性
– 異なったアプリケーションに対し、同一データ
の異なった処理を可能とする
• データとアプリケーション間の独立性
– 要求条件の変化に応じて、アプリケーション
に影響を与えることなく、データの格納方法
などを変更できる
2006/04/24
データベース論(2回目)
13
ANSI/X3/SPARCの3層スキーマ
構造
• データベースの取り扱うスキーマを次の3
つに分けて考える
– 外部(external)スキーマ:ユーザインターフェ
イス
– 概念(conceptual)スキーマ:データ構造の論
理的枠組み
– 内部(internal)スキーマ:ファイルシステムと
のインターフェイス
→データの独立性実現のための枠組み
2006/04/24
データベース論(2回目)
14
3層スキーマ構造の概念図
アプリケーション
アプリケーション
データベーススキーマ
外部スキーマ
写像
実世界
表現
外部スキーマ
写像
概念スキーマ
写像
内部スキーマ
2006/04/24
データベース論(2回目)
15
データベース vs 情報検索システム
• データベース:「組織的に集めたデータの
集まり」→DBMSが管理する
• 情報検索システム:有益なデータを電子
化して、必要に応じて提供する→「情報検
索のためのデータベース」
• 2つは共通している部分が多い
• 要求条件が異なるので、別の分野として
扱われることが多い
2006/04/24
データベース論(2回目)
16
情報検索のためのデータベース
• 専用化(DBMSを用いないことが多い)=ファイ
ルの集まり
• 構造の独自性(データモデルを用いない)
• 挿入頻度:多 更新頻度:少
• 共有性は重視されない
2006/04/24
データベース論(2回目)
17
データベースと周辺システム
データベース
管理システム
オンライン
トランザクション
処理システム
2006/04/24
情報検索
システム
データベース論(2回目)
18
基本概念
•
•
•
•
データモデル
データ操作(含むトランザクション)
DBMS
最新データベース事情
2006/04/24
データベース論(2回目)
19
データモデルリング
• DBMS(後に詳述)を特徴付けるもの
– スキーマ(論理構造)
– データモデルリング(Data Modeling)
• データモデルリング
– 論理モデル
• データ定義(Data Definition)
• データ操作(Data Manipulation)
• 一貫性制約(Integrity Constraint)
– 概念モデル
2006/04/24
データベース論(2回目)
20
概念モデルと論理モデル
概念モデル
記述言語
実世界
アクセプタ
概念モデリング
記号系
概念
モデル
データモデル
論理モデリング
記号系
論理
モデル
データベース設計者
2006/04/24
データベース論(2回目)
21
概念モデル
• 実世界のデータ構造に対するデーベース設計
者による記述形式
• 概念モデル記述言語
–
–
–
–
実体-関連モデル(Entity-Relationship Model)
意味データモデル(SDM:Semantic Data Model)
CADモデル(Computer Aided Design Model)
知識表現言語(Knowledge Representation
Language)
– オブジェクト指向モデル(Object-oriented Model)
– 自然言語(Natural Language)
2006/04/24
データベース論(2回目)
22
実体-関連(E-R)モデル
営業所名
伝票番号
実体
属性
取引先名
日付
1
受注
関連
合計
1
伝票番号
内訳
値引
明細番号
N
受注明細
値引率
商品名
1
記載
1
N
商品
営業所名
商品名
定価
個数
単価
金額
商品カテゴリ
2006/04/24
データベース論(2回目)
23
論理モデル
• 概念モデルを実際のデータベースへ実装可能
なようにする記述形式
• データモデル(Data Model)
– 階層モデル(Hierarchical Model)
– ネットワークモデル(Network Model)
– 関係モデル(Relational Model)
2006/04/24
データベース論(2回目)
24
階層モデル
• 1968年:IBMのIMS(Information Management
System)において実装されたモデル
• 親レコードと子レコードを木(Tree)状となるように
ポインタで結合
G1 カラーテレビ 56,000
C1
C2
2006/04/24
S電気商会
Xマート
25
18
G2 DVDプレーヤ 83,000
C2
Xマート
C3 Nネット販売
データベース論(2回目)
10
5
25
ネットワークモデル
• 1963年:IDSで採用されたモデル、CODASYL
が標準規格を提案(DBTGネットワークモデル)
• レコード間を網状にポインタで結合
G1 カラーテレビ 56,000
25
C1
2006/04/24
S電気商会
G2 DVDプレーヤ 83,000
18
C2
10
Xマート
データベース論(2回目)
5
C3 Nネット販売
26
関係モデル
• 1970年:IBMのコッドにより提案されたモデル
• 集合論に基づいて作成されたモデル( See:知識
情報数学資料 http://www.dsl.gr.jp/~okuyama/lecture/2001/tut/kim/)
• 数学的なリレーションに対応して表で表現
2006/04/24
データベース論(2回目)
27
関係モデル(2)
商 品
顧 客
商品番号
商品名
価 格
顧客番号
顧客名
G1
カラーテレビ
56,000
C1
S電気商会
G2
DVDプレーヤ
38,000
C2
Xマート
C3
Nネット販売
納 品
商品番号 顧客番号
数 量
G1
C1
25
G1
C2
18
G2
C2
10
G2
C3
5
2006/04/24
データベース論(2回目)
28
データ言語
• データ定義言語(Data Description Language:
DDL):データ定義のための言語
• データ操作言語(Data Manipulation
Language:DML):データ操作を記述する言語
– データの検索
– データの更新(ただし、検索してから更新)
→問い合わせとも呼ぶ
2006/04/24
データベース論(2回目)
29
データ操作とトランザクション
• データ操作の基本単位→トランザクション
(Transaction):一連の関連する操作をまとめて処理す
る
• トランザクションの原始性(Atomization):トランザクショ
ン内のすべての操作は有効(コミット)か無効(アボート)
かの二者択一
• 同時実行制御(Concurrency Control):複数のトランザ
クションを無矛盾に実行できるように制御する→トラン
ザクションの直列化(Serialization)
• 障害回復(Recovery):トランザクション実行中にエラー
が起きた場合元に戻す必要がある→ロールバック(Roll
Back)
2006/04/24
データベース論(2回目)
30
同時実行制御の必要性
•
たとえ次の2つの処理を逐次実行する
1.
2.
•
データ100に対して
–
–
•
データに10を加える
データを1.1倍する
上の順番で実行:100+10=110×1.1=121
逆転すると:100×1.1=110+10=120
データベースの更新:読み出してから書き込
むので平行して実行すると正しい結果となら
ないときがある
2006/04/24
データベース論(2回目)
31
DBMS
• ユーザとデータベースのインターフェイスシステ
ム
• DBMSの機能
– メタデータ(Metadata)管理
– 質問処理(Query Processing)
– トランザクション管理
2006/04/24
データベース論(2回目)
32
これからのデータベース
関係モデル
実体-関連モデル
非正規関係モデル
意味データモデル
演繹データベース
複合オブジェクトモデル
オブジェクト指向データベース
演繹オブジェクト指向データベース
2006/04/24
データベース論(2回目)
33
2006/04/24
データベース論(2回目)
34
2006/04/24
データベース論(2回目)
35
2006/04/24
データベース論(2回目)
36
2006/04/24
データベース論(2回目)
37
2006/04/24
データベース論(2回目)
38
2006/04/24
データベース論(2回目)
39
2006/04/24
データベース論(2回目)
40
2006/04/24
データベース論(2回目)
41
2006/04/24
データベース論(2回目)
42
2006/04/24
データベース論(2回目)
43
2006/04/24
データベース論(2回目)
44
2006/04/24
データベース論(2回目)
45
2006/04/24
データベース論(2回目)
46
2006/04/24
データベース論(2回目)
47
2006/04/24
データベース論(2回目)
48
2006/04/24
データベース論(2回目)
49
2006/04/24
データベース論(2回目)
50
まとめ
• データベースに関する基礎概念の確認
• 実世界とデータベースの関係を考える
– データモデリング
– データベース管理システム
• これからのデータベース像の要約
• リレーショナルモデルの概要
• レポート課題
– データベースを構築することで、具体的にどのようなメリットがあるか。
各自ポイントを絞って説明せよ
– データモデリングの過程を説明せよ
• 締め切り:5月9日タイムスタンプ有効にて電子メールで
– メールアドレス:[email protected]
– サブジェクト:データベース論第二回課題
– メール本文:必ず学籍番号、氏名を記入
2006/04/24
データベース論(2回目)
51