【DB入門】リレーショナルデータモデルの定義

北川 博之著「データベースシステム(オーム社)」を参考に,データベースシステムの知識をまとめます。

リレーショナルデータモデルの定義

データモデルの一種であるリレーショナルデータモデルでは,リレーションと呼ばれる表でデータを管理し,リレーション名は$R$と記述されます。リレーションは$n$個の属性$A_{1},\ldots,A_{n}$を持ち,リレーション名と属性は併せてリレーションスキーマと呼ばれ,$R(A_{1},\ldots,A_{n})$と書きます。

各属性$A_{i}$の取り得る値全体の集合をドメイン$D_{i}$と呼びます。$R(A_{1},\ldots,A_{n})$が与えられたとき,ドメインの直積集合の部分集合$r$は,リレーション,もしくはインスタンスと定義されます。

\begin{align}
r\subseteq D_{1}\times\ldots\times D_{n}\label{def_r}
\end{align}

集合の定義より,$r$は重複した要素を有してはなりません。一方,実際のDBの中身では重複した要素が許容されますので,厳密な定義と運用上のルールは異なるということに注意が必要です。

$r$は$n$次元タプルの集合から構成され,表を成しています。冒頭で$R$という名前のリレーションが表であることを述べましたが,式($\ref{def_r}$)はそれを裏付けています。つまり,タプルは表のある行を表しているということです。なお,リレーションスキーマ$R(A_{1},\ldots,A_{n})$をもつリレーション$r$のことを,単にリレーション$R$と呼ぶことが多いです。

補足

リレーションの各要素を$r=\{t_{1},\ldots,t_{n}\}$とおくとき,$t_{i}$は

\begin{align}
t_{i}:~\{A_{1},\ldots,A_{n}\}~\rarr~D_{1}\cup\ldots\cup D_{n}
\end{align}

を満たし,かつ$t_{i}(A_{k})\in D_{k}$を満たす写像として定義することもできます。

参考文献

オーム社
¥1,800 (2024/10/12 23:31時点 | Amazon調べ)
シェアはこちらからお願いします!

コメント

コメントする

※ Please enter your comments in Japanese to distinguish from spam.