DBデータベーススペシャリスト試験 午後Ⅰ

令和7年度秋期 データベーススペシャリスト 午後Ⅰ 問1 大学の学習管理システムの概念データモデリング

事例を読んで設問の答えを考えてから、解説のポイントとIPA公式の解答例・採点講評で確認しましょう。

問題

問1 大学の学習管理システムの概念データモデリングに関する次の記述を読んで、設 問に答えよ。 T大学は、オンライン講義の増加が落ち着いたことを受けて、急造の学習管理シス テムを見直すために概念データモデルと関係スキーマを設計した。 〔現状の学習管理の概要〕 1. 学部、学科、学期 (1) T大学は、4年制総合大学で、複数の学部と各学部の中に複数の学科がある。 (2) 学部は学部コードで識別し、学科は学科コードで識別する。 (3)年度は1年間(4月始まり)で、学期は前期(4~9月)と後期(10~3月)の 各6か月間である。前期,後期を半期、前期と後期とを併せて通期と呼ぶ。 2.教員 (1) 教員は、教員番号、氏名、生年月日をもつ。 (2)教員は、科目を担当し、講義を実施する。 3.学生 (1) 学生は、学籍番号、氏名、生年月日をもつ。 (2) 学生は、年度ごとに、前期,後期、通期のいずれかに対して科目の履修登録 を行う。 4. 科目,開講科目 (1) 科目は科目IDで識別する。 (2) 科目には、科目名、科目目標、科目概要、単位数、必須か選択かの区分、開 講期間(半期又は通期)を設定する。 (3) 学科には、対象年度に開講する科目を定める。開講年度,学期、曜日、時限, 担当教員1名、及び後述するインターネット経由の講義を行うための接続先URL を開講科目として登録する。 (4)一つの学科では、同じ科目を並行して開講することはない。ただし、異なる 学科で同じ科目が開講されることはある。 5.講義 (1) 科目の講義回数は、半期開講と通期開講でそれぞれ 15回程度と30回程度で あり、1回の講義時間は90分である。 (2) 講義の開講形態には、教員と学生が集合して実施する対面講義、インターネ ット経由で同時双方向のリアルタイム型講義、事前に準備してある動画視聴ファイルを学生が好きなときにインターネット経由で視聴するオンデマンド型講 義の3種類があり、開講形態区分で分類する。1回の講義に複数の開講形態を 組み合わせることはない。 (3) 講義は、開講科目に講義番号を付与して識別し、講義概要、開講形態区分, 開講年月日設定要否を設定する。 (4) オンデマンド型講義では、動画視聴ファイル名、公開の開始と終了の年月日 時分を設定する。 (5) リアルタイム型講義では、開講年月日、オンライン教室IDを設定する。 (6) 対面講義では、開講年月日と開講場所を設定する。 (7) リアルタイム型講義とオンデマンド型講義とを併せてオンライン講義と呼び、 リアルタイム型講義と対面講義とを併せて時間固定講義と呼ぶ。オンライン講 義に該当する場合オンライン講義フラグを、時間固定講義に該当する場合時間 固定講義フラグをそれぞれ有効にする。 (8) オンライン講義と時間固定講義は、講義がもつ開講形態区分を継承して明示 的にもつ。 (9) 対面講義が演習又は実験の場合,科目担当教員に加えて、複数の教員が補助 として入る場合がある。 6. デジタルコンテンツ (1) オンライン講義で用いる教材及びテスト問題であり、コンテンツIDで識別し, コンテンツ名、コンテンツ概要、作成年月日時分をもつ。 (2) デジタルコンテンツが教材かテスト問題かは、コンテンツ区分で分類する。 (3) 教材は、文書、画像、動画のいずれかであり、ファイル形式をもつ。 (4) 教材を用いるのはリアルタイム型講義とオンデマンド型講義であり、一つ又 は複数の教材を使用し、講義ごとにそれぞれの教材の公開期間を開始と終了の 年月日によって設定している。 (5) テスト問題は、解答時間をもつ。 (6) テスト問題を用いるのはリアルタイム型講義だけである。リアルタイム型講 義では、一つ又は複数のテストを実施し、講義ごとにテスト問題の解答期限時 刻,解答入力ページのURLを設定している。 7. 講義受講とテスト結果、成績の記録 (1) 学生が履修登録した講義について、学生が出席すると受講年月日を講義受講 に記録する。 (2) 時間固定講義では、遅刻の有無、早退の有無を記録する。 (3) オンデマンド型講義では、最後まで受講すると受講完了年月日を記録する。 (4) 実施したテスト問題ごとに、採点した得点と評価年月日を記録する。 (5) 通期又は半期の全講義終了後に,出席状況とテストの採点結果を基に科目の 履修登録に成績を記録する。 〔概念データモデルと関係スキーマの設計〕 現状の学習管理システムの概念データモデルを図1に、関係スキーマを図2に示す。 【図1 現状の学習管理システムの概念データモデル(未完成)】 【図2 現状の学習管理システムの関係スキーマ(未完成)】 〔学習管理システムの拡充〕 学習管理システムを用いてオンデマンド型講義でレポート課題を実施することに した。そのやり方について次のように検討し、関係スキーマを設計した。追加及び 変更する関係スキーマを図3に示す。 (1) デジタルコンテンツにレポート課題を加える。デジタルコンテンツがレポート 課題に該当することは、コンテンツ区分に値を追加して分類する。 (2) レポート課題は、レポートすべき観点を説明した課題観点記述をもつ。 (3) レポート課題を用いるのはオンデマンド型講義だけである。レポート課題は、 教員の判断で必要なオンデマンド型講義の回に用いる。1回のオンデマンド型講 義で課すレポート課題は一つだけである。 (4) レポート課題の出題では、その講義でのレポート提出先URL、提出期間の開始 と終了の年月日を設定する。 (5) 学生が提出したレポートに対して、レポート評価と評価年月日をレポート評価 結果として記録する。レポート評価結果とテスト結果を汎化して評価結果とする。 【図3 追加及び変更する関係スキーマ(未完成)】 解答に当たっては、巻頭の表記ルール及び次に従うこと。ただし,エンティティタイプ間の対応関係にゼロを含むか否かの表記は必要ない。 ① 関係スキーマは第 3正規形にし、“多対多”のリレーションシップは用いない こと。 ②識別可能なサブタイプが存在する場合、他のエンティティタイプとのリレー ションシップは、スーパータイプ又はサブタイプのいずれか適切な方との間に 記述すること。 ③ 同一のエンティティタイプ間に異なる役割をもつ複数のリレーションシップ が存在する場合、役割の数だけリレーションシップを表す線を引くこと。 ④ エンティティタイプ名、関係名、属性名は、それぞれ意味を識別できる適切 な名称とすること。 ⑤ 関係スキーマに入れる属性名を答える場合、主キーを表す下線、外部キーを 表す破線の下線についても示すこと。 ⑥ スーパータイプには、対応するサブタイプを識別する切り口の役割の属性を もつこと。 なお、スーパータイプに対応するサブタイプを識別する切り口の役割の属性 には、冗長な属性が必要になる場合がある。この場合,冗長にもたせた属性の 属性名の前後を“[”と“]”で挟んで明示する。 設問1 現状の概念データモデル及び関係スキーマについて答えよ。 (1) 図1中の【a】に入れる適切なエンティティタイプ名を答えよ。 (2) 図1は未完成である。欠落しているリレーションシップを補って図を完成 させよ。 (3) 図2中の【ア】~【ス】に入れる一つ又は複数の適切な属性名 を補って関係スキーマを完成させよ。 設問2 図3中の【セ】~【ツ】 に入れる一つ又は複数の適切な属性名を補 って関係スキーマを完成させよ。
図1 現状の学習管理システムの概念データモデル(未完成)。
図1 現状の学習管理システムの概念データモデル(未完成)。
図2 現状の学習管理システムの関係スキーマ(未完成)。
図2 現状の学習管理システムの関係スキーマ(未完成)。
図3 追加及び変更する関係スキーマ(未完成)。
図3 追加及び変更する関係スキーマ(未完成)。
解き方のヒントを見る

