Document

2章 データモデルの概念
p.15-36
1組
051018
1
2.1 データモデル
P16~17
経営情報学科
H102065 高埜 直樹
H102086 外松 真一
2
データモデルとは
• 現実世界に存在する
データをデータベースと
してコンピューターで扱
えるようにするために
データを写し取る手段。
• 写し取った結果を指
す。
3
データモデルを考えるために
• 人が現実世界の中で
見たり
考えたり
注目することが必要。
• それらを論理的に
整理
どう抽象化
表現するかということが必要。
4
モデル
• 人は、現実世界で
・知覚したことに
・論理的な解釈
・想像したことを他の人に伝える
・相互によって理解
• 抽象化し表現=モデル
5
モデルの例
•
•
•
•
•
人と人とのコミュニケーションで使われる
表現モデル
言葉
絵
音楽
写真
言葉では、日本語、英語、フランス語など多
様な表現モデルが存在。
6
人の解釈・抽象化の行動の面から
モデルをとらえる
データモデルは
• 現実社会のデータに着目
• 人間が解釈・抽象化
• コンピューターに実行させるために用いるモ
デル
現実世界のデータ
「複数の処理目的で共用できるように、相互に
関連付けされた冗長のないデータの集まり」
7
• データモデル
データを
• 記述
• 検索
• 更新
• 操作の手段を提供するのがということになる。
• データモデルにも様々なモデルがある。
• 現実世界のデータをどのように解釈・抽象化す
るかでデータの見方・考え方が異なる。
8
データモデル
どのような目的に利用するかによって
• 解釈
• 抽象化
が異なる。
・データモデルの発展は
利用要求に対してデータの
解釈、抽象化
重点をどこに置いてきたか?
という歴史である。
9
階層データモデル
ネットワークデータモデル
関係データモデル
10
階層データモデル、ネットワークモデ
ル1
• 1960年代から1970年代では・・・
初期のデータモデルとして、
・データの階層関係に着目して表現する
→階層データモデル
・データの関連をさらに階層だけでなく網(ネット
ワーク)構造で表現する
→ネットワークデータモデル(あるいは網構
造形ネットワーク)
の二つが登場した。
11
階層データモデル,ネットワークデータモデ
ル2
• これらに基づくDBMSが商用化され
・サービス業における予約業務
・流通業における受発注・在庫管理
・製造業における生産管理
・金融業における元帳管理など・・・
さまざまな定型的な業務処理を行う情報システ
ムで使われるようになった。
• これらのデータモデルは1980年代ではオンライ
ンの大規模なデータベースで適用され、現在も
12
使われている。
関係(リレーショナル)データモデル
• 一方で、1970年代にはデータを表で表現する関係(リ
レーショナル)データモデルが提案され、注目されてき
た。
• 1980年代になりこの関係データモデルに基づく
DBMSは・・・
・意思決定などの情報系の情報システムで使用。
→今日ではオンラインの定型的な業務処理を行う情
報システムでも使われるようになった。
• この関係データモデルはデータの処理の柔軟性が高
く最も普及されているデータモデルとなっている。
13
オブジェクト指向データモデル
• データだけでなくデータとその振る舞いをモデ
ル化するオブジェクト指向データモデル。
• 1990年代ではオブジェクト指向モデルがデー
タとソフトウェアの共有や再利用性を向上さ
せるという観点から注目され、それに基づく
DBMSの商用化や標準化の活動が行われて
いる。
• オブジェクト指向を関係データモデルに取り
入れたオブジェクト関係データベースも標準
化や商用化が進められている。
14
データベース論
テキストP18~P21のプレゼンテーション
発表日:平成16年10月20日(水)
〔改訂版〕
H102137 山田 雄大
H102021 大島 翔太
15
データモデルの基本3要素
• データ構造
現実世界のデータの性質や
関連を表すための表現規則
• データ操作
検索や更新などの操作規則
• 整合性制約
データを正しい状態に保つための
制約条件
誤ったデータ入力を防ぐための
規則
16
データベース言語
• データモデルの記述要素
– データ定義言語
• データ構造と整合性制約の記述要素
• スキーマ=データ定義言語でデータ構造と
整合性制約を記述したもの
– データ操作言語
• データ操作の記述要素
17
データモデル機能と応用データモデル
• データモデル機能
(手段としてのデータモデル)
• 階層データモデル、ネットワークデータモデル、
関係データモデル
• 対応するデータベース=階層データベース、
ネットワークデータベース、関係データベース
• 応用データモデル
(結果としてのデータモデル)
• 予約データモデル、在庫管理データモデル
• 対応するデータベース=予約データベース、
在庫管理データベース
18
従来のファイル処理の問題 (1)
• アプリケーションプログラムで必要なファイルは、
個別に定義・実装
• ファイルのデータ構造の記述は、処理するファイ
ル中に埋め込まれる
• ファイルのデータ構造の変更→処理プログラムの
変更
19
従来のファイル処理の問題 (2)
新しいデータ項目の追加が困難
新しい項目を追加すると・・・
データ構造の記述が直接アプリケーションの
中に埋め込まれているため、アプリケーション
内の項目の認識がおかしくなる。
20
従来のファイル処理の問題 (3)
新な項目「生年月日」を追加
↓
アプリケーションは東京太郎の新項目
「生年月日」を横浜花子の社員コードと誤認
↓
以降、社員ファイルはどんどんずれていく
21
従来のファイル処理の問題 (4)
そこでデータ独立性の概念が生まれた
データ独立性とは?
• アプリケーションプログラムとデータがお互いに独
立している
• アプリケーションプログラムとデータは互いに影
響を与えないで、変更可能
22
データベース論
P21~P23
作者不明
23
データの独立性
データベースのデータ独立性の考え方
24
• データ構造の変更はDBMSにより管理。
• これによりアプリケーションプログラムに直接
影響を与えないようにする事が可能。
25
3つのレベルでとらえる
データ独立性
外部レベル(external level)
概念レベル(conceptual level)
内部レベル(internal level)
26
現実世界
外部レベル
概念レベル
内部レベル
27
28
外部レベル
• 特定のアプリケーションが興味を持つデータ
を表現する。
• 記述したものを外部スキーマという。
• 特定のアプリケーションに依存。
• 見えない残り部分を隠蔽。
29
概念レベル
• 企業・組織体の立場から全体をとらえる。
• 特定のアプリケーションに依存しない。
• 記述したものを概念スキーマという。
• 物理的な記憶構造を隠蔽。
30
内部レベル
• 概念スキーマで記述された対象に関連した
データベースの物理的な記憶構造をとらえ
る。
• 記述したものを内部スキーマという。
↑効率の良いデータベースを実現。
31
• 3つのレベルのスキーマの変換処理は写像
(マッピング)という。
• この構造はANSI / SPARCの検討グループ
により作成。
32
データ定義の基本概念
P24~P26
H102014
H102402
市川紘子 (1~4)
橋詰奈美 (5~8)
33
例文
「A社は、ソフトウェアの製品の開発・販売を
行っている。国内に横浜支店を含め10支店
あり自社および他社で開発した約100種類の
製品の販売を行っている。特に横浜支店はD
BMS,大阪支店はCASEツールの販売拠点
として、販売担当を強化している。DBMSの
販売担当はB課長をリーダとして15名の社員
が、CASEツールの販売担当はC課長をリー
ダとして20名の社員が従事している。」
34
実体
• データモデルでは、現実世界で人間が認識
する事象を「実体」として表す
• 実体はデータベースでの管理対象の基本と
なる
• 実体は、必ずしも実在していなくてもよく、概
念的な存在でもかまわない
35
例文より認識される事象をもとに、実態を抽出
すると次のものが考えられる
• A社、支店、横浜支店、大阪支店、10支店、他社
• 製品、DBMS、CASEツール、100種類の製品
• 社員、B課長、C課長、15名のDBMS販売担当、20
名のCASEツール販売担当、その他の支店の社員
36
型(type)
• 同じ種類のものを集め
て分類する
↓
• 実体型
・実現値(オカレンス
(occurrence)あるいは
インスタンス(instance))
実現値とは、実体型に属する個々の実体のことである
37
実体型と実現値
実体型
実現値
(entity type)
(occurrence, instance)
「支店」
「製品」
横浜支店、 大阪支店、 他8つの個々の支店
「社員」
B課長、 C課長、
15名のDBMS販売担当社員、
20名のCASEツール販売担当社員、
その他の支店の社員
A社、 他社
「製造元」
DBMS、 CASEツール、
100種類の個々の製品
38
データモデル化の利点
• モデル化の利点
管理対象を明確にすることができる
• データモデルの基本
型を定義し、個々の値を操作できるよう
にする
39
データベース論
P27-29
H102008 池上 直隆
H102403 花岡 智史
40
実体(entity)の型と値
• 1つの実体(entity)は、モデル化の対象とする
現実世界の中で1つの型(type)に分類される
• 現実世界のとらえ方に
よって、1つの実体(entity)
は複数の異なった実体型
(entity type)に分類される
41
属性
• 属性(attribute)-実体(entity)の具体的な性
質を記述したもの
例 実体型「支店」の属性:支店名、住所
• 属性(attribute)も実体(entity)である
→オブジェクト指向
42
定義域
• 定義域(domain)-属性(attribute)がとりえる
値の集合
43
関連
• 実体型の間の関連(relation)-現実世界に
おける、事情と事情の間の相互関係
• 基数(cardinality)-2つの実体型(entity
type)に関連があるときの、実現値と実現値
の対応する数の関係の表し方
– 1対多 → 1:n
44
P30-32
H102054 佐々木
H102145 吉池
大輔
傑
45
データモデルの図式表現(1)
●実体型と関連を視覚的な図式で表す
・実体型は短径で、関連は矢印で表現
・矢印は、矢尻の方向に1:nの関連があることを表す
1
n
・この矢尻に基数1:nのnの表示がない場合はn≧0の制約を表す
1
<P30>
46
データモデルの図式表現(2)
・ n がある値 i に制約されるとき
1
i
・nが最大値a、最小値bに制約されるとき
1
(a,b)
・1:nの1が0または1のとき
(0 または 1)
n
47
2
データモデルの図式表現(3)
●n : m → 1 : n
1
n
n
m
n:m の関連があるため、「在庫」を設けて 1:n に
48
3
データモデルの図式表現(4)
●IDEF1X
↓IDEF1Xで図式表示
49
4
関連の種類
現実世界の事象と事象の間の相互関係を、データ
モデルでは実体型の間の関連として表す。
関連の種類
• 一般的な関連(general relationship)
• 構成関連(composed-of relationship)
• 汎化(generalization)関連
<P31>
5
50
一般的な関連
実体型の相互関係に、特別な階層関係や包含的
な関係を含まない、対等な関係を表します。
一般的な関連の例
• 「支店」と「社員」の間の「所属」という関連
• 「製造元」と「製品」の間の「製造」という関連
6
51
構成関連
・ 実体型の間に全体とその部分という構成上の階層関係があることを
表します。
・ 複合化された実体をとらえる。
構成関連の例
・ 「自動車」と「エンジン」「タイヤ」「車体」との間の構成関連
・ 「文書」と「表題」「段落」との間の構成関連
・ 「段落」と「見出し」「文」との間の構成関連
52
7
構成関連
このような構成関連
・集約(aggregation)
・全体部分関係
その構成される階層からみたとき
・part-of関係(部分is a-part-of全体)
・has-a関係(全体has-a部分)
53
汎化関連
汎化関連は、単に汎化とも呼ばれますが、実体型の間に上位概念と
下位概念という抽象化の関係があることを表します。
・上位概念の実体型・・・スーパタイプ (スーパクラス)
・下位概念の実体型・・・サブタイプ (サブクラス)
*( )はオブジェクト指向のとき
・現実世界の複雑な事象を、一般的な概念からより詳細な概念に階層的
に整理することができる。
54
<P32>
汎化関連
汎化関連の例
・ 「動物」と「ほ乳類」「鳥類」との間の汎化関連
・ 「自動車」と「バス」「トラック」との間の汎化関連
55
汎化関連
・ is-a関係(下位概念is-a上位概念)
・ 専化(specialization)あるいは特化
・ スーパタイプのもつ性質はすべてのサブタイプで共有され
る。これをサブ
タイプはスーパタイプの性質を継承(インヘリタンス、
inheritance)すると
いう
56
構造関連と汎化関連の表記法
本書での表記法
・構成関連を三角形
・汎化関連を半円
*人によっては逆に表記している。
57
データベース論
p33~p36までの要約
H102002 安島 澄人
H102005 有坂 秀則
58
汎化関連
• 実体型の間に上位概念と下位概念という抽
象化の関係があることを表す。
• 上位概念の実体型 ス-パタイプ
• 下位概念の実体型 サブタイプ
• オブジェクト指向
ス-パクラス、サブクラス
59
汎化関連の例
• 「動物」と「ほ乳類」「魚類」との間の汎化関連
• 「自動車」と「バス」「トラック」との間の汎化関連
60
メタデータ管理
• データモデル
• データ定義言語で記述された記述情報
• データベースに実際に記憶されるデータ
• 後者に対して前者の記述情報をスキーマとい
う。そのデータをメタデータと呼ぶ。
61
データとメタデータの関係
62
メタデータの管理
• メタデータを格納するものをリポジトリ
(repository)という。
• 管理する情報の範囲
・システムカタログ(system catalog)
・データ辞書
(data dictionary)
・情報資源辞書(information resource
dictionary)
63
メタデータ管理の階層
64