※ ChatGPTを利用し、要約された質問です(原文:ER図について)
ER図についての疑問
このQ&Aのポイント
ER図について質問があります。具体的には、カーディナリティやリレーションの連結について疑問があります。
ホテルの客室予約システムのER図を例に質問します。カレンダ、予約、料金のリレーションについての疑問です。
具体的には、料金表とカレンダ表のリレーションにおいて、結合条件が不足しているのではないかと思っています。
現在、資格の勉強をしているのですが、
E-R図についてわからないことがあります。
ホテルの客室予約システムのER図です。
ER図のなかの必要と思われる部分だけを抜粋します。
カレンダ((P)宿泊日、シーズン)
予約((P)予約番号、会員番号、宿泊日、ホテルコード、部屋タイプ、予約室数)
料金((P)ホテルコード、(P)部屋タイプ、(P)シーズン、料金)
(P)は主キーで複数あるときはすべてあわせて主キーです。
なお、ホテル、部屋タイプはそれぞれ複数あり、
同じ部屋でもシーズンによって値段がことなります。
シーズンにはオン、ミドル、オフのみっつがあり、
カレンダ表には、日付と、それに対応するシーズンが
かくのうされています。なお、一つの予約番号に対して1日分の宿泊で、複数日宿泊するときは、複数の
予約番号が必要となります。
この3つの表のリレーションは、
カレンダ 1対多 予約 多対1 料金 となっています。
私は今まで、1対多のカーディナリティは、多の側の
表の行が決まれば1の側の行も1意にきまるだけでなく、必ず、主キー、外部キーで連結されるものと
思っていました。
料金表とカレンダ表の関係で見ると、ホテルコード、部屋タイプまでは共通していますが、シーズンが
足りず、これでは結合条件不足かと思います。
料金表を一意に特定できないかと思うのですが。
確かに、予約表の宿泊日が分かっていればシーズンもおのずと分かり、料金表を一意にとくていできます。そういう意味では正しいかと思うのですが。
長々となってしまいもうしわけありません。
要するに、属性や主キーの決まったER図における
リレーションやカーディナリティは、必ず外部キーと
主キーをとおして連結されているのでしょうか。
もし、それ以外の場合もありましたらお教えください。よろしくお願いいたします。
お礼
返事がおそくなりすみません。 長文の質問にもかかわらず、 ご回答くださりありがとうございます。 キーによる完全な連結を目指さない 場合もあるんですね。受験しようと しているのはソフト開発のほうなんですが、 過去問題には外部キー、主キーによる連結 に忠実な問題と、今回のようなそうではない もんだいがあるので、問題文を読んで 注意深く判断できるようにしようと思います。 どうもありがとうございました。