データベースの種類

データベースには、次のような種類がある。


階層型データベース


木構造のデータベースのこと。

レコードが階層関係を持っていて、1つの親レコードは複数の子レコードを持つ。親レコードと子レコードは、ポインタで接続されている。



綱型データベース


ネットワーク構造のデータベースのこと。ネットワーク型データベースともいう。

レコードが多対多の関係を持っていて、1つの親レコードは複数の子レコードを、1つの子レコードは複数の親レコードを持つことができる。親レコードと子レコードは、リンクで接続されている。



関係データベース


2つ以上の表が関係を持つデータベースのこと。リレーショナルデータベースともいう。

親レコードや子レコードを持たないという特徴がある。ポインタやリンクもないため、結合により関連付けを行う。



インメモリデータベース


データをメモリに配置することで、高い性能を得るもの。

従来のデータベースは、ディスクからデータをメモリに読み込んで処理していたため、それに時間が掛かっていた。 インメモリデータベースは、ディスクからデータをメモリに読み込む必要がないため、高速に処理できる。

また、インメモリデータベースの多くは、列指向を採用しているため、分析などのクエリを高速に処理できるよ。

列指向は、データを列型でメモリに配置する。カラム指向ともいうよ。

メモリにあるデータは電源を切ると消えてしまうため、定期的にデータをディスクに保存、またはデータの複製を取る必要があるよ。


関係データベース

関係データベース(RDS:Relational DataBase)は、複数の表を用いてデータを管理するデータベースのこと。

表に格納されるデータは、で管理される。

インメモリデータベース

列の数を次数、行の数を位数という。

同じ行は存在せず、行の順序には意味がない。



定義域は、ある列のデータが取り得る値のこと。ドメインともいう。

ドメインを定義することで、例えば金額は整数かつ0以上でなければならないといった制約を作ることができる。
これにより、データを格納する際に制約を満たしているか確認することができる。

データベース管理システム

データベース管理システム(DBMS:DataBase Management System)は、データベースのデータの検索、更新、共有などを行うソフトウェアのこと。

データに矛盾が生じないようにする排他制御や、発生した障害を迅速に復旧するリカバリ機能を持っている。

特に、リレーショナルデーターベース(関係データベース)のデータベース管理システムをRDBMS(Relational DataBase Management System)というよ。