H14午後Ⅰ問4 【DB設計】

2006年12月13日 02時51分46秒 | テクニカルエンジニア(データベース)
設問1(2)
横持ちは第3正規形とは分かってはいた。
繰り返し属性の項目数が少なければ横持ちのままにしていただろうが、
使用部署コード1~変更理由4を全て書くのが苦痛で、縦持ちにした。
この設問。実は横持ちの場合のテーブル分割でミスを誘うための
引っ掛け問題なのかもしれない。

この問題を一度は経験することで本番で同じ場面に出くわした時に、
より落ち着いて判断できるようになるかもしれない。

設問3(2)・・・時系列性の保持
テーブル変更の場合
(トランザクションテーブル側に事象発生時点のデータを持たせる方法)
物品に、変更前承認者コード1~4、変更後承認者コード1~4を追加する。
変更前後の承認者の情報を保持しなければ、過去の使用部署変更時の承認者を
特定できないことに注意。

テーブル追加の場合
(マスターテーブル側のキーに時系列要素を持たせる方法)
部署長履歴(部署コード、登録年月日、承認者コード)
※主キーは、部署コード、登録年月日

H18(2006)アイテック公開模擬テスト午後Ⅰ問2 【DB設計】

2006年12月13日 00時20分30秒 | テクニカルエンジニア(データベース)
人材派遣会社の受注管理システム

設問1(1)

“希望条件”の主キー、外部キーを指摘する問題
希望条件(派遣スタッフコード、就業曜日コード、就業開始時刻、就業終了時刻)

「就業に関する希望条件として、就業を希望する曜日の組み合わせおよび
 そのときの就業可能時間帯(開始時刻・終了時刻)を複数登録できる。」とある。

解答は、
主キー:派遣スタッフコード、就業曜日コード

主キーに「就業開始時刻」を含めてはなぜ駄目なのか分からない。
同じ曜日で、午前9:00~正午or午後14:00~17:00と複数登録できるように
しても良いような気がするが。

というか、平成16年午後Ⅱ問1を知らないと解けないような気がする。


設問2(2)
追加するテーブル名を“希望従事業務”としてしまった。

同じ派遣スタッフが異なる従事業務を兼務し得ないことに
気づけば難しくないはず。