要件の記述とモデル要素の対応付け

データモデルを完成させる問題では、知識の暗記よりも、与えられた業務要件の記述一つ一つがモデル上のどの要素に反映されるべきかを丁寧に追跡することが重要です。追加された要件も含め、根拠となる記述を必ず確認しましょう。

この問題で問われていること

確認すべき観点は一つ、「各要件の記述が、モデルや関係スキーマのどこに根拠として現れるか」です。解答を決める前に、その箇所に関係する要件の文を特定し、記述と結論が矛盾していないかを照合してください。

視点

概念データモデルは業務上の事実を、関係スキーマはそれを表として実装する形を表します。両者は同じ要件から導かれるため、一方で読み取った内容は他方とも整合しているはずです。要件の文言を根拠にして、両者の間に食い違いがないかという観点で見直すと、思い込みによる判断を避けやすくなります。

確認ポイント

  • 判断しようとしている箇所について、根拠となる要件の文を具体的に指し示せるか
  • もともとの要件と後から加わる要件の双方を、読み落とさずに照合できているか
  • 概念データモデル側と関係スキーマ側の判断が、同じ要件の読み取りに基づいて一致しているか
正解と解説を見る

解説

大学の学習管理システムを題材に、業務要件を概念データモデルと関係スキーマに落とし込む問題です。講義には「開講形態区分」「オンライン講義フラグ」「時間固定講義フラグ」の三つの切り口があり、切り口ごとのサブタイプ構造と、各サブタイプに正しく関連を付けることが中心です。スーパータイプの関係スキーマには、サブタイプを識別するための属性(冗長なら[]付き)を持たせます。また、レポート評価結果とテスト結果を汎化して評価結果とする設計変更についても問われます。

