30
第 4 第 第第第第第第第

第 4 章 データとモデル

Embed Size (px)

DESCRIPTION

第 4 章 データとモデル. 本章の目的. コンピュータで情報をあつかいたい         → 情報を”うまく表現”しなければならない ”うまい表現”=「データモデル」 データモデル データを体系的に扱うためのモデル データ コンピュータの処理対象となる,符号化された情報 本章では「データモデル」を概観する. データのモデル化. モデル化 対象からモデルを作ること モデル化のやりかた 対象のなかで興味がある要素を書き下す 天体,質量,価値,需要,集積度,権力,意味,音階,画素,など 要素間の関係をルールとして規定していく - PowerPoint PPT Presentation

Citation preview

Page 1: 第 4 章 データとモデル

第 4 章 データとモデル

Page 2: 第 4 章 データとモデル

本章の目的• コンピュータで情報をあつかいたい   

      → 情報を”うまく表現”しなければならない

• ” うまい表現”=「データモデル」– データモデル

• データを体系的に扱うためのモデル– データ

• コンピュータの処理対象となる,符号化された情報• 本章では「データモデル」を概観する

Page 3: 第 4 章 データとモデル

データのモデル化• モデル化

– 対象からモデルを作ること• モデル化のやりかた

– 対象のなかで興味がある要素を書き下す• 天体,質量,価値,需要,集積度,権力,意味,

音階,画素,など– 要素間の関係をルールとして規定していく

• コンピュータの場合,要素間の関係は操作 / 演算 / 計算としてとらえられる

Page 4: 第 4 章 データとモデル

モデル化の例

太陽と地球

地球が太陽の周りを回る動

時間をパラメタとした演算→

2つの点→

Page 5: 第 4 章 データとモデル

完全性• 対象の要素が全て表現できる

– 対象の操作も考えてモデルを作る場合,対象の操作に対応する演算がモデルに必要

• 完全性がないモデル– 実数– 人名漢字

Page 6: 第 4 章 データとモデル

一意性• モデルの 1 つの要素が対象の 1 つの要素

に対応• 一意性がないモデル

– 下二桁で表された西暦– 性のみで表された名前

Page 7: 第 4 章 データとモデル

忠実性• 対象の 1 つの要素がモデルの 1 つの要素

に対応– 対象とモデルの関係が一意性と逆

• 忠実性がないモデル– " 半分 " を表す有理数表現– 実数の指数表現

Page 8: 第 4 章 データとモデル

整合性• 対象で成り立つべき規則がモデルでも成

り立つ– 整合性が成り立たないモデルでは,操作も含

めて対象がうまく表現できない• 整合性がないモデル

– コンピュータで表された実数

Page 9: 第 4 章 データとモデル

無冗長性• 同じ情報が表現の複数箇所に現れること

がない– 論理データモデルでは冗長性がない方が良い– 物理データモデルでは意図的に冗長な表現を

用いることがある• 冗長性を利用する例

– 学生証番号と氏名の両方を解答用紙に記入

Page 10: 第 4 章 データとモデル

拡張性• データモデルを変更したときに,既存の

データの表現を変更せずに新しいデータを表現できる– データモデルは外的要因の変化や応用が拡大

につれて変化していく• モデルを拡張した例

– 電話番号: 先頭に 184/186 を追加– 郵便番号: 7 桁に変更– IP アドレス: IPv4 → IPv6

Page 11: 第 4 章 データとモデル

データモデルのレベル• 概念モデル

– 人間が対象を認識するレベル• 論理モデル ( 論理レベル )

– ビットよりハイレベル– いろいろな対象に普遍– これから話題にするものは主にこれ

• 物理モデル– ビットでの表現のレベル

Page 12: 第 4 章 データとモデル

代表的なデータモデル• 集合モデル• ネットワークモデル• 階層モデル• 関係モデル• 論理モデル• オブジェクト指向モデル

Page 13: 第 4 章 データとモデル

集合モデル• 集合モデル

– グループを対象とするモデル• 集合モデルの演算

– 共通部分(積集合): A ∩ B • 集合 A の要素と集合 B の要素を併せもった集合

– 和集合(和集合): A B ∪• 集合 A と集合 B に共通に含まれる要素の集合

– 差集合: A - B • 集合 A から集合 B の要素を除いた集合

Page 14: 第 4 章 データとモデル

4.3 代表的なモデルと演算1 . 集合モデル2. ネットワークモデル ・意味ネットワーク (後述) (skip 可)

・実体関連モデル (ER モデル)(後述)(skip 可)

3. 階層モデル(木構造  ) ( オイラー図)  ・ 階層的ファイルシステム ・ 日本の住所  ・ 図書の分類 十進分類法 (Dewey)

Page 15: 第 4 章 データとモデル

グラフモデル• ノードとエッジから構成される• ラベル付きグラフ• 有向エッジ,弧: 方向を持つエッジ• 道路ネットワーク /組織図 /pert 図 / 意味

ネットワークなど様々な領域で幅広く用いられる ノード

エッジ

Page 16: 第 4 章 データとモデル

集合の視覚的表現• ベン図

BA BA

A ∩ B A ∪ B

