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)の指摘が出来ていれば間違わないと思う。