● 提示されたテーマは ...
以下の問題を材料にして、T字形ER図の読みかたを、佐藤正美が実演する。
テクニカル・エンジニア(データベース)の試験問題 [ 平成16年度、午後2 問題1 ]
前回は、「event」 の読みかたを実演した。今回は、「resource」の読みかたを実演する。
なお、今回、前半 (19:00〜20:00) は、「余談」として、IRDS について述べて、後半 (20:00〜21:00) に、ER図の読みかたを実演した。
● IRDS、オントロジー (ontology) とは ...
来る 5月20日、DOA+コンソーシアムでは、「ISO/IRDS と MOF」を協議する。
「ISO/IRDS と MOF」 の協議を理解しやすいように、前提知識として習得していなければならない「IRDS の歴史」について述べた。
(1) IRDS は、Information Resource Dictionary System の略称である。
すなわち、「情報資源を管理する Data Dictionary の構造」をいう。
(2) 1980年代、RDB (Relational Data Base) が使われるようになった。
RDBには、DBを一元管理するために、DD(Data Dictionary)が搭載されている。
DD には、以下の情報が定義される。
- データ構造
- アプリケーション構成
- authorization
- NODE
(3) DD の定義と DB の実態が乖離しないことを 「active」 という。
つまり、DD が DB を動的にコントロールしている状態をいう。
DD を、データ構造に対して 「active」 にすることは実現できる。
しかし、プログラムに対して 「active」 にすることは、むずかしい。
(4) 複数のベンダーの様々な RDB が使われ、DD の仕様も、様々であった。
そのために、DD を、統一的に管理する DD がいる、という事態になった。
ANSI が、1988年、統一DD の仕様を提示した。それを、通常、ANS/IRDS と云う。
(5) 1980年代、いっぽうで、CASE ツールが使われるようになった。
CASE は、Computer-Aided Software Engineering の略称である。
CASE ツールは、SDLC (分析・設計・製造・保守) の自動化を目的にしていた。
CASE ツールのほとんどすべては、それぞれの工程ごとの自動化ツールであった。
- SDLS のすべてを自動化するツールを I-CASE と云う。
- SDLC のそれぞれの工程ごとの自動化ツールを C-CASE という。
[ 略語: I-CASE とは Integrated-CASE、C-CASE とは Component-CASE 。]
(6) 1989年、IBM 社は、それぞれの工程の C-CASE を接続する構想を公表した。
C-CASE を接続して--SDLC を自動化して--、DB2用DDを作る構造であった。
C-CASE 群を接続するツールを Reposiory/Manager という。
(7) DD とリポジトリ (Repository) という 2つの用語が使われるようになった。
前述した歴史から判断できるように、DD とリポジトリには、以下の違いがある。
- DD は、character-based である (diagramming ツールを対象にしていない)。
- リポジトリは、diagramming の定義を収録している。
(8) ANS/IRDS は、ISO/IRDS の基礎にはならなかった--いくつかの国が反対した。
ISO/IRDS は、ANS/IRDS と違う構造になっている。
(9) いっぽう、UML の仕様を基礎にして、MOF が公表された。
MOF は、Meta Object Facility の略称である。
(10) 「意味の共有」を実現するために、概念記述として、以下のような取り組みがある。
- RDF (Resource Descriptive Framework)
- OWL (Web Ontology Language)
- ODL (Ontology Definition language)
(11) Ontology は、以下の意味である。
- 哲学、論理学では、「存在論、形而上学」 のことをいう。
- 一般には、「概念分類体系」の意味として使われている。
(12) 哲学・論理学では、「存在」とか「意味」に関して、以下の 2つの考えかたがある。
- 関係主義、内包・外延の論理学
- 実体主義、様相の論理学
フレーゲ氏は、内包 (性質) を記述して、外延 (集合) を考える体系を整えた。
そして、内包・外延の論理学および 「関係主義」 が、多数派となった。
クリプキ氏が、「様相」を前提にして、「実体論 (形而上学)」 を再評価した。
(13) TM と TM’は、いま、クリプキ氏の哲学を尺度にして、認知番号を検討している。
以上が、前半の「余談」であった。
後半は、前回のER図を対象にして、「resource」 の読みかたを実演した。
● 「Resource」 を読む (個々の 「resource」 の性質を確認する) ...
「Resource」 の読みかたには、以下の 2つのステップ (手順) がある。
(1) 個々の 「resource」 の性質を検証する。
(2) 「Resource」 のあいだに成立する関係を検証する。
個々の 「resource」 を検証する際、ER図の全体を観て、まず、以下の2点を調べる。
(1) 「Resource」 の数と 「event」 の数を比較する。
(2) 「Resource」 の右側 (性質) の数を調べる。
(1) に関しては、「resource」 の数が、「event」 の数に比べて、多いほうが良い (事業過程の再編成に対して役立つ) ことを、すでに、いくども言及してきたので、割愛する。
(2) に関しては、以下の2点を確認する。
- 5つ以上あるかどうか。
- 空白かどうか (性質が 1つも記述されていない状態か)。
「5つ以上あるかどうか」 を確認する理由は、「resource」 の基本的な性質として、「名称、長さ、重さ、容積、色」などが列挙でき、(長さは サイズ・コードを付与されることが多いし、色は カラー・コードを付与されることが多いので、それぞれ、単独の entity として認知されるので、) 数は多くないのが、ふつうである。したがって、「resource」 の性質が、5つ以上、記述されている状態というのは、VE として扱う性質が混入していることが多いので注意されたい。たとえば、「顧客」 「支店」 や 「派遣スタッフ」 に関して、以下の項目は、VEとしたほうが良い。
- 電話番号
- FAX 番号
- 電子メール・アドレス
「空白 (性質が 1つも記述されていない)」 状態というのは、認知番号が、複合語的キー (compound-key)--たとえば、マスター・キーなど--の一部として使われていて、いままで、単独の 「resource」 として認知されてこなかったことを示している。そのような状態なら、「名称」は、プログラムのなかで、記述されていることが多いので、注意されたい。
以上を確認したら、(今回は、試験問題なので、対応できないが、実地のデータ設計では、) システムを作り直す「目的」を考慮して、それぞれの 「resource」 に対して、新たに管理すべき (管理したほうが良い) データ項目はないのか--新たに追加するデータ項目はないのか--、という点を、ユーザと協議する。
● 「Resource」 を読む (「resource」 のあいだに成立する関係を確認する) ...
個々の 「resource」 の性質を確認したら、次に、「resource」 のあいだに成立する関係を検証する。そのためには、「リレーションシップの検証表」 を使う。
「リレーションシップの検証表」 は、実地では、「情報 (画面、帳票など)」 ごとに作成するが、今回は (試験問題なので、) 1つの検証表を作成する。(参考)