2005年02月14日

[ テクニカルエンジニア(データベース)/H16 ]

H16午後I 問1

H16午後I 問1
設問1
 定番問題

設問2(1)
 候補キーを問う定番問題。
 旅券番号が候補キーであることはすぐに気付く。
 ここで,図2が主な関数従属性であることを忘れてはいけない。
 他に候補キーがないかチェックしなければ安心できません。
 旅券番号を関数決定できる何かを探す。

 表1 意味と制約より
 旅券番号が変われば有効年月日も変わる。
 しかし,有効年月日だけでは,旅券番号は特定できない。
 じゃぁ,何があればいいのか。。。そう,顧客番号である。
 {顧客番号,有効年月日}→旅券番号 これで2個目。

 {氏名,連絡先,生年月日,性別,有効年月日}→旅券番号
 なんて,強引なことを思いついたりするが,これは前提もなくやり過ぎです(w

設問2(2),(3),(4)
 定番問題

設問3
 ついに出ました多値従属性です。(漢字変換は出てきません)
 「自明でない多値従属性」でググって4件
 「多値従属性」でググって8,530件
 多値従属性についてはここの解説がすっきりしてて良いと思った。

多値従属性についての正確な定義は以下の通りである。

1.R(A,B,C)というタプルがある。
2.Aが決まれば、Cとは無関係にBの複数の値が一意に決まる。
 ※これは、 A->>Bと表記される。
3.上記の関係が成り立つならば、自動的に、Aが決まれば、Bとは無関係にCの複数の値が一意に決まる。
 ※これは、 A->>Cと表記される。
4.上記「A->>B」「A->>C」が同時に成り立つことを、 特に「A->>B|C」と表記し、多値従属関係がある、と呼ぶ。
5.A->>B|Cである時、表(関係)Rは、情報を保ったまま、R1(A,B) と R2(A,C) に分解できる。(Faginの定理)

設問3(1)
 お客様指向が根強いのか,ついつい
 顧客番号→→旅程番号|{搭乗日,便名} と,してしまう。ダメだなw

設問3(2)
 第4正規形の条件を知っているかにかかる。
 第4正規形については,的中の素がコンパクトに整理してあると思う。

関係Rに多値従属性X→→Yがあるとき、その多値従属性X→→Yが自明もしくはXがスーパーキー(関係Rのすべての属性に対しても多値従属性が成立する)

設問3(3)
 設問3(1)の指摘が出来ていれば間違わないと思う。

Posted by g@kko at 2005/02/14 23:10 | 個別記事表示 | コメントを見る (0) |
この記事をLicWikiに埋め込む:
コメント