HOME»データベーススペシャリスト掲示板»H27春-午後1-問2について
投稿する
どこの社員も営業部か工事部に所属するなら、スーパータイプ間の話で済ませられますよね。
まあ、もっと言えばサブタイプに外部キー(所属部コード)がない、ってなりますけど。「・・・」にあるかもしれないじゃないか!というのはまずないです。
営業社員は所属先が決まってるけどその他はねえー所属させないんだわ、ってなれば、話は変わってきますが。
サブタイプはあくまで「スーパータイプでもってると不都合が起きるから」そういう分割をしているだけであり、別に共通で持っていても困らないならスーパータイプにそのまま持たせておくものです(これはこの前の質問でも書きましたが)。必要に迫られない限りサブタイプなんか作らない、これが鉄則です。共通の属性は継承で引っ張ればいいだけですから、サブタイプにはスーパータイプの主キーとそのサブタイプとしての特有の属性しか持たせんのです。
H27春-午後1-問2について [0222]
ORUDBさん(No.1)
H27春-午後1-問2の設問1(2)について質問です。
模範解答では、部と社員に1対多の関連がありますが、このことで少し疑問が生じました。
社員にはサブタイプとして工事部社員、営業部社員があります。同様に、部にも営業部と工事部があります。
よって、これらのサブタイプから過去問演習時には、
*営業部と営業部社員に1対多
*工事部と工事部社員に1対多
の関連を引きました。
この関連を引いた理由について、
*それぞれの部に対応する社員のサブタイプが存在すること
*問題文より、社員は営業部か工事部のどちらか一つに所属することがわかっている
といった点から関連を決めましたが、、、
なぜ、これが社員と部の関連になっているのか(言葉は悪くなりますが、大雑把になっているのか)がわかりません。
このことについてご教授いただけると幸いです。
浅はかな知識による質問である点、乱文である点ご了承ください。
模範解答では、部と社員に1対多の関連がありますが、このことで少し疑問が生じました。
社員にはサブタイプとして工事部社員、営業部社員があります。同様に、部にも営業部と工事部があります。
よって、これらのサブタイプから過去問演習時には、
*営業部と営業部社員に1対多
*工事部と工事部社員に1対多
の関連を引きました。
この関連を引いた理由について、
*それぞれの部に対応する社員のサブタイプが存在すること
*問題文より、社員は営業部か工事部のどちらか一つに所属することがわかっている
といった点から関連を決めましたが、、、
なぜ、これが社員と部の関連になっているのか(言葉は悪くなりますが、大雑把になっているのか)がわかりません。
このことについてご教授いただけると幸いです。
浅はかな知識による質問である点、乱文である点ご了承ください。
2021.09.10 12:35
GinSanaさん(No.2)
★DB ゴールドマイスター
この投稿は投稿者により削除されました。(2021.09.10 13:15)
2021.09.10 13:15
GinSanaさん(No.3)
★DB ゴールドマイスター
>この関連を引いた理由について、
> *それぞれの部に対応する社員のサブタイプが存在すること
> *問題文より、社員は営業部か工事部のどちらか一つに所属することがわかっている
>といった点から関連を決めましたが、、、
どこの社員も営業部か工事部に所属するなら、スーパータイプ間の話で済ませられますよね。
まあ、もっと言えばサブタイプに外部キー(所属部コード)がない、ってなりますけど。「・・・」にあるかもしれないじゃないか!というのはまずないです。
営業社員は所属先が決まってるけどその他はねえー所属させないんだわ、ってなれば、話は変わってきますが。
サブタイプはあくまで「スーパータイプでもってると不都合が起きるから」そういう分割をしているだけであり、別に共通で持っていても困らないならスーパータイプにそのまま持たせておくものです(これはこの前の質問でも書きましたが)。必要に迫られない限りサブタイプなんか作らない、これが鉄則です。共通の属性は継承で引っ張ればいいだけですから、サブタイプにはスーパータイプの主キーとそのサブタイプとしての特有の属性しか持たせんのです。
2021.09.10 13:15
ORUDBさん(No.4)
なるほど、、
自分がまだスーパタイプやサブタイプに対する知識が不足していることがわかりましたので、頑張りたいと思います。
とてもわかりやすい回答、本当にありがとうございます!
自分がまだスーパタイプやサブタイプに対する知識が不足していることがわかりましたので、頑張りたいと思います。
とてもわかりやすい回答、本当にありがとうございます!
2021.09.11 01:51