<< January 2018 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>
<< テクニカルエンジニア(データベース) H19 PM1-1 設問1(1)訂正 | main | テクニカルエンジニア(データベース) H19 PM2-1 >>

テクニカルエンジニア(データベース) H19 PM1-1 設問3

「モデルで分割する方が適切」という解で自分としては納得しているが、一応整理してみたい。

  1. 関係「査定車」の候補キーは、{車台番号, 査定日}である。
  2. 関係「査定車」は、候補キー{車台番号, 査定日}の一部である「車台番号」に非キー属性{モデル, 年式}が関数従属するという部分関数従属があるため、第1正規形である。
  3. また、関係「査定車」中には、車台番号 → モデル → {車名, 製造元, 新車価格, 排気量}という推移的関数従属も存在する。
  4. 前者の部分関数従属に由来する更新異状としては、

    • (事前)主キーの非ナル制約により、査定日が決まるまでは、車台情報(モデル、年式)を登録することができない。
    • (重複1)査定日ごとに(査定を行うごとに)、車台情報(モデル、年式)を登録する必要があり、冗長である。
    • (重複2)車台情報(モデル、年式)に変更が生じた場合、複数のレコードを修正する必要があり、修正漏れが生じるおそれがある。
    • (喪失)査定車のレコードを削除した場合に、車台情報が失われることがある。
    が考えられるが、業務ルール等から(事前)と(重複2)の問題は生じない(査定後、商談が終わってからデータベースに登録する業務ルールのため。車台情報は変更が生じないため)。
  5. また、(喪失)は、問題で問われていない。
  6. (重複1)の問題は、同一車台が複数回査定に出された場合に生じ得る。ただし、頻度は低い。
  7. 後者の推移的関数従属に由来する更新異状としては、

    • (事前)主キーの非ナル制約により、{車台番号, 査定日}が決まるまで(査定・商談成立の時まで)は、モデル情報(車名、製造元、新車価格、排気量)を登録することができない。
    • (重複1)査定・商談成立ごとに、モデル情報モデル情報(車名、製造元、新車価格、排気量)を登録する必要があり、冗長である。
    • (重複2)モデル情報モデル情報(車名、製造元、新車価格、排気量)に変更が生じた場合、複数のレコードを修正する必要があり、修正漏れが生じるおそれがある。
    • (喪失)査定車のレコードを削除した場合に、モデル情報が失われることがある。
    が考えられるが、業務ルール等から(事前)と(重複2)の問題は生じない(査定後、商談が終わってからデータベースに登録する業務ルールのため。モデル情報は変更が生じないため)。
  8. また、(喪失)は、問題で問われていない。
  9. (重複1)の問題は同一モデルに属する車台の数にもよるが、かなり頻繁に生じる。人気モデルなら台数も多いだろう。
  10. 本来なら、3つに分割して第3正規形とすべきだが、設問では2つに分割するとあるため、上記の部分関数従属、推移的関数従属のうち、どちらかしか解決できない。
  11. 部分関数従属に由来する更新異状は、同一車台が再び査定に出されたとき(成立した商談がいったん解消したか、別人が買って再度査定に出されたとき)しか生じないレアケースであるため、推移関数従属に由来する更新異状を解消すべきである。
  12. したがって、モデルで分割し、

    • 査定車(車台番号, 査定日, モデル, 年式, 販売店番号, 走行距離, 主要装備, 車検, 登録番号, 車体色)
    • モデル(モデル, 車名, 製造元, 新車価格, 排気量)
    とすべきである。
ss2004 * テクニカルエンジニア(データベース) * 22:03 * comments(3) * trackbacks(0)

コメント

ss2004さんの言葉を借りると・・・

関係“査定車”を機械的に第3正規化した場合、

○査定車(車台番号,査定日,販売店番号,走行距離,主要装備,車検,登録番号,車体色)
○モデル(モデル,車名,製造元,新車価格,排気量)
○関係3(車台番号,年式,モデル)

となるが、関係3を考えた場合、

>同一車台が再び査定に出されたとき(成立した商談がいったん解消したか、別人が買って再度査定に出されたとき)しか生じないレアケースである。

ため、関係3の情報を関係“査定車”に含めて非正規化を
行ったのだということができそうです。

こういった理解でもよろしいでしょうか。
嗚呼、出題者の意図がこれで分かったような気がします。


Comment by Miny @ 2007/04/24 1:15 AM
改めて問1を振り返ると今年の基礎理論は制限時間内(30分)に解く問題にしては過去にない難しさだと思います。
午後1のボーダラインも下がるといいのですが。


Comment by Miny @ 2007/04/24 1:44 AM
出題者は、車台番号で分割しない件について、レアケースですらなく、更新異状は生じないと考えていたのではないかと思います。
「商談成立後にデータベースに入力する」という業務ルールを設定することで、更新異状が起こらないと思いこんでいるのではないかと。

午後1のボーダーラインの件ですが、基本的に4問とも配点は同じなので、問1を選ばなかった人が有利ということは言えると思います。
ただ、問4を選べた人はきわめて少ないと思いますので、ボーダーラインは下がると思います。

過去の問題でも関数従属図の誤りを指摘する問題がありましたので、出題者としては、それほど難しくしているつもりはないかも知れません。私も、問1は難易度よりも分量が問題と思います。問3、問4との差が激しすぎます。
Comment by ss2004 @ 2007/04/24 4:54 AM
コメントする









トラックバック

このページの先頭へ