データベーススペシャリスト 平成22年春期 午前U 問5

午前U 問5

"学生は,学期が異なれば同じ授業科目を何度でも履修できる"を適切に表現しているデータモデルはどれか。ここで,モデルの表記法にはUMLのクラス図を用いる。
  • [この問題の出題歴]
  • データベース H25春期 問4

分類

テクノロジ系 » データベース » データベース設計

正解

解説

まず最初に学生と授業科目の多重度を考えます。
  • 1人の学生は複数の授業科目を履修する
  • 1つの授業科目は複数の学生に履修される
以上より、学生−授業科目の多重度は多対多になります。次に学期と授業科目は、
  • 1つの学期には複数の授業科目が開講される
  • 1つの授業科目は複数の学期で開講される
以上より、学期−授業科目の多重度は多対多になります。最後は学生と学期です。
  • 1人の学生は複数の学期に履修する
  • 1つの学期には複数の学生が履修する
以上より、学生−学期の多重度も多対多になります。

つまり3つのエンティティが互いに多対多で結ばれている三項関連になります。クラス図ではこのようなN項の関連は各クラスから出た線を菱形に接続することで表現します。したがって「エ」が適切です。
ちなみにこのデータモデルを関係データベースに変換すると3つを組合わせた複合主キーをもつ"履修"表および"学生"表、"授業科目"表、"学期"表が得られます。他にも(注文,販売先,日付)などが3項の多対多関連になります。
  • 学生から見た学期の多重度は1なので、1人の学生が1つの学期だけに対応することになります。つまりこのデータモデルは同じ学期内であり、異なる授業科目であれば複数履修できる様子を表現しています。
    05aa.gif/image-size:468×113
  • UMLにおいて関連線に点線で接続されたクラスは関連クラスといい、2つエンティティの関連の一部となる属性情報を持ちます。同じ学生と授業科目の組合せには複数の関連線を引けないため、1人の学生が同じ授業科目を履修することはできません。
    05ii.gif/image-size:400×113
  • 授業科目から見た学生の多重度は1なので、このデータモデルは1つの授業科目が1人の学生だけに履修される様子を表現しています。さらに学期から見た学生の多重度も1なので、1つの学期に1人しか履修出来ないことになります。下のオブジェクト図では"山田:学生"だけは"英語:授業科目"を2つの期に渡って履修出来ますが、他の学生はその期に他の授業科目を履修できません。
    05uu.gif/image-size:468×113
  • 正しい。赤い線の2組の関連は1人の学生が学期が異なる同じ授業科目を履修する関連を示しています。
    05ee.gif/image-size:468×174
© 2016-2019 データベーススペシャリストドットコム All Rights Reserved.

Pagetop