目標
「リレーション」について概要を理解する
データベースに関する重要用語をチェックして理解できる
整合性制約の概要について理解する
リレーション
リレーショナルデータモデルとリレーション
リレーショナルデータモデル
データモデルには次のような種類がありました。
- ネットワークデータモデル
- 階層データモデル
- リレーショナルデータモデル
- オブジェクト指向データモデル
このうちリレーショナルデータモデルを採用するとRDBMSを利用するデータベースシステムの使用するということになります。
リレーショナルデータモデルの特徴
リレーショナルデータモデルには次のような特徴があります。
- データをリレーション(≒タプルの集合≒テーブル)の集まりで表現する
- シンプルでデータの独立性が高い
- 複雑なデータ構造や可変長なデータにはには不向き
リレーションとは
リレーションはタプルの集合のことを言います。リレーショナルデータモデルは、このリレーションの集まりで表現されます。リレーション≒テーブルとして捉えることができます。
下の図では商品テーブルは商品ID、商品、金額の属性を持っていて、{0001、アイス、100},{0002、アメ、60},{}…のタプル(各赤線の部分)の集合で形成されています。

それぞれのリレーションはリレーションシップを持っていて関連しあっています。このような関係があるおかげで、ひとつの表だけでは得ることのできない沢山の情報を導くことができます。

例えば、下の関係から見えてくるのは、「売上IDが0001」では「大空翼くん」が「アイス」を「1つ」購入した。ということが確認できます。

RDBは、このような繋がりを利用してユーザーに情報を提示することができます。
リレーションに関する重要用語の確認
リレーションに関する重要用語の確認
タプル…データべースのレコード(行)のこと。
属性…リレーションのデータ項目のこと。
値…各セルに入力されたデータのこと。
リレーション…タプルの集合でテーブルの形式で表現したもの。
リレーション名…表やテーブルの名前。

リレーションスキーマ…「リレーションの名前」や「属性の名前」「ドメイン(属性の型とその範囲と同意)」などを記述したもので、途中からの変更は基本的には行いません。
リレーションの濃度…リレーションのタプルの数。
リレーションの次数…リレーションスキーマの属性の数。
インスタンス…格納された実際のデータ。
ドメイン(定義域)…属性の取る値の型やその範囲のこと。
(領域の集合「例:テストの点:整数で0~100」)

整合性制約
整合性制約の概要と主な整合性制約
整合性制約とは
データが実世界での関係をデータベース上でも正しく保てるようにする制約です。
主な整合性制約
主な整合性制約には次のようなものがあります。
UNIQUE制約…任意のカラムの中で重複を許さない制約のこと。
NOT NULL制約…「NULL」は「値が入っていないですよ!」という値(フラグのようなもの)で、空とも、0とも違います。NOT NULL制約は、この「NULL」という値の入力を許可しないという制約です。
キー制約(主キー制約)…主キーはリレーションでタプルを一意に識別できる値であるために重複を許さず(UNIQUE制約)、さらにNULLの入力も許さない(NOT NULL制約)制約です。また空値も許されません。
ドメイン制約…属性の値は、全てその属性のドメイン(属性の型とそのルール)に所属するという制約があります。この制約の範囲は属性の型(文字列や整数など)によって決まります。
(例:「数値の範囲」や「特定の文字列の集合」など)
参照整合性制約…属性が他のテーブルを参照する場合に、参照先に必ずタプルが存在しなければいけない制約

今回は以上になります。次回はリレーショナル代数演算についてです。

ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

