データベース論

データベース論
朝日大学大学院
経営学研究科
奥山 徹
[email protected]
2006/05/22
データベース論(6回目)
1
講義日程
•
•
•
•
•
•
•
•
•
•
•
4月17日
4月24日
5月01日
5月08日
5月15日
5月22日
5月29日
6月05日
6月12日
6月16日
6月26日
2006/05/22
ガイダンスおよび集合論の基礎
リレーショナルデータベースの基礎
データ操作言語
データベースの論理設計
SQL(データベース操作言語)の基礎
データベース管理システム
データベースの内部スキーマ
質問処理とその最適化
トランザクション処理
分散データベース序説
定期試験
データベース論(6回目)
2
関係データベースの利点と欠点
• 利点
–
–
–
–
設計法が明確なので、誰もが同じ関係を設計できる
直観的に明瞭なデータ構造となる
数学的・論理的な基礎が明確である
ユーザ向きの簡単な問い合わせ言語が提供できる
• 欠点
– 直観的にデータ構造をつかみにくい
– 結合演算(join)を多用するために処理効率が悪い
– 関係としての形式的基礎は明確でも、もとの実体の意味が不
明確となる
– 必要となる関係を列挙しなければならないので、問い合わせが
複雑となる
2006/05/22
データベース論(6回目)
3
関係データベースで処理困難
な例(1)
• CADなどのエンジニアリングデータベー
ス
• オフィスオートメーション(OA)での情報
データベース
• 異種のデータを持つマルチメディアデータ
ベース
• 実験データを格納した科学データベース
2006/05/22
データベース論(6回目)
4
関係データベースで処理困難
な例(2)
• 遺伝情報配列を格納したデータベース
– GenBank(米国)
– EMBL(欧州)
– DDBJ(日本)
• GenBank(データ構造は次に示す)
– 共通データベースとして関係データベースを
推奨している
2006/05/22
データベース論(6回目)
5
GenBankのデータ構造(Release
60.0より抜粋)
ローカス名
定義
アクセス番号
セグメント
2006/05/22
名前
長さ
ストランド
分子型
形
日付
分類
年
月
日
総数
分割番号
データベース論(6回目)
6
関係データベース選択の理由
• データ構造が頻繁に変わるので、それを許容す
るモデルが欲しい
• データの利用法も変化するので、それに対応し
たアドホックな問い合わせが容易にできること
が望ましい
• 市販のデータベース管理システムで関係データ
ベースが最も簡単に入手できるので、国際協力
のプラットフォームとしてふさわしい
2006/05/22
データベース論(6回目)
7
GenBankの関係の構造
• 55個の関係に分割されている
• これらの関係間の関連は複雑
• 表現効率、処理効率、問い合わせの容易
さを犠牲にしている
• データ管理者側の都合を優先した
• アプリケーションが対象とするものをその
ままモデル化しないで、関係という断片に
分解してしまった
2006/05/22
データベース論(6回目)
8
2006/05/22
データベース論(6回目)
9
ANSI/X3/SPARC
• ANSI/X3/SPARC Study Group on Data Base Management
Systems
• ANSI: American National Standard Institute
• X3: Committee on Computers and Information Processing
• SPARC: Standards Planning and Requirements Committee
2006/05/22
データベース論(6回目)
10
ANSI/X3/SPARCの3層スキーマ
構造(再掲)
• データベースの取り扱うスキーマを次の3
つに分けて考える
– 外部(external)スキーマ:ユーザインターフェ
イス
– 概念(conceptual)スキーマ:データ構造の論
理的枠組み
– 内部(internal)スキーマ:ファイルシステムと
のインターフェイス
→データの独立性実現のための枠組み
2006/05/22
データベース論(6回目)
11
3層スキーマ構造の概念図(再掲)
アプリケーション
アプリケーション
データベーススキーマ
外部スキーマ
写像
実世界
表現
外部スキーマ
写像
概念スキーマ
写像
内部スキーマ
2006/05/22
データベース論(6回目)
12
管理者の定義
• 組織体管理者(enterprise administrator)
• データベース管理者(database administrator)
• アプリケーションシステム管理者(application
system administrator)
2006/05/22
データベース論(6回目)
13
処理機能1
•
概念スキーマプロセッサ(conceptual schema
processor)
•
内部スキーマプロセッサ(internal schema
processor)
•
外部スキーマプロセッサ(external schema
processor)
2006/05/22
データベース論(6回目)
14
処理機能2
• 外部/概念データベース変換(external/conceptual
database transform)
• 概念/内部データベース変換(conceptual/internal
database transform)
• 内部データベース/内部記憶変換(internal
database/internal storage transform)
2006/05/22
データベース論(6回目)
15
データ辞書
データ辞書(data dictionary/directory)
• データベースに関する情報の保管庫
(repository)
• メタデータベース(metadatabase)
2006/05/22
データベース論(6回目)
16
各種インターフェイス1
• インタフェース1
– 概念スキーマ記述‐ソース形式
• インタフェース2
– 概念スキーマ記述‐オブジェクト形式
• インタフェース3
– 概念スキーマ記述‐表示形式
2006/05/22
データベース論(6回目)
17
2006/05/22
データベース論(6回目)
18
各種インターフェイス2
• インタフェース4
– 外部スキーマ記述‐ソース形式
• インタフェース5
– 外部スキーマ記述‐オブジェクト形式
• インタフェース6
– 外部スキーマ記述‐ホスト言語フォーマット
2006/05/22
データベース論(6回目)
19
2006/05/22
データベース論(6回目)
20
各種インターフェイス3
• インタフェース7
– 外部データ操作言語‐ソース形式
• インタフェース8,9,10,11
– エンドユーザ機能
• インタフェース12
– 外部データ操作言語‐システム形式
2006/05/22
データベース論(6回目)
21
2006/05/22
データベース論(6回目)
22
各種インターフェイス4
• インタフェース13
– 内部スキーマ記述‐ソース形式
• インタフェース14
– 内部スキーマ記述‐オブジェクト形式
• インタフェース15
– 内部スキーマ記述‐表示形式
2006/05/22
データベース論(6回目)
23
2006/05/22
データベース論(6回目)
24
各種インターフェイス5
• インタフェース16
– 内部データ操作言語‐ソース形式
• インタフェース17
– 内部データユティリティ‐制御言語
• インタフェース18
– 内部データ操作言語‐オブジェクト形式
2006/05/22
データベース論(6回目)
25
2006/05/22
データベース論(6回目)
26
各種インターフェイス6
• インタフェース30
– 内部データ操作言語‐システム形式
• インタフェース31
– 概念スキーマ操作言語‐システム形式
2006/05/22
データベース論(6回目)
27
2006/05/22
データベース論(6回目)
28
各種インターフェイス7
• インタフェース33
– データベース管理システム指定言語(specification
language)
• インタフェース34 ‐ 38
– データ辞書インタフェース
• インタフェース39
– データベース輸送インタフェース(transportability)
• インタフェース40
– データベース管理システム規定言語‐オブジェクト形
式
2006/05/22
データベース論(6回目)
29
2006/05/22
データベース論(6回目)
30
2006/05/22
データベース論(6回目)
31
概念スキーマ
• 実世界の写し絵であるデータベースの構
文的 (syntactic)・意味的(semantic)構造を記述
したもの
• 実世界のデータモデリングの結果得られ
る実世界の“概念的”モデル
2006/05/22
データベース論(6回目)
32
内部スキーマ
• データベースを実装(implement)するコン
ピュータ上でのデータベースの構文的・意
味的構造
• 概念スキーマ/内部スキーマ変換
(conceptual/internal transformation)
2006/05/22
データベース論(6回目)
33
外部スキーマ
• ユーザの目的に即したデータベース空間
を記述したスキーマ
• ビュー(view)の集まり
• 外部スキーマ/概念スキーマ変換
(external/conceptual transformation)
2006/05/22
データベース論(6回目)
34
2006/05/22
データベース論(6回目)
35
2006/05/22
データベース論(6回目)
36
選択ビュー(selection view)
2006/05/22
データベース論(6回目)
37
和ビュー(union view)
2006/05/22
データベース論(6回目)
38
2006/05/22
データベース論(6回目)
39
2006/05/22
データベース論(6回目)
40
2006/05/22
データベース論(6回目)
41
DBMSの三大機能
• メタデータ管理
– システムカタログ(system catalog)
• 質問処理
– 質問処理の最適化(query optimization)
• トランザクション管理
– 障害時回復(recovery)と同時実行制御(concurrency)
2006/05/22
データベース論(6回目)
42
2006/05/22
データベース論(6回目)
43
まとめ
• リレーショナルデータベースの利点と欠点
• データベース管理システム
– ANSI/X3/SPARCモデル
– 各種インターフェイス
– 内部及び外部スキーマ
• ビュー
• RDBMSの基本機能
2006/05/22
データベース論(6回目)
44
レポート課題(六回目)
• レポート課題
– DBMSはANSI/X3/SPARCの3層スキーマとは何
か?名称を記すとともに、DBMSとの関連を含めて
完結に説明せよ。
• 締め切り:6月5日タイムスタンプ有効にて電子
メールで
– メールアドレス:[email protected]
– サブジェクト:データベース論第六回課題
– 本文の最初に必ず学籍番号、氏名を記入
2006/05/22
データベース論(6回目)
45