2012年8月3日金曜日

2.1 リレーショナルモデル


データベースにおけるデータの構造をモデル化したものをデータベ
ースモデルといいます。現在では、関係モデル(リレーショナルモ
デル)が主流となっています。

2.1.1 リレーショナルモデルとは


リレーショナルモデルでは、データ構造は表形式として見ることができま
す。













テーブルは列(フィールド、カラム、属性)と行(レコード)から構成さ
れます。本書では、「列」「レコード」と呼ぶことにします。

RDBでは、複数のテーブルのデータを関連づけて表現します。たとえば、
図2-1では、社員テーブルの部署IDと、部署テーブルの部署IDが対応してい
ます。このような対応関係をリレーションシップといいます。


2.1.2 主キー


テーブル内で任意のレコードを一意に識別できる列もしくは列の組のこと
を主キーといいます。主キーに必要な条件は次のとおりです。

・一意である(重複がない)
・必ず値が格納されている(NULL値がない)
・更新されない(値が不変)

たとえば、次の図を見てください。










このテーブルには、4つの列(社員番号、氏名、電話番号、携帯番号)があ
ります。これらの列のうち、氏名欄は同姓同名がいるので、主キーにはで
きません。電話番号も、同一世帯の社員では重複するので不適切です。携
帯番号は、携帯電話を持っていない人もいるので不適切です。社員番号が
重複なしに割り当てられているとすれば、主キーとして適切と考えられま
す。

主キーは複数の列を組み合わせてもかまいません。次の図では、出席番号
がクラス内で一意であるとするなら、クラス番号と出席番号を組み合わせ
て主キーとすることができます。複数の列を組み合わせたものを複合キー
といいます。













一般的に、「○○番号」「○○ID」「○○コード」といった列が主キーの候補
となるでしょう。




0 件のコメント:

コメントを投稿