HOME»基本情報技術者試験掲示板»平成24年春期午後問3設問3
投稿する

[3370] 平成24年春期午後問3設問3

 さん(No.1) 
https://www.fe-siken.com/kakomon/24_haru/pm03.html
こちらの問題の設問3のaで精算表と料理表が必要なのは分かりますが、
明細表はどうして必要なのでしょうか?
どなたか解説よろしくお願いします。
2021.06.06 17:42
かなさん(No.2) 
FE ブロンズマイスター
精算表には清算コード・社員番号・日付・精算額のみが記載されています。また、料理表には料理コード・料理名・単価・カロリーのみが記載されています。

清算コードと実際に注文した料理(料理コード)を紐づけるのは明細表なので、明細表も必要になります。
2021.06.06 18:53
 さん(No.3) 
理解できました。ありがとうございます。
2021.06.06 19:11
GinSanaさん(No.4) 
FE シルバーマイスター
これは最初からエンティティが
精算表、料理表、明細表に分けられているから  結合条件として必要なんだ  となるかもしれませんが、実際は
料理表に結合条件があったらそれでいいのか?ということをまず考えないとなりません。
そもそも、この明細表は精算表と料理表の主キーについでに注文数もつけましたよ、という構成ですが、なんでこうなるかを説明するのに  連関エンティティ  という概念が出てきます。

基本情報ではエンティティとかいう単語は出てこないから、応用になってから思い出してほしいのですが、
たとえばある案件レコードの担当者番号が、担当者のマスタテーブルに関連付けられていたら、1対多だよな、っていいますが、
これが
あるテーブルの複数のレコードが別のテーブルの複数のレコードと関連付けられている場合
だと、多対多
のつながりが発生します。
たとえば、多対多のリレーションシップは顧客と製品の間に存在します。
顧客はさまざまな製品を購入でき、製品は多数の顧客によって購入されます。

そんで、だからなんだ?という話になりますが、これが困るのは、
通常、世の中のOracleだとかMySQLだとかのいわゆる  リレーショナルデータベースシステム  では、2つのテーブル間に多対多の関係を持たせられない  のです。1対多はヨユーですけど。

たとえば、同じ請求書番号の請求書が多数あったとしましょう。
その請求書番号を照会されても、どのことかわかりません。

こうした問題を回避するために、いわゆる  連関エンティティ  とか  結合テーブル  とか呼ばれる第三のテーブルを使用して、多対多のつながりを2つの
1対多
のつながりに分割してやらねばならんのです。
ま、連関エンティティなんて単語が出てくるのはデータベーススペシャリストになってからなので、こんなこといってたな、くらいであとから思い出してください。
2021.06.06 21:34
 さん(No.5) 
詳細な説明ありがとうございます。
多対多はだめだから間にテーブルを挟んで精算表1対多明細表  料理表1対多明細表のような感じにするということですね。
2021.06.07 07:33

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop