ホーム > データベーススペシャリスト試験 > 2013年
データベーススペシャリスト試験 2013年 午前2 問04
学生は、学期が異なれば同じ授業科目を何度でも履修できるを適切に表現しているデータモデルはどれか。ここで、モデルの表記にはUMLを用いる。

ア:
イ:
ウ:
エ:(正解)
解説
要件の言い換え
同じ学生が、学期が変われば同一授業科目を何度でも履修できる。
これをデータモデルに落とすには、
1 人の 学生 と 1 つの 授業科目 の組に対して 学期 を区別子として持たせる必要があります。
── つまり 「履修」という関連クラス(交差エンティティ) に
属性として 学期 をぶら下げる構造が最も自然です。
1 人の 学生 と 1 つの 授業科目 の組に対して 学期 を区別子として持たせる必要があります。
── つまり 「履修」という関連クラス(交差エンティティ) に
属性として 学期 をぶら下げる構造が最も自然です。
選択肢を UML の多重度でチェック
なぜ イ が適切か
- 関連クラス という UML の定石を使い、
「学生と授業科目を結ぶ関連」に “学期” を持たせている。 - これによりキーは (学生ID, 授業科目ID, 学期) となり、
学期が異なる限り 同じ学生-科目行を複数登録できる。 - 要件を過不足なく表し、余計な制約も設けていない。
結論
選択肢 イ が、要件「学期が異なれば同じ授業科目を何度でも履修できる」を最も適切に表現したデータモデルである。