BA

A − B

Page 17: 第 4 章 データとモデル

階層モデル• 階層モデル ( 木構造 )

– 生物の分類図のような,枝分かれの構造– 有向グラフの特殊なもの,と見ることもできる– 例: コンピュータのファイルシステム

生物の分類図 ファイルシステム

Page 18: 第 4 章 データとモデル

色々な木 - 順序木• 順序木

– 分岐先に順序をつけた木• 例1: (2+3)*12

• 例2: (2+3)*((2+3)/12)– 共通の部分式 (2+3) をまとめて、

DAG(Directed Acyclic Graph) として表せる

Page 19: 第 4 章 データとモデル

色々な木 - ゲーム木• ゲーム木

–ゲームの状態を木構造で表したもの

–ゲーム木を使うと• 勝ち状態に至る経路を探索することで,強いコンピュータゲームプレーヤーを作ることができる

• 必勝法のある / なしなど,ゲームの性質を考えることができる

○×ゲームのゲーム木

Page 20: 第 4 章 データとモデル

意味ネットワーク (imi-network.html 参照 )

出典 : フリー百科事典『ウィキペディア( Wikipedia )』

意味ネットワーク(いみねっとわーく)は人間の記憶の一種である意味記憶の構造を表すためのモデルである。 意味ネットワークはコリンズとキリアンによって考えられた。

人間の記憶は、コンピュータの記憶と異なる構造を持つので、ビットやバイトといった情報量で表すことができない。そのため、このようなモデルが必要となる。集合論を基礎としたモデルなどもある。

ノード(円)が概念、リンク(矢印)が関係を表す。 リンクには「である( isa )」、「もつ( hasa )」などがある。

Page 21: 第 4 章 データとモデル

実体関連モデル ERモデル (skip可 )

• 世界を実体 (entity) と関連 (relation) の集まりとして見るモデル

• 実体と実体のあいだの関連をもつ• 実体と実体のあいだの関連で表現すると、

実体の属性が変化しても、属性だけが変化したことになる

HTML(sinsyuu-u.html) 参照。

Page 22: 第 4 章 データとモデル

実体と関連の表現の例• 40歳の山田と 40歳の田中が 1985年 4月 1 日に結婚した

40歳の山田

40歳の田中 1985年 4月 1 日に結婚

Page 23: 第 4 章 データとモデル

実体関連図の例• 40歳の山田と 40歳の田中が 1985年 4月 1 日に結婚した

実体: 男性属性: 名前,年齢

実体: 女性属性: 名前,年齢

関連: 結婚属性: 結婚記念日

Page 24: 第 4 章 データとモデル

ネットワーク上の最適化問題  1.最短路問題2.ハミルトン閉路問題   ( NP完

全 )

3.巡回セールスマン問題  ( NP困難 ) http://www.tsp.gatech.edu/参照: d15112-DATA.gif, d15112-Solution.gif,

d15112-Maze.gif,

ピーターセングラフ

Page 25: 第 4 章 データとモデル

関係モデル• 関係モデル

– ” 関係”によるモデル化• 関係

– 実際に関係のある組を集めたデータ– 例: 「山口君が東京に住んでいて,       

       電話番号は 03-4567-8901 」という事実        → 山口,東京, 03-4567-8901 の関係

Page 26: 第 4 章 データとモデル

関係モデル - 正規化• 正規化

– 同じデータが何回も出てくるような,冗長な関係を,分割して簡潔な関係にすること

冗長な関係

名前の関係

電話番号の関係

住所の関係

正規化

Page 27: 第 4 章 データとモデル

識別番号

• 関係の項目のひとつに識別番号を入れると、冗長性がなくなる

第一正規化  2次元の表にする番号  名前  所属

g456 小泉 { 1 5組 ,水泳部}非正規型リレーション

番号  名前  所属

g456 小泉 1 5組

g456 小泉 水泳部

正規型リレーション

Page 28: 第 4 章 データとモデル

発注番号 取引ID 会社名   日付   品名 価格

492 a61 プラス 4/26 コピー紙 50

492 a61 プラス 4/26   椅子 65

492 a61 プラス 4/26 本棚 330

492 a61 プラス 4/26 机 148

494 c13 小泉商店 7/1 机 168

494 c13 小泉商店 7/1 椅子 98

494 c13 小泉商店 7/1 鉛筆 15

494 c13 小泉商店 7/1 消しゴム 3

第一正規形の例

Page 29: 第 4 章 データとモデル

• 関係を冗長性がなくなるように、複数の関係に分解することを正規化という

• 発注番号と品名が主キーになっていて、あとはそれからきまる。この2つをあわせて復号キーという。

• 正規形への分割では、属性を1カ所変更しても、他の属性値はそのままでしよい。

• 記憶領域の無駄遣いをしないですむ。

Page 30: 第 4 章 データとモデル

発注番号 取引ID 会社名    日付  492 a61 プラス 4/26494 c13 小泉商店 7/1

発注番号 品名 価格 492 コピー紙 50 492 椅子 65 492 本棚 330 492 机 148 494 机 168 494 椅子 98 494 鉛筆 15 494 消しゴム 3

第2正規形