関係モデル
関係モデル(リレーショナルモデル)以外のデータベースのモデルとしては、階層型データモデルやネットワーク型データモデルがある。 これらの古いアーキテクチャを使ったいくつかのシステムが、現在もデータセンターで使われており、大容量のデータを扱う必要がある場合や、既存のシステムが非常に複雑であるために関係モデルを採用したシステムに移行するには多大な費用を要する場合などに、使われている。
新しいデータモデルとしてはオブジェクト指向のデータモデルがあり、近年ではオブジェクトデータベースを使うことができるようになっている。 2009年現在では関係データベースと比べると使われる事例は少ないものの、少しずつ採用され始めている。 オブジェクトデータベースの有用性については見解が分かれている。 オブジェクトデータベースにはオブジェクト指向プログラミング言語との親和性が高いという特長がある。 一方で一部の人々は、オブジェクトデータベース管理システム (ODBMS) の多くは正統的な DBMS(データベース管理システム)というよりもむしろ DBMS 構築キットであるとして、あまり有用な技術とは認識していない。
関係モデルは形式化された最初のデータモデルである。関係モデルが定義された後に、非形式的なデータモデルが、階層型データベース(階層型データモデル)やネットワーク型データベース(ネットワーク型データモデル)を記述するために作られていった。階層型データベースとネットワーク型データベースは、関係データベース以前に既に存在していた。しかしそれらがモデルとして記述されたのは、関係モデルが定義された後のことであり、その目的はデータモデル間の比較をするための基礎を確立するためであった。
関係(リレーション; relation)は、見出し (heading) と本体 (body) から構成される。 見出しは順序づけられていない属性の集合である。本体は順序づけられていない組の集合である。n 項の関係の本体は n 組の集合から構成される。ある関係の見出しはその関係に含まれる組の見出しでもある。
関係は n 組の集合として定義される。数学の文脈においても、関係モデルの文脈においても、集合とは順序づけられていない要素の集まりである。
こうしたシステムは、関係モデルに準拠していないとして批判されることがある。数学では、組に含まれる要素間には順序が存在し、要素の重複は許容される。
関係モデルを考案したエドガー・F・コッドは、当初はこの数学上の定義を使って組を定義していた。 後に組の概念は変更されたが、組という概念名は変わっていない。この優れた組の概念により、直ちに重要な帰結として、関係モデルの関係代数の直積演算において交換法則が成立した。
現在、表(テーブル; table)は関係の視覚的表現として広く受け容れられている。組は表の行 (row) の概念に似ている。 データベース言語 SQL では、表の列(カラム; column)が順序づけられていることに注意する必要がある。SQL は関係モデルに準拠していないとして批判されることがあり、こうした順序づけの存在は批判の根拠の一つとなっている。