データモデリング
論理スキーマ (データモデル) は、モデリングの対象となる領域の意味的な側面を、データを扱うための何らかの技術を使って、表現したものである。論理スキーマは、関係モデルにおける関係 (表、テーブル) と属性 (列) や、オブジェクト指向におけるクラス、XMLの要素 (タグ) と属性などから、構成される。
データモデリングのための技法 (方法論) がこれまでいくつか開発されてきている。 こうしたデータモデリング技法は、データモデリングをする人々が作業をする際に導きの手となる。 しかし2人が同じデータモデリング技法を採用しても、非常に異なるデータモデルを考案する結果となることが、しばしばある。 データモデリングで使われる著名な技法を次に示す。
バックマン線図
EBNF (Extended Backus–Naur Form)
実体関連モデル (entity-relationship model 、ERモデル) 実体関連図 (entity-relationship diagram 、ER図)
IDEF1X
統一モデリング言語 (UML)
オブジェクトリレーショナルマッピング
Relational Model/Tasmania (RM/T) (en:Relational Model/Tasmania)
Barker's Notation (en:Barker's Notation)
Business rules (en:Business rules)
Business rules approach (en:Business rules approach)
Object Role Modeling (ORM) あるいは Nijssen's Information Analysis Method (NIAM) (en:Object role modeling)
Semantic data modeling
そして、同じ領域に対してデータモデルが異なっているのは、いつも、モデルの抽象化の水準が異なることと、 (モデルの意味的な表現能力により) インスタンス化することが可能な事物の種類の相違が、原因となっている。 こうした相違を小さくするために、モデリングをする人々は、意思疎通をし、より具体的に表現するべくいくつかの要素について合意をする必要がある。
優れたデータモデルを作る上で有用となる汎用的ないくつかのパターンがある。 これらのパターンとしては、パーティ (人物と組織の上位概念) 、製品タイプ、製品インスタンス、アクティビティタイプ、アクティビティインスタンス、契約、地域、サイトなどが含まれる。 こうしたパターンに含まれる実体を明示的に含めたモデルは、適度に堅牢性を備え、理解しやすいであろう。
汎用的なツールを作る際には、より抽象的なモデルが適している。 この抽象的なモデルは、「事物」 (THING) と「事物タイプ」 (THING TYPE) の変形版の集合から構成される。 この抽象的なモデルでは、全ての実際のデータは「事物」もしくは「事物タイプ」のインスタンスとして記述される。 一方で、このような抽象的なモデルは扱うことが難しいという側面もある。 なぜなら、実世界の事物をあまりよく表現できていないからである。 しかし他方で、こうした抽象的なモデルに、特に標準化された辞書 (ディクショナリ) が存在する場合に、適用可能性は非常に高い。 具象的で特化したデータモデルでは、スコープや環境が変更されたときに、モデルを変更しなければならないという懸念がある。
汎用データモデルによるデータモデリングの方法には、次のような特徴がある。