▲ このウインドウを閉じる |
Things present are judged by things past. |
さて、ERモデルと関係モデルは、べつべつのモデルです。しかし、いずれも、同じ原点に立っています。その原点とは、数学の「関係の論理(aRb)」です。 まず、1970年に、コッド氏が、「関係の論理 (aRb)」を使って、「関係」を「関数」として考えて--R(a, b)として考えて--、「直積集合」を前提にした関係モデルを提示しました。 「関係の論理 (aRb)」では、a および b は、ふつうなら、「個体 (主体集合)」--たとえば、従業員とか部門とか--を考えるのですが、コッド氏は、「属性値 (個々のデータ項目) 集合」を使う、という「絶妙な」着想を提示しました。つまり、a および b を、従業員番号とか従業員名称として考えて、「関係R」を使って、主体集合 (従業員) を記述する、というやりかたです。 R{従業員番号、従業員名称、...}.
コッド氏は、(クラス概念ではなくて、) セット概念を使いました。
そのために、テーブル (タプル) のあいだでは、(ふたたび、関係R を使うことができないので、) 包摂従属性を導入しました。 以上のように、コッド関係モデルは、関数従属性と包摂従属性を前提にして、「構造」を記述するようにしました。ただ、コッド関係モデルでは、(属性値集合と同じ次数の) 「空集合」を認めています。つまり、属性値の null値 を認めています。
コッド関係モデルは、従属性を使って、「構造」を作るルールを示したので、「構文論 (モデルを作る文法)」です。
「関係の論理(aRb)」を、R(a、b) として考えたら、当然、a とか b は、数学上、関数R の変項であって、「無定義語」なのですが、チェン氏は、a とか b を「entity」と言ったので、「entity」の定義が論点になります。ただ、チェン氏は、「entity」を例示しましたが、定義を下さなかった--なぜなら、モノは定義できないから。 R{従業員、部門、受注、...}. そして、従業員や部門などの事物を、「主体型」entity といい、受注などの事象を「関連型」entity としました。「主体型」entity は、ER図では、□ (長方形) で記述され、「関連型」entity が ◇ (菱形) で記述されています。 コッド関係モデルが、セット・アット・ア・タイム法を目的とした構造であるのに対して--つまり、構文論であるのに対して--、チェンER手法は、具体的なアクセス・メソッドを離れて、「現実の世界を、モノと関係を使って記述する」ことを目的としました--つまり、モデルのなかで使われている記号が、現実の世界のなかの事物を記述するようにしたので (指示関係を扱っているので)、「意味論」です。
ただ、チェンER手法は、直積集合を使ったにもかかわらず、集合論の演算を示さなかった--和集合や共通集合を扱うことができない、ということです。したがって、直積集合を使った意味がない、ということです。 チェンER手法は、モデルとしては、いくつかの不備を出したのですが、現実の世界を記述して、一覧的に可視化できる、という点では貢献しました。 そこで、チェンER手法の不備を補うために、以下の諸点を拡張した「意味論」のモデルが、いくつか提示されました(EER モデル、DAPLEX、SDM、など)。
(1) 汎化 (generalization) と特化 (specialization) それらの「意味論」モデルを総括して、「意味データモデル」と云います。 そうしたときに、論点になるのが、概念設計(意味論)と論理設計(構文論)の「兼ね合い」です。意味論も構文論も、モデルであるからには、当然ながら、対象としなければならないのですが、どちらを重視して、モデルを作るか、という点は、それぞれの手法の特徴になるでしょう。意味論と構文論のブレンドの割合が、それぞれの手法の特徴となるようです。
|
▼ このウインドウを閉じる |