データベース工学

データベース工学
•
•
•
•
•
•
•
•
•
データベースとは
データモデル
関係データベースとSQL
物理データベース編成とインデクス
トランザクション処理 と リカバリ
問合せ処理と最適化
データマイニング&WEBマイニング
Web情報検索
データウエアハウス・OLAP
講義の予定(2006)
http://www.tkl.iis.u-tokyo.ac.jp:8080/Lecture/material/DB01.pdf
休講
第1回
第2回
第3回
未定
第5回
休講
第7回
第8回
第9回
第10回
休講
第11回
第12回
第13回
第14日
4月11日
4月18日
4月25日
5月 2日
5月 9日
5月16日
5月23日
5月30日 Yahoo講演
6月 6日
6月13日
6月20日
6月27日
7月 4日
7月 11日
7月 18日
7月 25日(休み?)
Google 講演
Yahoo Japan講演
1.データベースとは?
• データベースは至る所で利用されている
– ビジネスDB,製造業、銀行・証券、航空・鉄道、
特許、図書館、医療カルテ、法律、CRM、ゲノム
• データベースとは?
– 関連するデータの集まり
– A collection of related data
データベースの種々の側面
• Complexity
– 定型レコード vs. OO(CAD,CAM,蛋白)
• Volume
– G,T,P,E,..
• Media
– テキスト、画像、図形、音声、動画 etc.
• Mobility
• Centralized vs. Distributed
• Homogeneous vs. Heterogeneous
– Federated DB, Multi-Database
• General Purpose vs. Special Purpose
• Main Memory Database
– MM, Secondary Storage, Tertiary Storage
Data Base Management System
(DBMS)
データベースを作成
し、維持する為の
プログラム群
USER
Application Program
DBMS
Query Processor
Access Method
Meta Data
Data Base System
Database
How different from File System?
• File System
– AP毎のファイル(AP内にデータ定義)
– 冗長性
• 記憶効率の低下
• Inconsistency
• Database System
– データの一元管理
– 多数のユーザによる共用
データベースシステムの特徴
• データ独立
• 3層スキーマ(View支援)
• Transaction支援
Data Independence(データ独立)
• Program-Data Independence
– External Scheme & Conceptual Scheme
• Logical/Physical Data Independence
– Conceptual Scheme & Internal Scheme
• Program-Operation Independence
– O-O
3層スキーマ
• External Scheme(外部スキーマ)
– View支援
• Conceptual Scheme(概念スキーマ)
• Internal Scheme(内部スキーマ)
3層スキーマ
External View
External View
Conceptual Scheme
Internal Scheme
External View
Transaction 管理
• ACID
–
–
–
–
Atomicity
Consistency
Isolation
Durability
• データ共有時における一貫性の維持
Merits and Demerits
• Merits
– Reduced Application Development Time
No care for Concurrency Control, Access Method
Recovery, Integrity Checking
– Flexibility by Shared View ← Data Independence
• Demerits
– Needs more power
DBA
DDL
Casual
Programmer
AP
Query
preprocessor
Dictionary
DDLcompiler Catalog
Query Compiler
DML
Host Lang.
DMLcompilerCompiler
Compiled Transaction
Concurrency Cont
Backup/Recovery
Access Methods
Run Time
Processor
DB
2. データモデル
• Data Model is a set of concepts that can be
used to describe the structure of database
– Data type, relationship, constraint
• High Level Data Model
– Entity Relationship Model
• Entity: 実体(real world object, concept)
– Eg. Employee, Project
• Attribute:entitityを記述する属性
• Relationship:entity間の関係
• Representational Data Model
–
–
–
–
–
Relational Model
Network Model
Hierarchical Model
OO Model
OR Model
Scheme and Instance
• Scheme
– Student[name, id, address, phone#]
• Instance
– [鈴木大地、0011, 神奈川県横浜市、0903223333]
• Database State = set of instances
ER-model
• Entity-Relationship Model
– Popular conceptual data model
– Database design tool で広く利用