データベースをつつく0-データモデル。空気のような概念。
データモデルというのは、現実世界のある領域のデータ体系を、ダイアグラムなどを使って表現したものピヨ♪ある領域と言うのは、よくあるのが企業、部門、店、個人・・・などの業務や私事で発生する情報ピヨね♪ちなみに、データモデルは意味データモデルと言われる事もあるピヨ。一応頭の片隅においておこう。
データモデルを作る意義は、情報が視覚化出来る事ピヨね。ちょっと抽象的で分かりにくいから、自分が働いている会社の業務を考えてごらん。きっと訳が分からなくなると思う。だけど図にちゃんと書けば、業務を全体的に見る事が出来て理解できるピヨ♪これがデータモデルの利点だと思えばいいピヨ。
データモデルは皆が理解できなければならない。でも残念ながら、データモデルはちゃんとした作図ルールがなければならないので、ご察しの通りいっぱい作られたんだ・・・ DSPテキスト体系、ANSI/x3・SPARC、IRM研究会、THモデル、IDEF1X・・・etc。あーあ、これじゃ混乱するピヨ・・・。でもご安心めされよ。今ではどうやらANSI/x3・SPARCが一番有力なようだピヨ♪だからこれ以降はANSI/x3/SPARCをつついていくピヨ♪他のはボクも知らないしねw
ANSI/x3/SPARCの特徴は3層のスキーマから構成されている事ピヨ♪3層のスキーマは次のように定義されているんだ。
- 外部スキーマ・・・利用者やアプリケーションインタフェースに直接見えるデータを定義するスキーマ。このスキーマを独立して作ると、内部構造が変わってもアプリケーションインターフェースに影響を与えないで済むピヨ♪これを論理データ独立性と呼ぶピヨ♪
- 概念スキーマ・・・データベース化する対象全体を定義するスキーマ。このスキーマはDBMSの特性を考慮するするピヨ。間違えやすいところだから注意してね。
- 内部スキーマ・・・データの物理的な側面を定義するスキーマ。使用するテーブル、インデックス、ファイルの構造などの物理的な事を決める層なんだ。このスキーマを独立させると、物理面の変更が他に影響を与えないように出来るんだ。これを物理データ独立性と呼ぶピヨ♪
この考え方は実務でも役に立つから覚えておいて損は無いピヨ♪ただ、中の人に聞いたら厳密にデータモデルを定義している現場に遭遇した事が無いそうだよ。だからデータモデルについては、ひとまず思考法だと考えておいたらいいみたいだね。今回はこれでおしまい。