H17午後II 問1
機械式駐車場設備メンテナンス業務
設問2(1)
エンティティ「出動」の追加により,
スキーマの属性を「出動指示番号」から「出動番号」に変更するエンティティを列挙する問題。
とりあえず,追加した状態を書く。(リレーションの変更は未実施)
設問の指示どおり,
『出動指示書を発行せずに,修理情報や交換部品情報を登録できるようにする』
と,いうことで「駐車場設備修理」と「交換部品明細」のリレーションを変更する。
解答例:設問2(1)
駐車場設備修理,交換部品明細
で,TACとITECの解答例は上のとおりであるが。。。
他の可能性を検討してみる。
さて,修正後の概念データモデルを見ると,点検と修理が随分遠くなった気がする。
点検の結果,修理を行う場合もあるので,もうちょっと近くに置けないかと。。。いうことで,
「駐車場設備点検」と「部位装置点検結果」,「検出異常」のリレーションも変更してみる。
ううーむ。。。これでも悪くない気がするが。。。
もしかして。。。この解答によっては,設問2(3)の解答も影響するんではないかい。。。
もう少し検討してみよう。
問題にはリレーションシップを変更していいとは書いので、(3)も含めて、出動、出動目的、出動内訳以外のエンティティ間のリレーションシップの変更、追加はしていけないと解釈しました。また、問題文の「あるエンティティタイプの出動指示番号を出動番号に変更した。」のエンティティを特定しづらく、何を求められているか理解しがたいです。
>もしかして。。。この解答によっては,設問2(3)の解答も影響するんではないかい。。。
そのとおりで、私は(1)が間違っていると思うので、(3)は1つがどうしてもでききませんでした。3は確定で、もうひとつは2か4じゃないでしょうか。どちらかは(1)にかかってくるのかなぁ。
問1はこの2問が突出して難しいんですよね。
>>3
>問題にはリレーションシップを変更していいとは書いので
「あるエンティティタイプの出動指示番号を出動番号に変更した。」
ということは,
駐車場設備修理と交換部品明細であれば,
駐車場設備修理(出動指示番号,駐車場施設番号,駐車場設備番号,部位装置番号,指示明細番号,修理作業時間,部品交換有無区分)
交換部品明細(出動指示番号,駐車場施設番号,駐車場設備番号,部位装置番号,交換部品明細番号,部品番号,交換個数)
を
駐車場設備修理(出動番号,駐車場施設番号,駐車場設備番号,部位装置番号,指示明細番号,修理作業時間,部品交換有無区分)
交換部品明細(出動番号,駐車場施設番号,駐車場設備番号,部位装置番号,交換部品明細番号,部品番号,交換個数)
と変更すると,私は読みました。
よって,>>1 の図の「リレーションシップが変更」ということになってます。
>設問2(3)の解答も影響
「一貫性があれば,間違いにならない(部分点が貰える?)」と願っていますw
考える時間が欲しい。。。
問題文「あるエンティティタイプの出動指示番号を出動番号に変更した。この変更によって、図5のエンティティタイプの中で変更する必要があるものを、すべて列挙せよ」
[謎1]
「あるエンティティ」とは1つ、複数?
[謎2]
「あるエンティティタイプ」を変更し、それ以外で変更が必要なエンティティを答えるのか?
⇒つまり、「あるエンティティ」は出動指示番号を出動番号に変更するだけでよく、解答となるエンティティはそれ以外の変更も必要。
それとも出動指示番号を出動番号に変更する全てのエンティティを答えるのか?(g@kkoさんはこの解釈ですよね?)
この場合、出動指示番号→出動番号以外の変更もありか?
以上を踏まえて、今の私の意見は、以下のとおりです。
[答え]
"駐車場設備修理"と"交換部品明細"
[変更後のテーブル構造]
駐車場設備修理(出動番号,駐車場施設番号,駐車場設備番号,部位装置番号,出動指示番号,指示明細番号,修理作業時間,部品交換有無区分)
交換部品明細(出動番号,駐車場施設番号,駐車場設備番号,部位装置番号,交換部品明細番号,部品番号,交換個数)
[リレーションの追加]
出動→駐車場設備修理
[コメント]
やっぱり既存のリレーションシップを変更するのはまずいんじゃないかと思うんですよね。出動指示明細→駐車場設備修理は外部キーの関係に変更ということにしました。g@kkoさんの修正後の"駐車場設備修理"では指示明細番号が外部キーになってなくて浮いています。私の案のようにするか、削除すべきと思います。(まさか暗黙のリレーションシップってやつですか?)
あと、修理情報や交換部品情報の登録が要件なので、
点検関係のエンティティは触らないほうがいいんじゃないかと思います。(私は解答には入れてしまいましたけど。)
ただ(3)との絡みがあるのでビミョーですね。
この案でいくと、答えは2で、理由は「出動目的と修理が結びついていない」で解決策「"駐車場設備修理"に出動目的を追加して、"出動"からのリレーションシップを"出動内訳"に変更する」となりそうなのですが、(3)は(1)以上にリレーションシップの変更はだめそうなんですよね。
[リレーションの追加]は他にもありますね。問題に関係しそうなのは出動指示 - 出動。これ1対1じゃないでしょうか?
"駐車場設備修理"からは"出動"を通して出動指示番号がわかるので、出動指示番号を追加する必要はやっぱりないのかも。。
相変わらず題意がよくわかりましぇん。
>>5
まだ,議論ができる程,考えが纏まっていません。
とりあえず,コメントの修正をしています。
以下,現時点で書ける範囲で。
>指示明細番号が外部キーになってなくて浮いています。
すいません。あの例示には意味はありません。
ただ,「出動指示番号」を「出動番号」にしたかっただけで,それ以外の属性には意味は込めていません。
>出動指示 - 出動。これ1対1じゃないでしょうか?
>>1 のモデル図を書いている時に私もそう思ったんですが,
以下の理由により,「出動指示:出動=1:N」では?と思い,>>1 のモデル図としました。
根拠)
出動指示:定期点検
出動:定期点検
出動:継続出動(定期点検による修理)
と,なった時に
「継続出動の前回出動番号」は「定期点検の出動番号」を指しており,
「定期点検の出動指示番号」は「出動指示:定期点検」を指している。
また,表6より,出動指示番号が決定しないのは「出動目的=緊急呼出し」の時だけなので,
「継続出動の出動指示番号」は,「出動指示:定期点検」を指している。と判断したためです。
問題文「あるエンティティタイプの出動指示番号を出動番号に変更した。この変更によって、図5のエンティティタイプの中で変更する必要があるものを、すべて列挙せよ」の解釈については,もうちょっと考えます。
ちょっとメモ
暗黙のリレーション(?)
駐車場設備→出動指示明細
駐車場設備→駐車場設備点検
駐車場設備→駐車場設備修理
エンティティ@駐車場設備の主キーは{マンション番号,駐車場施設番号,駐車場設備番号}であるが,エンティティ@出動指示明細,駐車場設備点検,駐車場設備修理には,属性@駐車場施設番号,駐車場設備番号しかなく,属性@マンション番号がない。
属性@マンション番号は,エンティティ@出動指示に持っており,エンティティ@出動指示明細,駐車場設備点検,駐車場設備修理は属性@出動指示番号でエンティティ@出動指示を参照することで,属性@マンション番号を得ることができる。
つまり,属性@出動指示番号で属性@マンション番号を一意に特定できる。
あるエンティティタイプの属性@出動指示番号を出動番号に変更した場合,影響があるのか?
⇒影響はない。
エンティティ@出動にも属性@マンション番号を持っており,属性@出動番号で属性@マンション番号を一意に特定できる。
>>5
おくやみさんの解釈は
「あるエンティティタイプ」
駐車場設備修理
「この変更によって,図5のエンティティタイプの中で変更する必要があるもの」
駐車場設備修理,交換部品明細
と,いうことでしょうか?
変更後のER図
※エンティティ@駐車場設備修理の属性@出動指示番号は,属性@出動番号でエンティティ@出動を参照すれば,一意に特定できるので,省略可能と思われます。
(マンション番号と同じ扱いですね)
おそらく時間をかけてコメントしてくれているのだと思います。
ありがとうございます。
私は逆にいつも不十分な書き方ですみません。
属性@マンション番号は,エンティティ@出動指示に持っており,エンティティ@出動指示明細,駐車場設備点検,駐車場設備修理は属性@出動指示番号でエンティティ@出動指示を参照することで,属性@マンション番号を得ることができる。 つまり,属性@出動指示番号で属性@マンション番号を一意に特定できる。
なるほど。そういう可能性も考えられますね。
おくやみさんの解釈は
「あるエンティティタイプ」 駐車場設備修理「この変更によって,図5のエンティティタイプの中で変更する必要があるもの」
駐車場設備修理,交換部品明細と,いうことでしょうか?
説明不足でしたが、「あるエンティティ」は駐車場設備修理,交換部品明細の二つで、変更内容は出動指示番号⇒出動番号だけでよさそうですね。
問題文の「この変更によって、」の部分がなければ、
「出動指示番号⇒出動番号の変更が必要なエンティティを全て選べ」と解釈できそうですよね。
変更内容を問われないっていうことはやっぱりこの解釈でいいのかなぁ。どうですか?
>>11
どもです。
>時間をかけてコメント。。。
すいません。考えるためのまとまった時間がなかなか取れず,昼休みの合間合間に少しずつ考えています。
>問題文の「この変更によって、」の部分がなければ
確かにおっしゃるとおりで,「この変更によって」の部分がなければ,すんなり納得できます。
>やっぱりこの解釈でいいのかなぁ
私もこれでいいと思います。
また,各社の解答例も駐車場設備修理,交換部品明細となっていますので,同じ解釈であると思っています。
問題文のあいまいさは,複数回答例を引き出すためのものと思えば(?)いいのかなと(苦笑
複数回答例ということで,
問題文(「この変更によって」含む)を尊重したパターンを考えてみました。
問題文を普通に読むと
あるエンティティ:ひとつ
変更が必要があるもの:複数で「あるエンティティ」以外
と取れます。
これを前提に考えると,可能性があるパターンは
あるエンティティ:出動指示明細
変更が必要あるもの:駐車場設備修理,交換部品明細,駐車場設備点検,部位装置点検結果,検出異常
しか思いつきませんでした。
ただ,このパターンは,エンティティ@出動指示明細の役割が出動明細に変わってしまう点が反則っぽいです。
ども、おひさです。
ここ私もずっと悩んで、かつビクビクしてるんですが、
私は、駐車場設備修理,交換部品明細,駐車場設備点検,
部位装置点検結果,検出異常
と解答しました。
>12
実は本番ではこのような答えにしました。
ただあんまり綺麗じゃないんですよね。
まあそろそろ答えが出る頃ですよね。
待ちましょうか。