データベースにおけるデータの構造をモデル化したものをデータベ
ースモデルといいます。現在では、関係モデル(リレーショナルモ
デル)が主流となっています。
2.1.1 リレーショナルモデルとは
リレーショナルモデルでは、データ構造は表形式として見ることができま
す。
テーブルは列(フィールド、カラム、属性)と行(レコード)から構成さ
れます。本書では、「列」「レコード」と呼ぶことにします。
RDBでは、複数のテーブルのデータを関連づけて表現します。たとえば、
図2-1では、社員テーブルの部署IDと、部署テーブルの部署IDが対応してい
ます。このような対応関係をリレーションシップといいます。
2.1.2 主キー
テーブル内で任意のレコードを一意に識別できる列もしくは列の組のこと
を主キーといいます。主キーに必要な条件は次のとおりです。
・一意である(重複がない)
・必ず値が格納されている(NULL値がない)
・更新されない(値が不変)
たとえば、次の図を見てください。
このテーブルには、4つの列(社員番号、氏名、電話番号、携帯番号)があ
ります。これらの列のうち、氏名欄は同姓同名がいるので、主キーにはで
きません。電話番号も、同一世帯の社員では重複するので不適切です。携
帯番号は、携帯電話を持っていない人もいるので不適切です。社員番号が
重複なしに割り当てられているとすれば、主キーとして適切と考えられま
す。
主キーは複数の列を組み合わせてもかまいません。次の図では、出席番号
がクラス内で一意であるとするなら、クラス番号と出席番号を組み合わせ
て主キーとすることができます。複数の列を組み合わせたものを複合キー
といいます。
一般的に、「○○番号」「○○ID」「○○コード」といった列が主キーの候補
となるでしょう。
0 件のコメント:
コメントを投稿