2005年02月19日

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

H13午後I 問1

H13午後I 問1(ITEC 2005予想問題集 午後I 問1-3)

設問1
 定番問題

設問2
 定番問題

設問3
 関数従属性の図を完成させる問題

 予約(物件番号,棟番号,予約番号,顧客番号,第1希望,第2希望,登録日,抽選日)
 (すでに,登録日,抽選日は図2に明記してある。)

 まずは,候補キー,非キー属性を見極める。
 予約なんで予約番号は当然,候補キーに絡むと推察する。
 表から意味と制約を調べる。

 売出単位の中で一意になるように振られた予約登録の番号。
  売出単位は,棟単位とする。
  物件は,一つ又は複数の棟から成る。
 そして,どう考えても,第1希望,第2希望は非キー属性。
 よって,{物件番号,棟番号,予約番号}は候補キーのようだ。

 同じ顧客に,同じ物件の同じ棟の予約番号を複数発行することはない。
  顧客番号:登録された顧客を一意に識別する番号
 {物件番号,棟番号,顧客番号}も候補キーとなる。

 予約は候補キーが2つあり,かつ{物件番号,棟番号}が重複する重複キーである第3正規形であることが分かる。

 非キー属性の第1希望,第2希望にが候補キーから矢印を引く。
 2つの候補キーから矢印を引くのは冗長という見解もあるが,間違いではないと思う。

 候補キー同士で,{物件番号,棟番号,予約番号}←→{物件番号,棟番号,顧客番号}が成り立つ
 よって
  {物件番号,棟番号,予約番号}→{物件番号,棟番号,顧客番号}→顧客番号
  {物件番号,棟番号,顧客番号}→{物件番号,棟番号,予約番号}→予約番号
 であるので, (これは,候補キー→候補キー→候補キーを構成する属性なので推移関数従属ではない)
  {物件番号,棟番号,予約番号}→顧客番号
  {物件番号,棟番号,顧客番号}→予約番号
 と,矢印を引く。

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