2002-06-05 (水) [長年日記]
■ でーたもでる
XML ってのは「ツリー構造」にてデータを表現します。ツリーっていうからには、ルートはひとつなわけで、たとえば
<?xml version="1.0" ?> <hoge/> <hoge2/>
っていうようなルート直下に要素が1つ以上あるようなXML 文書は認められていません。ということで、今回はこのような「データの表現の仕方」についてお話したいと思います。
現在、Oracleの勉強をはじめているひとが結構いますよね。Oracleマスターシルバーの入門の入門、最初の最初のページをみると、こういう風に書かれていませんでしたか。
「Oracleはリレーショナルデータベースです」
……って、OracleがRDB あることくらい当然知ってるよ!バカにするな!と思ったでしょうが(ぼくは思った)、これは一概に「当然」とはいえないんです。たぶんそのページの下か、次のページに書いてあると思うんですけど、「ネットワーク型DB」「カード型DB」っていうのがありますよね。データベースがRDB だけと思ったら大間違いなのです。
RDB っていうのは、実は生まれてからそんなに時間が経っていません。E.F.CoddっていうIBM研究所の人が1970年の論文の中でその論理体系を明らかにしたのが始まりといわれています。(下記サイト参照)
http://www-6.ibm.com/jp/software/data/db2web/history/read/read01.html
これらの違いはすべて「データ認知」の違いです。「データ」の定義にはいろいろありますが、どんなデータも、ビットの世界に置き換えるときに何かしらの省略が行われていることは共通しています。この「どういうふうに省略するのか」という違いが、上記のDBの違いとなっているのです。
この省略のことを「モデリングする」と言い換えることが出来るように思います。ある理論体系(RDB ならば関係モデル)をベースにデータをモデリングするから、「データモデリング」。簡単です。
話逸れますが、オブジェクト指向っていうのがなんで流行ってるかというと、その「省略」の仕方が、何かの理論体系をベースにしているわけではなく、ただ単に、人間の認知モデルに近いからなんだそうです。どういう認知モデルかというと(説明しなくても自然にやってることだから分かるだろうけど)、ネットワーク型の認知なんですね。オブジェクト同士が結びついてて、これとこれは依存してる、あれとこれは親子だ、っていう「感じ」ですね。理論体系が無いから、モデリングの結果が人によってバラバラになるわけです。
で、ようやくXML の話になるんですけど、XML ではどうやってデータを認知しているかというと、見たらすぐ分かりますけど、冒頭で言った「ツリー型」で認知しているんですね。これを「ツリー型モデリング」と言っていいと思います。ツリー構造はコンピュータの世界ではよく使われますね。
「関係モデル」「オブジェクトモデル」「ツリーモデル」っていう3つが、現在のシステム開発における大きな機軸となっているように思います。

apple also used that exact same http://emilio.250Free.com/lowes-home-improvement.html Lowes Home Improvement their trick to "Sign up for our free tips on how to beat the http://presents.broadphase.com/home-improvement.html Home Improvement Don't worry, unlike the other guys, we will keep your http://larry.fbhosting.com/lowes-home-improvement-store.html Lowes Home Improvement Store Save Money by filling out our two-minute form. Get instantly. http://crais.250Free.com/mp3-players.html MP3 Players Dollars from an event that took place in our History http://fulton.broadphase.com/free-mp3-downloads.html Free Mp3 Downloads 16 Million and that I'm still using for Accumulating http://alexandre.fbhosting.com/free-mp3.html Free MP3 Check using our third party payment processing partner http://numbers.250Free.com/internet-advertising.html Internet Advertising Save Money by filling out our two-minute form. Get quotes instantly. http://miramax.broadphase.com/free-advertising.html Free Advertising Don't worry, unlike the other guys, we will keep your http://bruce.fbhosting.com/advertising-specialties.html Advertising Specialties