- ベストアンサー
平成19年度 春期 午後問02について
ある情報システム開発会社は,顧客であるA社の組織情報を関係データベースにすることになり, まず,部門と所属についての設計を行った。A社の部門は,英字2文字からなる部門コードで 一意に識別できる。A社の社員は,4けたの数字からなる社員番号で一意に識別でき, 必ず一つの部門に所属しているものとする。図1にA社の部門と所属の情報を示す。 括弧内は,部門コード又は社員番号である。 ----- |営業|-----(8612)関さん |経理|-----(8713)菅さん |(EG)| |(KR)| ----- 図1 A社の部門と所属の情報 設問1 次の記述中の に入れる正しい答えを,解答群の中から選べ。 情報システム開発会社の初級技術者B君は,案1と案2の二つの関係データベースの構造を考えた。 しかし,上級技術者から,案1と案2の両方で,A社の組織を表すには不都合な[????]という現象が起こり, 案1では,更に同姓同名の社員を登録できないという不都合な現象も起こることが指摘された。 そこでB君は,指摘に基づき,案3を考えた。 案1~3を,図2に示す。下線は,その項目が主キーであることを表す。 ●案1 組織 ---------------------------------------- | 氏名 | 社員番号| 部門名 | 部門コード | |------ ---------------------------------------- ●案2 組織 ---------------------------------------- | 社員番号 | 氏名| 部門名 | 部門コード | |---------- ---------------------------------------- ●案3 部門 ------------------------ | 部門コード | 部門名 | |------------ ------------------------ 社員 -------------------------------- | 社員番号 | 氏名 | 部門コード | |---------- -------------------------------- 図2 案1~3 [?????]に入るのはア~オの内どれになるか。 ア 転属した社員の所属部門を,変更することができない イ 新入社員を,登録することができない ウ 退職した社員を,削除することができない エ 同姓同名の社員を,登録することができない オ 配属者未定の新設部門を,登録することができない という問題があります。 答えは「オ」となっておりますが、これになる理由がさっぱりわかりません。 何故「配属者未定の新設部門」を登録ができないメカニズムがつかめず、 悩んでしまいます。新入社員を登録することができるのであれば、 できることだと思われるのですが。 ご教授の程お願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
「配属者未定の新設部門」のイメージはつかめていますでしょうか? 例えば 「宣伝部」を新設する事が決まった。 宣伝部の責任者が誰で宣伝部に誰が移動になるのかは白紙の状態 を想像してみてください。 宣伝部を組織情報に加える事が出来ますか? もう一つ、ユニークキーの意味は把握されていますでしょうか? 1案、2案では部署コード/部署名が空白でも許されますが 1案では氏名が、2案では社員番号が空白になる事は許されません。 ※1案で同姓同名が許されない理由も氏名がユニークキーになっているからです。
その他の回答 (3)
- ymmasayan
- ベストアンサー率30% (2593/8599)
若干補足します。 主キーと言うのは行の先頭に有る1項目(通常)のことです。 主キーを使って行の追加、変更、削除、検索が行われることが多いので 主キーが同じ行が複数あるのは困るのです。 同姓同名の件はこれですね。 もう一つ部門登録と言うのは部門名と部門コードの対を登録することだと思ってください。 案1、案2では配属者が決まっていればその人の行に部門を書き込むことで一応部門登録の用は果たせます。 しかし配属者が決まっていなければ、部門登録は出来ません。 案3では部門コードと部門名の表が独立していますから配属者の有無に関係なく部門登録できます。 あとで配属者が決まったらその人の行に部門コードを書けばいいのです。 余談ですがこのように表を整理して機能別に分けることを正規化といいます。
お礼
親切な補足までしていただき ありがとうございます^^ お陰で理解することができました。
- kdd-i
- ベストアンサー率24% (34/137)
#1です。 言葉足らずでした。 主キーのイメージですが、 viやemacsのファイルみたいなものです。 つまり以前に登録したものを入力すると それが出てきて、 以前に登録したもの以外を入力すると その名前の新しい白紙が出来るみたいな感じです。 勿論削除も出来ます。
お礼
なんとなくですが、イメージがつかめました^^
- kdd-i
- ベストアンサー率24% (34/137)
主キーを用いて検索したり、 登録、削除を行います。 つまり、新入社員の番号は新しく 登録することが出来ますが、 部門は主キーになっていないので、 新しく登録することが出来ません。
お礼
なっとくできました!! 部署コード&部署名だけに着目しすぎて ユニークキーの存在を忘れていました。 ありがとうございます。