令和7年秋期試験午後問題 問6

問6 データベース

⇱問題PDF
受講管理システムの改修に関する次の記述を読んで,設問に答えよ。
 D社は,日本人を対象に英会話のオンライン教育サービスを提供する中堅企業である。従来は,ビジネス英会話の講座を提供していたが,それに加えて日常英会話の講座を追加することになった。
 従来のビジネス英会話講座と新規に追加する日常英会話講座との違いを表1に示す。
pm06_1.png
 日常英会話講座のジャンルは,サービスを開始してから1年程度は,申込み具合などを考慮して変更する可能性がある。
 講師は割り当てられた講座の開始時刻から終了時刻まで拘束されるが,それ以外の時間帯は自由である。現状は勤務日と講座担当の割当てだけで勤務を管理している。講座の受講管理には,受講管理システムを利用している。
 現状のビジネス英会話講座を管理する受講管理システムのE-R図を図1に示す。
pm06_2.png
 開催スケジュールについては,同じ講座が複数回開催されるので,開催番号で区別している。
 受講管理システムのデータベースでは,E-R図のエンティティ名を表名にし,属性名を列名にして,適切なデータ型で表定義した関係データベースによって,データを管理する。

〔受講管理システムの関係スキーマの変更〕
 講座の種類には,表1に示す内容に沿った値以外のものを格納できないように定義域制約を適用する。
 日常英会話講座の追加に当たり,日常英会話講座のジャンルの変更の容易性と講師の勤務管理の厳密化を考慮して,受講管理システムの関係スキーマの変更内容を次のように検討した。
  • 講座エンティティをスーパータイプにして,ビジネス英会話講座エンティティ,日常英会話講座エンティティをサブタイプとして新規に追加する。講座エンティティにビジネス英会話講座か日常英会話講座かを区別する講座区分属性を追加して,講座エンティティからcd①二つの属性をサブタイプに移す
  • 勤務日でも講師が講座を受けもつことができない時間帯は予約できないようにするため,勤務日の勤務可能時間帯を管理する勤務可能時間エンティティを追加する。

 追加及び変更するエンティティを図2に示す。
pm06_3.png
〔表の定義の追加,変更〕
 受講管理システムの関係スキーマの変更に伴い,新規表の定義,既存表の変更を行う。今回の変更では,スーパータイプ,サブタイプのエンティティごとに別の表にしている。講座表の変更に当たり,削除する列の情報は削除前に保存して,追加したサブタイプに反映する。
 講座表の変更を行うSQL文を図3に示す。
pm06_4.png
 勤務可能時間表を作成するSQL文を図4に示す。
 図4で,勤務日表の行が削除された場合は,参照元の勤務可能時間表の行も自動的に削除されるようにしている。
pm06_5.png
〔勤務日の削除〕
 勤務日が削除可能となるのは,指定した日の勤務年月日に開催する講座を講師が担当していない場合である。
 指定した日にある講師が担当している講座の講座コードの一覧を取得するSQL文を図5に示す。ここで,":講師コード"と":勤務年月日"は,それぞれ対象となる講師の講師コードと指定した日の年月日を格納する埋込み変数である。
 なお,CAST指定は,データ型を変換する際に使用される。
pm06_6.png

設問1

図1中のabに入れる適切な属性名及びエンティティ間の関連を答え,E-R図を完成させよ。なお,属性名の表記及びエンティティ間の関連は図1の凡例に倣うこと。
(※正誤判定の都合上,主キー属性は{属性名},外部キー属性は(属性名)と入力してください)

解答例・解答の要点

a:開催番号
b:

解説

この設問の解説はまだありません。

設問2

〔受講管理システムの関係スキーマの変更〕について答えよ。
  • 本文,図2及び図3中のcdに入れる適切な属性名を答えよ。
  • 本文中の下線①について,二つの属性をサブタイプに移した理由を20字以内で答えよ。
  • 図2中のeに入れる適切な属性名を答えよ。

解答例・解答の要点

  • c:レベル ※順不同
    d:ジャンル ※順不同
  • 定義域が講座区分によって異なるから (17文字)
  • e:年齢層

解説

この設問の解説はまだありません。

設問3

図3中のfに入れる適切な字句を答えよ。

解答例・解答の要点

f:ALTER

解説

この設問の解説はまだありません。

設問4

図4中のghに入れる適切な字句を答えよ。

解答例・解答の要点

g:勤務年月日,講師コード
h:CASCADE

解説

この設問の解説はまだありません。

設問5

図5中のiに入れる適切な字句を答えよ。

解答例・解答の要点

i:ON t0.講座コード = t1.講座コード AND t0.開催番号 = t1.開催番号

解説

この設問の解説はまだありません。
模範解答

Pagetop