H13午後I 問1(ITEC 2005予想問題集 午後I 問1-3)
設問1
定番問題
設問2
定番問題
設問3
関数従属性の図を完成させる問題
予約(物件番号,棟番号,予約番号,顧客番号,第1希望,第2希望,登録日,抽選日)
(すでに,登録日,抽選日は図2に明記してある。)
まずは,候補キー,非キー属性を見極める。
予約なんで予約番号は当然,候補キーに絡むと推察する。
表から意味と制約を調べる。
売出単位の中で一意になるように振られた予約登録の番号。
売出単位は,棟単位とする。
物件は,一つ又は複数の棟から成る。
そして,どう考えても,第1希望,第2希望は非キー属性。
よって,{物件番号,棟番号,予約番号}は候補キーのようだ。
同じ顧客に,同じ物件の同じ棟の予約番号を複数発行することはない。
顧客番号:登録された顧客を一意に識別する番号
{物件番号,棟番号,顧客番号}も候補キーとなる。
予約は候補キーが2つあり,かつ{物件番号,棟番号}が重複する重複キーである第3正規形であることが分かる。
非キー属性の第1希望,第2希望にが候補キーから矢印を引く。
2つの候補キーから矢印を引くのは冗長という見解もあるが,間違いではないと思う。
候補キー同士で,{物件番号,棟番号,予約番号}←→{物件番号,棟番号,顧客番号}が成り立つ
よって
{物件番号,棟番号,予約番号}→{物件番号,棟番号,顧客番号}→顧客番号
{物件番号,棟番号,顧客番号}→{物件番号,棟番号,予約番号}→予約番号
であるので, (これは,候補キー→候補キー→候補キーを構成する属性なので推移関数従属ではない)
{物件番号,棟番号,予約番号}→顧客番号
{物件番号,棟番号,顧客番号}→予約番号
と,矢印を引く。