TL;DR

データをリレーション、つまりテーブルとして保存するデータベース。それを管理するシステムを RDBMS(Relational Database Management System)と呼び、PostgreSQL や MySQL がその例である。

仕組み

PostgreSQL のドキュメントによると、リレーションは数学の用語で、テーブルとほぼ同じ意味である。テーブルは名前の付いた行の集まりで、同じテーブルの行はすべて同じ名前付きの列を持ち、列にはそれぞれデータ型がある。列の順番は決まっているが、SQL は行の順番を保証しない。テーブルはデータベースにまとめられ、1 つのサーバが管理するデータベースの集まりをクラスタと呼ぶ。

テーブルにデータを保存する方法は今では当たり前に見えるが、データベースの構成方法はほかにもある。たとえば、Unix 系 OS のファイルとディレクトリは階層型データベースの一例で、より新しいものにオブジェクト指向データベースがある。

例

Domain Modeling Made Functional の第 12 章では、関数型のモデルはデータと振る舞いが混ざらないので、リレーショナルデータベースと相性が良いとしている。テーブルはレコード型に直接マッピングできる。

注意点

Domain Modeling Made Functional によると、RDB にはプリミティブな値しか保存できず、判別共用体もそのままでは表せない。選択型をテーブルにマッピングするには工夫がいる。

関連

出典