問題の全体像

T大学がオンライン講義用に急いで作った学習管理システムを見直す事例です。学部・学科・科目・開講科目・講義・デジタルコンテンツ・講義受講・テスト結果について、未完成の概念データモデル(図1)と関係スキーマ(図2)を完成させます。そのうえで、オンデマンド型講義にレポート課題を加えたときの関係スキーマ(図3)を設計します。出題趣旨では、業務要件をデータモデルと関係スキーマに反映する力と、新しい業務要件を加えたときにモデルを適切に変更する力を問うとしています。採点講評では、講義の複合的なサブタイプ構造とサブタイプごとのリレーションシップ(設問1(2))、スーパータイプでの切り口の属性(設問1(3))の正答率が低かったと述べています。

設問1(1)

公式解答例では、aは「教員講義補助」です。着目するのは5.(9)の「対面講義が演習又は実験の場合、科目担当教員に加えて、複数の教員が補助として入る場合がある」という記述です。1回の対面講義には複数の補助教員が入り、1人の教員も複数の対面講義を補助できるので、対面講義と教員は多対多の関係になります。多対多は使わないという指定があるため、両者を結ぶ連関エンティティが必要です。図1では対面講義からaへ1対多の線が引かれています。図2でも、aの主キーは講義のキー(キ)と教員番号の組合せです。こうした点から、対面講義の補助教員を表すエンティティタイプだと分かります。

設問1(2)

