【データベース設計】平成23年秋期午後問2について
あげよしさん
(No.1)
https://www.fe-siken.com/kakomon/23_aki/pm02.html
お世話になります。
設問1のcについての質問です。
私はエを選択し、不正解でした。
①エではない理由
①選択肢のアとイの違い
についてご教示いただけますと幸いです。
よろしくお願い致します。
お世話になります。
設問1のcについての質問です。
私はエを選択し、不正解でした。
①エではない理由
①選択肢のアとイの違い
についてご教示いただけますと幸いです。
よろしくお願い致します。
2021.11.18 17:48
chihiroさん
★FE プラチナマイスター
(No.2)
①について
部署名の一覧は部署表をそのまま表示する、あるいはSELECTで"部名"の列だけ抽出して表示するだけです。多分検索すら不要です。ウについても従業員表をそのままないし一部の列だけ抽出するだけです。
②について(①になってますが)
A案の部署表のイメージは以下の通りです。(部署コードは適当です)
部署コード 部署名
D001 総務部人事課
D002 総務部経理課
E001 営業部海外課
E002 営業部国内課
ある課に属する従業員の一覧が欲しければ、その部署コード(あるいは部署名)と一致するレコードを抽出すればいいです。(総務部)経理課に属する従業員であれば、検索条件を「部署コード='D002'」(あるいは「部署名='総務部経理課'」)にします。課名は部署コードにより一意に決まるので完全一致検索が利用できるのです。
一方、部名は部署コードにより一意には決まりません。「部署コード='D002'」で検索しても総務部人事課が検索から漏れてしまうため、総務部全体のレコードは抽出できません。よってある部に属する従業員の検索は、「部署コード LIKE 'D%'」や「部署名 LIKE '総務部%'」のように部分一致検索をすることになります。
部署名の一覧は部署表をそのまま表示する、あるいはSELECTで"部名"の列だけ抽出して表示するだけです。多分検索すら不要です。ウについても従業員表をそのままないし一部の列だけ抽出するだけです。
②について(①になってますが)
A案の部署表のイメージは以下の通りです。(部署コードは適当です)
部署コード 部署名
D001 総務部人事課
D002 総務部経理課
E001 営業部海外課
E002 営業部国内課
ある課に属する従業員の一覧が欲しければ、その部署コード(あるいは部署名)と一致するレコードを抽出すればいいです。(総務部)経理課に属する従業員であれば、検索条件を「部署コード='D002'」(あるいは「部署名='総務部経理課'」)にします。課名は部署コードにより一意に決まるので完全一致検索が利用できるのです。
一方、部名は部署コードにより一意には決まりません。「部署コード='D002'」で検索しても総務部人事課が検索から漏れてしまうため、総務部全体のレコードは抽出できません。よってある部に属する従業員の検索は、「部署コード LIKE 'D%'」や「部署名 LIKE '総務部%'」のように部分一致検索をすることになります。
2021.11.18 18:33
chihiroさん
★FE プラチナマイスター
(No.3)
追記
部署コードの振り方次第では部署コードのLIKE検索はできなくなります。
例えば以下のような振り方です。
部署コード 部署名
D001 総務部人事課
D002 総務部経理課
D003 営業部海外課
D004 営業部国内課
部署コードによる検索ができないとしても部署名で検索すればいいだけなので結論は変わりません。
部署コードの振り方次第では部署コードのLIKE検索はできなくなります。
例えば以下のような振り方です。
部署コード 部署名
D001 総務部人事課
D002 総務部経理課
D003 営業部海外課
D004 営業部国内課
部署コードによる検索ができないとしても部署名で検索すればいいだけなので結論は変わりません。
2021.11.18 19:02
あげよしさん
(No.4)
chihiroさん
ご回答いただきありがとうございます!
丁寧な解説でとてもわかりやすいです。
ご回答いただきありがとうございます!
丁寧な解説でとてもわかりやすいです。
2021.11.19 10:28
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告