2 データモデル

2.1 データとデータモデル

教科書 [1]
「コンピュータの処理対象となる符号化された情報」の意味でデータを使う
と書いている.符号化された情報とはなんだろうか?

符号化とは,情報を記号によって表現することを言う.コード化と言うこともある.この 記号で表現されたものを符号(コード)と呼ぶ.コンピューターは0と1で符号を表す.よう するに,コンピューター内部で0と1のビットで取り扱うことができるものをデータととし て取り扱う.

逆に符号化できない情報があるだろうか? 人間の感情はどうだろうか? 人間の感情を言葉 で表せば符号化は可能である.しかし,そこに言葉で言い表せない何か(情報)があるとす るならば,符号化は非常に困難になる.このようなとき,人間の状態--例えば心拍数, 血圧,体温,脳波など-- を可能な限り測定器で測って符号化しても無駄であろう.この ような情報は,コンピューターで取り扱わないことが得策である.

これ以降は,符号化できる情報のみを取り扱う.コンピューターでは,そのようなものし か取り扱うことができないからである.

2.2 データモデルのレベル

符号化できる情報をコンピューターで取り扱う場合,対象をモデル化する必要がある.こ のモデル化の善し悪しによって,取り扱う効率が著しく異なる.良いモデルだと,アルゴ リズムやデータ構造が簡単になる.

モデル化する方法は,一意に決めることができない.同じ対象でもモデル化の方法は,千 差万別である.対象の本質を見抜き,記号で表し,コンピューターで取り扱える形にし なくてはならない.情報処理の達人は,これが上手にできるのである.

データ(対象)をモデル化する課程には,3つのレベルがある.



概念モデル(Conceptual Model) 処理する対象を人間が認識しているが,記号で 表すことができないモデル.人間の頭の中にあるだけのもの.
論理モデル(Logical Model) 処理する対象を記号で表したモデル.
物理モデル(Logical Model) 処理する対象をコンピューターで取り扱うことができるモデル.


モデル化の第一段階(概念モデル)は,モデル化を行う人間(プログラマー)の観察力,あるい は理解力に依存する.これは,学校の講義で教えることは難しい.実際の仕事で訓練を積 まなくてはならない.

モデル化の第二段階(論理モデル)は,ある程度学校の講義で教えることが可能である.こ れまでの人類が経験した知識として,いくつかのモデル化の方法があり,それを図(記号) で表すことができる.代表的なモデル化の方法については,この後の 2.4節での中心的な話題となる.

モデル化の第三段階(物理モデル)は,実際のプログラミングの講義,とくにアルゴリズム とデータ構造の中心的な内容である.データベースの演習があれば,それも含まれる.他 にも対応するものもあるだろう.これらは,学校で基本的な内容を教えることはできる.

2.3 データモデルの性質

このあたりは,教科書の通りに説明する.まとめると,以下の通り.



完全性 対象の全ての要素に対応するモデルの要素がある.全ての対象が表現可能と言 うこと.対象の要素に対して操作(演算)を行った場合,その結果の要素(対象に含まれる) に対応するモデルの要素も存在する必要がある.
一意性 一つのモデルの要素には,一つの対象の要素がある.モデルの一つの要 素に対して,対象の要素があるときあいまいと言う.
忠実性 対象の1つの要素が,モデルの1つの要素のみに対応している.
整合性 対象の要素の間で成り立つ規則(演算)が,モデルの要素間で成り立つ.
無冗長性 同じ情報が表現の複数箇所で表れない.
拡張性 データモデルを変更したとき,既存のデータの表現を変更せずに新しい データを表現できること.


2.4 代表的なデータモデルと演算

教科書 [1]のこの節(pp.79-93)は,データモデルの3つのレベルの論理モデルに 関する話である.ここでは,処理すべき対象を図(記号)で表す方法を示す.

論理モデルは,次のレベルである物理モデル,すなわちコンピューターでの実際の処理に つながる.また,論理モデルは人間の頭の中にある考え(概念モデル)から来るものである. したがって,この段階は人間の概念とコンピューターをつなぐ部分となり,情報処理を行 う上で極めて重要なである.

幸いなことに,論理モデルはいくつかの代表的なパターンに分けることができる.これま で,人類が情報処理を行ってきて経験的に学んだ方法である.諸君が解くほとんどの問題 (情報処理)は,これらのいずれかのパターンが応用できるであろう.

2.4.1 集合モデル

このあたりは,教科書のとおり説明する.

2.4.2 ネットワークモデル

このあたりは,教科書のとおり説明する.

2.4.3 階層モデル

このあたりは,教科書のとおり説明する.

2.4.4 関係モデル

このあたりは,教科書のとおり説明する.

2.4.5 オブジェクト指向モデル

このあたりは,教科書のとおり説明する.
ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年12月7日


no counter