問1 データベース設計に関する次の記述を読んで,設問1〜3に答えよ。
スポーツクラブ K
は,会員制のスポーツジムである。利用者は,年会費を払って会員になると,スポーツジムを
1
年間自由に利用することができる。それ以外に,各種の講習会が随時開催されていて,会員は参加費を払ってこれらの講習会に出席することもできる。講習会では,インストラクタ
1 名が 10〜15
名程度の会員の指導にあたることになっている。講習会を担当するインストラクタは,常時
10 名程度がこのスポーツクラブに所属している。
スポーツクラブKの総務課に勤務する L
君は,講習会の管理運営のために情報システムを構築し運用している。
設問 1
現状をモデル化する E-R 図は,次のようになる。図中の[ ]に入れる適切な字句を,解答群の中から選べ。
a, c に関する解答群(注:ハイフンはつながっています)
ア −−
イ −→
ウ ←−
エ ←→
b, d に関する解答群
ア インストラクタ
イ 講習会
ウ 参加費
エ 年会費
設問 2
設問
1 の E-R
図をもとにデータベースを設計構築し,運用にあたって必要な情報を抽出する
SQL 文を作成した。
次の記述中の[ ]に入れる適切な字句を,解答群の中から選べ。
〔データベーススキーマ〕
会員(会員番号,会員氏名,住所,電話番号)
講習会(講習会番号,講習会名称,開講日,[ e ],参加費)
インストラクタ(インストラクタ番号,インストラクタ氏名)
講習会参加([ f ],講習会番号)
〔 SQL文 〕
・会員ごとの 1999 年 9 月分講習会参加費を集計する
SQL 文
SELECT 会員.会員番号,SUM(講習会.参加費)
FROM [ g ].[ h ],[ i ]
WHERE[ g ].会員番号=[ h ].会員番号
AND[ h ].講習会番号=[ i ].講習会番号
AND 開講日 BETWEEN ‘1999-09-01’ AND ‘1999-09-30’
GROUP BY 会員.会員番号
・これまでに講習会に参加したことがなく,現在予定されているその他の講習会にも参加の予定のない会員の一覧を作成する SQL 文
SELECT 会員番号.会員氏名
FROM 会員
WHERE [ j ][ k ]
(SELECT [ j ] FROM [ l ])
e, fに関する解答群
ア インストラクタ番号
イ 会員番号
ウ 講習会番号
g 〜j, l に関する解答群
ア インストラクタ
イ インストラクタ番号
ウ 会員
エ 会員番号
オ 講習会
カ 講習会参加
キ 講習会番号
ク 講習会名称
k に関する解答群
ア AND
イ EXISTS
ウ FROM
エ GROUP BY
オ HAVING
カ IN
キ NOT
ク NOT IN
ケ OR
コ ORDER BY
設問 3
現在このスポーツクラブでは,事業拡大とサービス品質の向上を目的として,次の二つの改善施策を検討している。
(1) これまでの会員を“通常会員”とし,それに加えて“平日会員”の制度を導入する平日会員は,年会費が通常会員より低額だが,スポーツジムを利用できるのが平日に限られるほか,講習会の参加費が通常会員よりも 2 割高くなる。
(2) 講習会中の安全を確保するために,内容によっては複数のインストラクタで一つの講習会を担当する。
これらの施策を実施するには,L
君の運用している情報システムにも変更が必要になる。そこで,いずれかの施策が実施された場合に
E-R
図とデータベーススキーマのそれぞれに対して必要となる変更の内容を検討し,次の表の形にまとめた。表中の[ ]に入れる適切な字句を,解答群から選べ。
m, o に関する解答群
ア 新しいエンティティを一つ追加する。
イ 既存のエンティティを一つ削除する。
ウ 新しい関連を一つ追加する。
エ 既存の関連を一つ削除する。
オ 既存の関連の一つを 1 : 1 に変更する。
カ 既存の関連の一つを 1 : 多(多: 1
)に変更する。
キ 既存の関連の一つを多:多に変更する。
ク 変更は必要ない。
n, p, q に関する解答群
ア 新しい表を一つ追加する。
イ 既存の表を一つ削除する。
ウ 既存の表に属性を一つ追加する。
エ 既存の表から属性を一つ削除する。
オ 変更は必要ない。