汎用データモデル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/06 09:44 UTC 版)
汎用データモデル(Generic data model)は、通常のデータモデルの一般化されたものである。それらは、そのような関係タイプによって関連付けられるかもしれないものの種類と一緒に、標準化された一般の関係タイプを定義する。汎用データモデルは、従来のデータモデルの欠点を解決する1つのアプローチとして開発された。例えば、異なるモデラーは一般に、同じドメインの異なる従来のデータモデルを作り出す。これは、異なる人々のモデルを一緒に集めることにおいて困難を導き、そしてデータ交換やデータ統合の障害である。しかしながら、この違いはいつも、モデルにおける抽象レベルの違いと、インスタンス化される事実の種類における違い(モデルの意味的表現能力)に帰因する。モデラーは、違いをより重要でないものにするため、より具体的に提示すべきである一定の要素についてコミュニケートし合意する必要がある。
※この「汎用データモデル」の解説は、「データモデル」の解説の一部です。
「汎用データモデル」を含む「データモデル」の記事については、「データモデル」の概要を参照ください。
汎用データモデル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/06 09:44 UTC 版)
「データモデリング」の記事における「汎用データモデル」の解説
汎用データモデルは、従来のデータモデルを汎用化したものである。汎用データモデルでは、標準化された関係 (表、テーブル) の型、およびそうした関係型に関連する種類のものについて、定義している。汎用データモデルを定義することは、自然言語を定義することに似ている。例えばある汎用データモデルでは、「分類関係」や「全体-部分関係」のような関係型を定義しているかもしれない。「分類関係」は、ある事物と事物の種類 (クラス) の間の二項関係である。「全体-部分関係」は、部分の役割を担う事物と全体の役割を担う事物の間の二項関係である。クラス群の拡張性のあるリストがあれば、どのような事物でも分類することができるし、どのようなオブジェクトについても全体-部分関係を指定することができる。関係型についての拡張性のあるリストを標準化することにより、汎用データモデルでは無数の事物の種類を表現することができ、自然言語の表現能力の水準に近づくことができる。他方で、従来のデータモデルでは、対象とする領域のスコープは固定的で限定されている。なぜなら、従来のデータモデルをインスタンス化する (適用する) ことでできるのは、モデルにおいて事前定義された事物を表現することができるだけであるからである。 汎用データモデルは、従来のデータモデルの短所を解決するための方法として開発される。例えば、同じ領域に対して従来のデータモデルによるモデリングを複数の人々が行う場合、それぞれ異なるデータモデルを作ってしまうことが多い。このため、複数の人々が共同でモデルを作る場合の困難につきあたる。こうした情況は、データ交換やデータ統合を行う観点からは、障害となる。そして、同じ領域に対してデータモデルが異なっているのは、いつも、モデルの抽象化の水準が異なることと、 (モデルの意味的な表現能力により) インスタンス化することが可能な事物の種類の相違が、原因となっている。こうした相違を小さくするために、モデリングをする人々は、意思疎通をし、より具体的に表現するべくいくつかの要素について合意をする必要がある。 優れたデータモデルを作る上で有用となる汎用的ないくつかのパターンがある。これらのパターンとしては、パーティ (人物と組織の上位概念) 、製品タイプ、製品インスタンス、アクティビティタイプ、アクティビティインスタンス、契約、地域、サイトなどが含まれる。こうしたパターンに含まれる実体を明示的に含めたモデルは、適度に堅牢性を備え、理解しやすいであろう。 汎用的なツールを作る際には、より抽象的なモデルが適している。この抽象的なモデルは、「事物」 (THING) と「事物タイプ」 (THING TYPE) の変形版の集合から構成される。この抽象的なモデルでは、全ての実際のデータは「事物」もしくは「事物タイプ」のインスタンスとして記述される。一方で、このような抽象的なモデルは扱うことが難しいという側面もある。なぜなら、実世界の事物をあまりよく表現できていないからである。しかし他方で、こうした抽象的なモデルに、特に標準化された辞書 (ディクショナリ) が存在する場合に、適用可能性は非常に高い。具象的で特化したデータモデルでは、スコープや環境が変更されたときに、モデルを変更しなければならないという懸念がある。 汎用データモデルによるデータモデリングの方法には、次のような特徴がある。 汎用データモデルは、汎用的な実体の集合から構成される。汎用的な実体としては、「事物インスタンス」、「クラス」、「関連」などがあり、さらにおそらくはこうした実体に多くのサブタイプが存在するであろう。 あらゆる事物インスタンスは、「事物インスタンス」と呼ばれる汎用的な実体のインスタンスであるか、そのサブタイプのインスタンスである。 あらゆる事物インスタンスは、事物の種類 (「クラス」) により、明示的な分類関連を使うことで、明示的に分類される。 分類のために使われる実体は、他の種類の実体とは別に、「クラス」という実体もしくはそのサブタイプの実体の標準的なインスタンスとして、定義される。「クラス」のサブタイプとしては「関連クラス」などがある。こうした標準的なクラス群は、「参照データ」と呼ばれることが多い。すなわち、領域に固有の知識は、このような標準的なクラス群のインスタンスとして表現することが可能である、ということである。例えば、自動車、車輪、建物、船、温度、長さなどの概念は標準的なインスタンスである。また、「—から構成される」や「—に参加する」のような標準的な関連の実体もまた、標準的なインスタンスである。 こうした汎用データモデルによるデータモデリングの方法を採ることで、標準的な実体や標準的な関係型をインスタンスとして追加することができるようになる。そしてデータモデルに柔軟性をもたせ、アプリケーションソフトウェアのスコープの変更があったときにも、データモデルの変更を抑制することができる。 汎用データモデルは、次の規則に従っている。 属性は、他の実体への関連を表現するものとして扱われる。 実体が同定されると、その事物の本質的な性質に基づいて命名される。特定の文脈で果たす役割に基づいて命名されるのではない。 実体は、データベースあるいはデータ交換のためのファイルの中に、局所的な識別子をもつ。こうした識別子は、人工的なものであり、一意となるように管理される。関連は、局所的な識別子の一部として使われることはない。 アクティビティ、関連、イベントによる影響は、実体として表現される (属性としては表現されない) 。 実体は、モデルの普遍的な文脈を定義するために、実体におけるサブタイプ/スーパータイプの階層の一部を構成する。関連もまた実体であるから、さまざまな関連の実体は、関連のサブタイプ/スーパータイプの階層の一部を構成する。 関連は高い (汎用的な) 水準において定義される。関連は、それが妥当である水準のうち最も高い水準で定義される。例えば、コンポジション関連 (「—から構成される」と表現される) は、「事物インスタンス」と別の「事物インスタンス」の間の関連として定義される (例えば、単に「注文」と「注文明細」の間の関連としては定義されない) 。この汎用的な水準では、関連は原則として何らかの事物インスタンスとそれとは別の何らかの事物インスタンスに適用することがすることができるということを、意味している。「参照データ」においてはデータに対する制約群が定義される。制約は、実体間の関連の標準的なインスタンスである。 汎用データモデルの例を次に示す。 ISO 10303-221 ISO 15926 (en:ISO 15926) Gellish (en:Gellish) Gellish English (en:Gellish English)
※この「汎用データモデル」の解説は、「データモデリング」の解説の一部です。
「汎用データモデル」を含む「データモデリング」の記事については、「データモデリング」の概要を参照ください。
- 汎用データモデルのページへのリンク