平成21年秋期午後問6 設問2 (3)
広告
ネコババさん
(No.1)
https://www.ap-siken.com/kakomon/21_aki/pm06.html
設問2 (3)に関連して
私の理解力不足のためふんわりとした質問になってしまうのですが
表1"顧客テーブル"は例えば同じ家の家族内で親子が個別に顧客登録した際のように、
同一住所で別の人物がいる場合、問題が起きないのでしょうか?
設問2 (3)に関連して
私の理解力不足のためふんわりとした質問になってしまうのですが
表1"顧客テーブル"は例えば同じ家の家族内で親子が個別に顧客登録した際のように、
同一住所で別の人物がいる場合、問題が起きないのでしょうか?
2021.12.23 15:34
おれさん
(No.2)
顧客テーブルの主キーは”顧客番号”のみであることが見て取れます。同一家族なら住居や郵便番号などが重複するため不具合が起きるのでは?とお思いかもしれませんが、電話番号や氏名も属性として含まれているため、これらは同じ家族でも同一になることはまずないかと思われます。
なので同一家族でも顧客番号で一意に定まるため、重複問題は発生しないので問題はないと考えます。
問題をしっかり見た訳ではございませんので、でたらめなことを申し上げていたら申し訳ありません。
なので同一家族でも顧客番号で一意に定まるため、重複問題は発生しないので問題はないと考えます。
問題をしっかり見た訳ではございませんので、でたらめなことを申し上げていたら申し訳ありません。
2021.12.23 16:27
PPさん
(No.3)
データベースでは主キーが重複している場合に問題が発生します。
本問のテーブルを例を挙げると、「"申込番号"からツアー申込者の"氏名"を知りたい」というときに、
・申込みテーブルから"申込番号"で検索し、"顧客番号"を取得する
・顧客テーブルから"顧客番号"で検索し、"氏名"を取得する
というステップを踏みます。
この時、顧客テーブルの主キーである"顧客番号"が重複していると、"顧客番号"1つに対し、複数の"氏名"が登録されていることになり、正しくデータが取得できません。
おれさんも回答されていますが、表1の顧客テーブルの主キーは"顧客番号"のみですので、非キー属性である"住所"などが重複していても問題ありません。(非キー属性でテーブルからデータを検索することはできないからです。)
本問では「新規の顧客の場合には顧客番号を新たに設定」と記載されています。どのように新規の顧客かを判断するのかは明記されていませんが、仮に、非キー属性すべてが重複して、顧客番号のみが異なるデータがあったとしても、データベース的には問題ありません。
本問のテーブルを例を挙げると、「"申込番号"からツアー申込者の"氏名"を知りたい」というときに、
・申込みテーブルから"申込番号"で検索し、"顧客番号"を取得する
・顧客テーブルから"顧客番号"で検索し、"氏名"を取得する
というステップを踏みます。
この時、顧客テーブルの主キーである"顧客番号"が重複していると、"顧客番号"1つに対し、複数の"氏名"が登録されていることになり、正しくデータが取得できません。
おれさんも回答されていますが、表1の顧客テーブルの主キーは"顧客番号"のみですので、非キー属性である"住所"などが重複していても問題ありません。(非キー属性でテーブルからデータを検索することはできないからです。)
本問では「新規の顧客の場合には顧客番号を新たに設定」と記載されています。どのように新規の顧客かを判断するのかは明記されていませんが、仮に、非キー属性すべてが重複して、顧客番号のみが異なるデータがあったとしても、データベース的には問題ありません。
2021.12.23 17:54
ネコババさん
(No.4)
おれさん、PPさん
こんなにも短時間で回答いただけるなんて!
非常に丁寧でわかりやすい解説ありがとうございました!
こんなにも短時間で回答いただけるなんて!
非常に丁寧でわかりやすい解説ありがとうございました!
2021.12.24 11:37
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。