書いていきたいと思う.
・データベースの基本
・キーの種類
・制約の種類
・データベースの基本
データベース問題には,列,行,表のみでなく,多くの専門用語が飛び交い,
それが何を意味しているのかを知らなければ,問題を解くことが難しくなる.
そこで,以下に用語をまとめたいと思う.
上記に示すように,表全体の事を「デーブル」と呼び,通常は複数のテーブルが関係しあって,
一つのデータベースを構成する.
横の行は「タプル」や「レコード」と呼ばれ,例えば,一人の学生のデータを扱う
ex.「ID001 は田中,住所は世田谷,実家は新大宮...」など
縦の列は「属性」や「カラム」.まれに「アトリビュート」と呼ばれるらしい.どんな属性を示すかを指す
ex.「このカラムは,住所を指す」
みたいな.
・キーの種類
表において,ある属性を決めれば,特定の行が一意的に決まることがある.
その属性の事を「キー」と呼ぶ.
キーには3種類,
・スーパーキー・・・行を一意的に特定することのできる全ての属性の組み合わせ
・候補キー・・・スーパーキーであり,かつ冗長性のない属性の組み合わせ
・主キー・・・候補キーであり,NOT NULL制約を満たす(NULLを含まない)
※主キーは複数の属性で成り立つことがある.ex.下記の図では
がある.
以下の例において,
A→Bは,AがBを関数的に決定(Aが決まれば一意にBが決まる)するとして,
伝票番号→日付,顧客番号,顧客名
顧客番号→顧客名
商品番号→単価
{伝票番号,商品番号}→数量
という関係が成り立つとする.
スーパーキーは{伝票番号,顧客番号,商品番号}
ここから冗長性を取り除いたものが,候補キーになり,
候補キーは{伝票番号,商品番号}
候補キーと主キーの違いは「主キーはNULL値を許さない」という点です.
以上のキーを表で示すと,
となる.
一意性制約・・・同属性の中で同じ値をとらない.→ex.社員IDが重複しない
・制約の種類
応用情報で大切な制約は以下の三つ
・参照制約
・一意性制約(UNIQUE制約)
・NOT NULL制約
特に参照制約を詳しく述べる.(下二つは上記で説明済み)
・参照制約(=外部キー制約)
これを理解するため
問題文にある
"新しいデータを追加するときに,他の表でキーになっている列の値がその表に存在しないとエラー"
これが,参照制約(=外部キー制約)です.
かんたんな言葉に置き換えると,
"他の表で主キーになってる属性(外部キー)をその表で勝手につくるとエラー"
ということ.
なので.ソフトウェア開発技術者試験 平成18年 春期 午前問70において,
外部キー制約に抵触しないためには,
"外部キーがない表から更新し,外部キーがある表を更新する際には,参照先の表が先に更新されていること"
が条件.
各表の外部キーと主キーを線で結ぶと,
※表cにおいて,事業本部コードは主キーかつ外部キー
ということ.
なので.ソフトウェア開発技術者試験 平成18年 春期 午前問70において,
外部キー制約に抵触しないためには,
"外部キーがない表から更新し,外部キーがある表を更新する際には,参照先の表が先に更新されていること"
が条件.
各表の外部キーと主キーを線で結ぶと,
※表cにおいて,事業本部コードは主キーかつ外部キー
あとがき
次回はUMLや,正規化の話をしたいと思う
次回はUMLや,正規化の話をしたいと思う
0 件のコメント:
コメントを投稿