公式解答例で追加されたリレーションシップは次のとおりです。①教員→開講科目:4.(3)の「担当教員1名」を表す担当関係です。②教員→教員講義補助:補助に入る教員を表します。③開講科目→科目履修登録、④学生→科目履修登録:3.(2)の履修登録です。⑤講義から時間固定講義、講義から対面講義・リアルタイム型講義・オンデマンド型講義、講義からオンライン講義へのスーパータイプ/サブタイプの関係:開講形態区分、時間固定講義フラグ、オンライン講義フラグという三つの切り口に対応します。⑥オンライン講義→教材使用:6.(4)より、教材を使うのはリアルタイム型講義とオンデマンド型講義で、この二つを併せたものがオンライン講義だからです。⑦リアルタイム型講義→テスト問題使用:6.(6)に「テスト問題を用いるのはリアルタイム型講義だけ」とあるので、オンライン講義やコンテンツ使用ではなく、リアルタイム型講義との間に引きます。⑧テスト問題使用→テスト結果、⑨学生→テスト結果:7.(4)の、実施したテスト問題ごとの得点です。⑩学生→講義受講:7.(1)です。⑪時間固定講義→時間固定講義受講、⑫オンデマンド型講義→オンデマンド型講義受講:7.(2)と7.(3)で記録する内容がサブタイプごとに違うためです。なお、2.(2)の「教員は講義を実施する」は、公式解答例では教員と講義を直接結ぶ線では表していません。講義は開講科目に講義番号を付けて識別するので、担当教員は開講科目との担当関係(①)で表し、補助教員は教員講義補助との関係(②)で表します。採点講評が指摘するとおり、三つの切り口それぞれにサブタイプ構造を立てたうえで、指定②に従って、業務を実際に行うスーパータイプ又はサブタイプに線を引くことが要点です。

設問1(3)

公式解答例は次のとおりです。ア:接続先URL、担当教員番号(担当教員番号は外部キーで、破線の下線)。4.(3)で開講科目に登録する項目です。イ:開講年月日、[開講形態区分]。開講年月日は対面講義とリアルタイム型講義に共通なので、スーパータイプの時間固定講義に置きます。さらに、下位の対面講義とリアルタイム型講義を見分ける切り口として、講義から継承した開講形態区分を冗長属性として持たせます(5.(8)、指定⑥)。ウ:[開講形態区分]。オンライン講義も、リアルタイム型講義とオンデマンド型講義を見分けるために同じように持たせます。エ:開講場所(5.(6))。オ:オンライン教室ID(5.(5))。カ:動画視聴ファイル名、公開開始年月日時分、公開終了年月日時分(5.(4))。キ:学科コード、科目ID、年度、学期、講義番号。対面講義のキーで、教員番号と合わせて教員講義補助の主キーになります。ク:公開開始年月日、公開終了年月日(6.(4)の講義ごとの教材公開期間)。ケ:解答期限時刻、解答入力ページURL(6.(6))。コ:学科コード、科目ID、年度、学期、学籍番号、成績。開講科目のキーと学籍番号で履修登録を識別し、7.(5)の成績を持たせます。サ:受講年月日(7.(1))。シ:遅刻フラグ、早退フラグ(7.(2))。ス:受講完了年月日(7.(3))。採点講評では、イやウのようなスーパータイプの切り口の属性を答えられなかった解答が多かったとされています。図2の字下げは、その関係がスーパータイプであることを示唆しています。

設問2

公式解答例は次のとおりです。セ:課題観点記述。拡充(2)のとおり、レポート課題固有の属性です。ソ:レポート提出先URL、提出開始年月日、提出終了年月日。拡充(4)のとおり、講義ごとの出題で設定する項目なので、レポート課題出題に置きます。タ:評価年月日。拡充(5)で、テスト結果とレポート評価結果を汎化して評価結果にします。評価年月日は両方に共通するので、スーパータイプの評価結果へ移します。チ:得点。テスト結果に残る固有の属性です。現状のテスト結果にあった評価年月日は、スーパータイプに移ったので除きます。ツ:レポート評価。レポート評価結果固有の属性です。汎化では共通の属性をスーパータイプにまとめ、サブタイプには固有の属性だけを残す、という原則で考えます。

学習のポイント

問題文の「〜を用いるのは○○だけ」「○○では〜を設定する」を、どのサブタイプとの関連や属性になるかに対応付けて読む練習をしましょう。あわせて、スーパータイプ側に切り口の属性を置くことと、汎化したときに共通の属性をスーパータイプへ移すことを確実に身に付けます。

出典:独立行政法人 情報処理推進機構(IPA)令和7年度秋期 データベーススペシャリスト試験 午後Ⅰ 問1(公式資料:問題冊子(PDF) / 解答例 / 採点講評)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針