令和6年度 秋期 データベーススペシャリスト試験 午後I 問題 問1 オンライン学習サービスの概念データモデリング

テクノロジデータベース

この問題は2024(R6)秋 データベーススペシャリスト 午後Iに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

学習ガイド

オンライン学習プラットフォームのデータベース設計を題材にした概念データモデリングの問題です。未完成のE-R図に欠落したリレーションシップを補い、関係スキーマの空欄属性を埋めていく、データベーススペシャリスト午後Ⅰの定番形式です。この記事では、業務記述の一文一文を「どのエンティティ間の何対何の関係か」に置き換える読み方を軸に、リレーションシップの数え漏れを防ぐ手順を整理します。

この記事で押さえる論点

  • 業務要件からリレーションシップの欠落を特定し補完する
  • スーパータイプ/サブタイプの使い分けを説明できる
  • 要件追加に伴う関係スキーマの属性補充を主キー・外部キーの観点で行う

問題本文

問1 オンライン学習プラットフォームの概念データモデリングに関する次の記述を読んで,設問に答えよ。

教育事業者のA社は,オンライン学習プラットフォーム(以下,PFという)を運営している。このたび,新規要件の追加に伴い,データベースを再設計した。

〔現行業務〕

  1. アカウント
    (1) PFを利用する個人をアカウントと呼び,アカウント番号(以下,番号を#で示す)で識別する。
    (2) PF上で学習教材を受講するアカウントを受講生と呼ぶ。受講生としてアカウントを登録する際,学習教材を購入するための支払情報を登録する。後述する講師としてのアカウントを既に保持している場合,再度アカウントを登録する必要はなく,支払情報を追加で登録する。
    (3) PF上で受講生に提供する学習教材を制作するアカウントを講師と呼ぶ。講師としてアカウントを登録する際,自身のプロフィールを登録する。受講生としてのアカウントを既に保持している場合,再度アカウントを登録する必要はなく,自身のプロフィールを追加で登録する。

  2. コース
    (1) コースは,講師がPF上で受講生に提供する一連の学習教材を指し,コース#で識別する。各コースの制作は1名の講師が行い,制作した講師が分かるようになっている。全て有料であり,標準価格を設定している。
    (2) コースは,複数のセクションから成る。セクションは,コースごとにセクション#で識別する。
    (3) セクションは,一つ又は複数の講義動画と,講義動画を視聴した後の理解度を確認する高々一つのテストから成る。講義動画とテストとを併せてコンテンツと呼び,セクションごとにコンテンツ#で識別する。

  • テストは,複数の設問から成る。設問は,テストごとに設問#で識別する。
  • 設問は,全て単一選択式であり,設問ごとに設問文と配点を設定する。
  • 設問の各選択肢は,設問ごとに選択肢#で識別し,選択文と正解フラグを設定する。
  1. コース購入
    (1) 受講生は,コースを検索して,受講したいコースを購入する。コースの購入は,コース購入#で識別する。購入情報(購入年月日,購入価格及び受講生アカウント#)は,PF上に記録される。
    (2) 受講生は,PF上で利用できるクーポンを使用すると,標準価格より安くコースを購入できる。クーポンを使用する際は,クーポン#を指定して,購入の手続を行う。クーポンの併用はできない。
  • クーポンは,講師が自身のコースの販売促進を目的に発行している。
  • クーポンは,クーポン#で識別し,割引率や値引額,クーポンの適用期間及び同一クーポンの使用可能人数をもつ。使用可能人数は最大 1,000 名であり,クーポン使用者数が使用可能人数の上限に達すると,適用期間にかかわらず,クーポンの使用は不可となる。
    (3) 受講生は,お薦めしたいコースがある場合,アカウントをもっている相手にコースをプレゼントすることができる。受講生がコースをプレゼントするには,相手のアカウントと対象のコースをそれぞれ一つ指定して購入の手続を行う。
  1. コース受講
    (1) 受講生は,購入したコース及びプレゼントされたコースを,いつでも受講することができる。
    ① コンテンツの受講の完了は,講義動画については視聴を終えた時点,テストについては全設問に解答した時点である。セクション内の全コンテンツの受講が完了するとセクションの受講が完了となり,全セクションの受講が完了するとコースの受講が完了となる。
    ② 自己研鑽が目的なので,どのコンテンツから受講してもよい。テストに合格基準点はなく,どのコンテンツも繰り返し受講することができる。
    ③ コースの受講中又は完了後,5段階評価と感想を登録することができる。
    ④ 受講生は,自分が最後に実施したテストで選択した各設問の選択肢と解答日時を確認することができる。また,自分が過去に実施したテストについては,最高獲得点数と,全設問の合計点数の履歴を確認できる。
    (2) 受講生は,コンテンツの内容に疑問があれば,PF上で講師に質問することができる。各質問に対する講師からのコメントは1回だけできる。

  2. 購入実績及び受講の確認
    講師はPF上で,自分が制作したコースを購入した受講生の購入情報,クーポンを使用した場合のクーポン#,受講生による5段階評価及び感想を確認することができる。

〔企業向けサービスの追加〕

PFに,次のような企業向けのサービスを追加することにした。

  1. 受講生の登録
    企業は,研修対象の従業員を受講生としてアカウントを登録する。これを法人受講生と呼び,現行業務の受講生とは区別する。既に個人でアカウントを保持していても,法人用のアカウント#を新たに付与する。

  2. 研修カリキュラムの登録
    (1) 企業は,受講させる一つ以上のコースをまとめた研修カリキュラムを作成する。研修カリキュラムは,企業ごとに研修カリキュラム#で識別し,研修カリキュラム名をもつ。研修カリキュラムに含まれるコースには,受講順を設定する。
    (2) 企業は,法人受講生に対して一つ以上の研修カリキュラムを受講させる。
    (3) 研修カリキュラムへの法人受講生の割当てでは,あらかじめ複数の法人受講生を束ねたグループを作成し,グループ単位で割当てを行う。グループは,企業ごとにグループ#で識別し,グループ名をもつ。また,同じ研修カリキュラムでも,割り当てられるグループによって,受講開始可能年月日及び受講完了期限年月日が異なる場合がある。
    (4) テストを含むコースについては,研修カリキュラムごとに各テストの合格基準点を設定できる。

  3. 法人受講生によるコース受講
    (1) 法人受講生は,指定された研修カリキュラムを期限までに受講する。受講を開始すると,研修カリキュラム受講開始日時が記録される。全てのコースの受講が完了すると,研修カリキュラムが完了となり,研修カリキュラム受講完了日時が記録される。
    (2) 現行業務のコース受講と同じサービスを提供するが,企業が合格基準点を定めているテストについては,合格基準点に達しないとテストの受講は完了とならない。

〔受講生からの要望〕

受講生から,学習に対する理解を深めるために,次の要望があった。

  • コースを提供する講師だけではなく,他の講師及び受講生も質問に対して回数に制限なくコメントできるようにしてほしい。
  • その際,誰がコメントしたかを特定できるようにしてほしい。
  • 質問だけではなく,既出のコメントを指定してコメントできるようにしてほしい。

〔概念データモデルと関係スキーマの設計〕

  1. 〔現行業務〕に基づく設計
    現行業務の概念データモデルを図1に,関係スキーマを図2に示す。
図1 現行業務の概念データモデル(未完成)
図の説明テキスト

図1 現行業務の概念データモデル(未完成)
エンティティとその間の関連(通常の矢印)、およびスーパータイプ/サブタイプの関係(白抜き三角矢印)が示された図。

主なエンティティ:
アカウント、講師、受講生、コース、クーポン、セクション、コース受講、コース購入、コンテンツ、講義動画、テスト、質問、コメント、セクション受講、コンテンツ受講、テスト設問、テスト設問選択肢、テスト結果、テスト結果詳細、テスト結果履歴

関連:

  • 講師 → コース
  • 受講生 → コース購入、質問、コメント、コース受講
  • コース → コース購入、クーポン、セクション、質問、コース受講
  • クーポン → コース購入
  • セクション → コンテンツ、セクション受講
  • コース受講 → セクション受講
  • コンテンツ(スーパータイプ) ◁ 講義動画、テスト(サブタイプ)
  • セクション受講 → コンテンツ受講
  • コンテンツ → コンテンツ受講
  • 質問 → コメント
  • テスト → テスト設問
  • テスト設問 → テスト設問選択肢
  • コンテンツ受講(スーパータイプ) ◁ テスト結果(サブタイプ)
  • テスト結果 → テスト結果詳細、テスト結果履歴
図2 現行業務の関係スキーマ(未完成)
図の説明テキスト

図2 現行業務の関係スキーマ(未完成)
枠の中に現行業務の関係(テーブル)とその属性が列挙されている。主キーには実線の下線、外部キーには破線の下線が引かれている。

  • アカウント(アカウント#, アカウント名, [網掛け])
  • 講師(アカウント#, 講師プロフィール)
  • 受講生(アカウント#, 支払情報)
  • コース(コース#, アカウント#, コース名, 標準価格)
  • セクション(コース#, セクション#, セクション名)
  • コンテンツ(コース#, セクション#, コンテンツ#, コンテンツ名, コンテンツ区分)
  • 講義動画(コース#, セクション#, コンテンツ#, 講義時間)
  • テスト(コース#, セクション#, コンテンツ#, 解答制限時間)
  • テスト設問(コース#, セクション#, コンテンツ#, 設問#, 設問文, 配点)
  • テスト設問選択肢(コース#, セクション#, コンテンツ#, 設問#, 選択肢#, 選択文, 正解フラグ)
  • クーポン(クーポン#, コース#, 割引率, 値引額, 適用開始年月日, 適用終了年月日, 使用可能人数, クーポン発行年月日)
  • コース購入(コース購入#, コース#, 購入年月日, 購入価格, a
  • コース受講(アカウント#, コース#, コース受講開始日時, コース受講完了日時, 5段階評価, 感想)
  • セクション受講(アカウント#, コース#, セクション#, セクション受講開始日時, セクション受講完了日時)
  • コンテンツ受講(アカウント#, コース#, セクション#, コンテンツ#, コンテンツ受講開始日時, コンテンツ受講完了日時)
  • テスト結果(アカウント#, コース#, セクション#, コンテンツ#, 最高獲得点数)
  • テスト結果詳細(アカウント#, コース#, セクション#, コンテンツ#, b, 解答日時)
  • テスト結果履歴(アカウント#, コース#, セクション#, コンテンツ#, テスト実施日時, 合計点数)
  • 質問(質問#, コース#, セクション#, コンテンツ#, アカウント#, 質問タイトル, 質問文, 質問日時)
  • コメント(質問#, コメント文, コメント日時)
    注記 設問の都合上、網掛け部分は表示していない。
  1. 〔企業向けサービスの追加〕に基づく設計

企業向けサービスの追加部分の概念データモデルを図3に,関係スキーマを図4に示す。

図3 企業向けサービスの追加部分の概念データモデル(未完成)
図の説明テキスト

図3 企業向けサービスの追加部分の概念データモデル(未完成)
エンティティ間の関係を白抜きの鏃(矢印)で示すデータモデル図。
エンティティノード:
上段: 「コース」「企業」「テスト」
中段: 「法人受講生」「グループ」「研修カリキュラム」
下段: 「」「」「」「」「
リレーションの接続(矢印の向き):

  • 「企業」から「法人受講生」へ
  • 「企業」から「グループ」へ
  • 「企業」から「研修カリキュラム」へ
  • 「法人受講生」から「」へ
  • 「法人受講生」から「」へ
  • 「コース」から「」へ
  • 「コース」から「」へ
  • 「コース」から「」へ
  • 「グループ」から「」へ
  • 「グループ」から「」へ
  • 「研修カリキュラム」から「」へ
  • 「研修カリキュラム」から「」へ
  • 「テスト」から「」へ
    注記1 コースとテストのエンティティタイプは、図1中のものと同じである。
    注記2 設問の都合上、網掛け部分は表示していない。
図4 企業向けサービスの追加部分の関係スキーマ(未完成)
図の説明テキスト

図4 企業向けサービスの追加部分の関係スキーマ(未完成)
枠内に以下の関係スキーマが記載されている。
・コース ( [網掛け空欄] )
・企業 (企業#, 企業名)
・テスト ( [網掛け空欄] )
・法人受講生 (アカウント#, 企業#)
・グループ (企業#, グループ#, グループ名)
・研修カリキュラム (企業#, 研修カリキュラム#, 研修カリキュラム名)
(企業#, コース#, c)
(企業#, アカウント#, d)
(企業#, グループ#, e)
(企業#, f, 研修カリキュラム受講開始日時, 研修カリキュラム受講完了日時)
(企業#, コース#, セクション#, コンテンツ#, g)
注記1 コースとテストの網掛け部分は, 図2と同じ属性である。
注記2 図中のには, 図3のと同じ字句が入る。

解答に当たっては,巻頭の表記ルールに従うこと。ただし,エンティティタイプ間の対応関係にゼロを含むか否かの表記は必要ない。エンティティタイプ間のリレーションシップとして“多対多”のリレーションシップを用いないこと。サブタイプが存在する場合,他のエンティティタイプとのリレーションシップは,スーパータイプ又はいずれかのサブタイプの適切な方との間に設定すること。同一のエンティティタイプ間に異なる役割をもつ複数のリレーションシップが存在する場合,役割の数だけリレーションシップを表す線を記述すること。属性名は,意味を識別できる適切な名称とすること。関係スキーマに入れる属性を答える場合,主キーを表す下線,外部キーを表す破線の下線についても答えること。

設問と解答・解説

設問1

〔現行業務〕の概念データモデル及び関係スキーマについて答えよ。

(1)

図1の概念データモデルは未完成である。欠落しているリレーションシップを7本補って図を完成させよ。スーパータイプとサブタイプとの間のリレーションシップの本数は,サブタイプの切り口の数に関係なく,スーパータイプとサブタイプとの組ごとに1本と数える。なお,図1に表示されていないエンティティタイプは考慮しなくてよい。

模範解答

模範解答は公表されていません。下の採点基準と解説から、解答に求められる要素を読み取ってください。

採点基準(配点 5点)

知識・理解度(内容)(3点)

  • 3: “アカウント”から“コース購入”へのリレーションシップを含め、必要な参照関係をすべて正確に特定できている。
  • 2: 必要な参照関係の多くを特定できているが、一部(“アカウント”から“コース購入”へのリレーションなど)が欠落している。
  • 1: 参照関係の一部のみ特定できている。
  • 0: 参照関係を特定できていない。

論理性(構造)(2点)

  • 2: スーパータイプ・サブタイプのルールに従い、過不足なくリレーションシップを構築できている。
  • 1: リレーションシップの構造に一部不備がある。
  • 0: 構造的に不適切なリレーションシップとなっている。

解説

問1では、オンライン学習プラットフォームを題材に、業務要件に基づくデータベース設計が問われています。特に設問1では、概念データモデルの不備を補う力が求められます。

高得点のポイント

  • コース購入 時に、プレゼント対象相手となる アカウント を指定するためのリレーションシップを追加できるかが鍵です。

  • 参照先となる アカウント からリレーションシップを引く必要があることを状況記述から読み取りましょう。

  • スーパータイプサブタイプ のリレーションシップの規則に沿って正確に図式化することが重要です。

(2)

図2中の a に入れる一つ又は複数の適切な属性名を補って関係スキーマを完成させよ。

模範解答

クーポン#,受講生アカウント#,プレゼント相手アカウント#

採点基準(配点 5点)

知識・理解度(内容)(3点)

  • 3: クーポン#、受講生アカウント#、プレゼント相手アカウント# の3つの属性をすべて特定できている。
  • 2: 3つの属性のうち、2つを特定できている。
  • 1: 3つの属性のうち、1つを特定できている。
  • 0: 適切な属性を特定できていない。

論理性(構造)(2点)

  • 2: プレゼント機能を踏まえ、参照先となるアカウント情報を適切に外部キーとして構造化できている。
  • 1: アカウント情報の構造化に一部不備がある(主キー・外部キーの認識誤りなど)。
  • 0: アカウント情報の構造化ができていない。

解説

図2中の空欄aを補完し、関係スキーマを完成させる問題です。購入やプレゼント機能のデータ構造の理解が問われます。

高得点のポイント

  • 関係 コース購入 において、クーポン#受講生アカウント#プレゼント相手アカウント# の3属性をすべて正確に特定することが求められます。

  • プレゼント対象相手を指定するため、参照先となる アカウント 情報を外部キーとして構造化する論理性が評価されます。

(3)

図2中の b に入れる一つ又は複数の適切な属性名を補って関係スキーマを完成させよ。

模範解答

設問#,選択肢#

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: 設問#と選択肢#の2つの属性を正確に特定できている。
  • 1: どちらか1つの属性のみ特定できている。
  • 0: 適切な属性を特定できていない。

論理性(構造)(2点)

  • 2: 主キーと外部キーの役割を正しく理解し、データモデルの階層構造を正確に反映している。
  • 1: 主キー・外部キーの認識に一部誤りがある(下線の引き忘れ・誤りなど)。
  • 0: 主キー・外部キーの役割を理解できていない。

解説

図2中の空欄bを補完する問題です。主キー・外部キーの設定はデータベース設計において非常に重要です。

高得点のポイント

  • 状況記述に基づき、設問#選択肢# を正確に属性として追加できるかが問われます。

  • 特に 主キー外部キー の役割を正しく理解し、階層構造を正確に反映しているかどうかが重要です。

設問1では,(1)の“アカウント”から“コース購入”へリレーションシップが追加できていない解答が多かった。コース購入時に,プレゼント対象相手となるアカウントを指定するためには,参照先となる“アカウント”からリレーションシップを引く必要があることを読み取ってほしい。また,(2)bの正答率が低かった。属性名として,設問#と選択肢#は書けていたが,主キー・外部キーを表す下線の誤りが目立った。主キー・外部キーの設定は,データベース設計において非常に重要である。状況記述を基に正確に属性を追加してほしい。

設問2

〔企業向けサービスの追加〕の概念データモデル及び関係スキーマについて答えよ。

(1)

図3の概念データモデルは未完成である。図3中の欠落しているリレーションシップを4本補って図を完成させよ。なお, 図3に表示されていないエンティティタイプは考慮しなくてよい。

模範解答

模範解答は公表されていません。下の採点基準と解説から、解答に求められる要素を読み取ってください。

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: 状況記述を正しく分析し、不足している4つの関係性をすべて的確に特定できている。
  • 1: 関係性の一部(1から3つ)を特定できている。
  • 0: 関係性を特定できていない。

論理性(構造)(2点)

  • 2: エンティティ間の多重度や依存関係を論理的に矛盾なく構築できている。
  • 1: エンティティ間の関係性に一部矛盾や論理的飛躍がある。
  • 0: エンティティ間の関係性が論理的に破綻している。

解説

設問2は企業向けサービスの追加に伴う概念データモデルの補完です。状況記述からエンティティ間の関係性を正しく分析する能力が求められます。

高得点のポイント

  • 不足している 4つの関係性 を状況記述からすべて的確に特定できるかが評価されます。

  • エンティティ間の 多重度依存関係 を論理的に矛盾なく構築する論理性が高得点の鍵となります。

(2)

図4中の c に入れる一つ又は複数の適切な属性名を補って関係スキーマを完成させよ。

模範解答

研修カリキュラム#,受講順

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: 研修カリキュラム#と受講順の2属性を正確に特定できている。
  • 1: どちらか1つの属性のみ特定できている。
  • 0: 適切な属性を特定できていない。

論理性(構造)(2点)

  • 2: 研修カリキュラムの順序要件を正しく関係スキーマ上の属性構造として表現できている。
  • 1: 順序要件の構造化に一部不備がある。
  • 0: 順序要件を構造化できていない。

解説

企業向けサービスの追加に伴う関係スキーマの属性補完(空欄c)です。研修カリキュラムの順序要件の理解が問われます。

高得点のポイント

  • 研修カリキュラム#受講順 の2属性を正確に特定することが必要です。

  • 研修カリキュラムの順序要件を正しく属性構造として表現できる論理性が求められます。

(3)

図4中の d に入れる一つ又は複数の適切な属性名を補って関係スキーマを完成させよ。

模範解答

グループ#

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: グループ# の属性を正確に特定できている。
  • 1: 関連する概念は理解できているが、正確な属性名ではない。
  • 0: 適切な属性を特定できていない。

論理性(構造)(2点)

  • 2: エンティティとグループの関係を外部キーとして論理的に正しく配置できている。
  • 1: 配置やキーの設定に一部誤りがある。
  • 0: 関係を正しく配置できていない。

解説

関係スキーマの属性補完(空欄d)です。エンティティ間のグループ関係の適切な配置が評価されます。

高得点のポイント

  • グループ# の属性を正確に特定することが求められます。

  • エンティティとグループの関係を 外部キー として論理的に正しく配置できるかがポイントです。

(4)

図4中の e に入れる一つ又は複数の適切な属性名を補って関係スキーマを完成させよ。

模範解答

研修カリキュラム#,受講開始可能年月日,受講完了期限年月日

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: 研修カリキュラム#、受講開始可能年月日、受講完了期限年月日の3つの属性を過不足なく特定できている。
  • 1: 1から2つの属性のみ特定できている。
  • 0: 適切な属性を特定できていない。

論理性(構造)(2点)

  • 2: スケジュール管理要件を正しく関係スキーマの属性として構造化できている。
  • 1: スケジュール管理要件の構造化に一部不備がある。
  • 0: スケジュール管理要件を構造化できていない。

解説

関係スキーマの属性補完(空欄e)です。スケジュール管理要件のデータモデルへの反映が問われます。

高得点のポイント

  • 研修カリキュラム#受講開始可能年月日受講完了期限年月日 の3属性を過不足なく特定できるかが評価されます。

  • スケジュール管理要件を正しく関係スキーマの属性として構造化する論理性が求められます。

(5)

図4中の f に入れる一つ又は複数の適切な属性名を補って関係スキーマを完成させよ。

模範解答

アカウント#,研修カリキュラム#

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: アカウント#と研修カリキュラム#の2属性を正確に特定できている。
  • 1: どちらか1つの属性のみ特定できている。
  • 0: 適切な属性を特定できていない。

論理性(構造)(2点)

  • 2: 受講者と研修カリキュラムの関連を交差エンティティのキーとして論理的に正しく表現できている。
  • 1: キー構造に一部不備がある。
  • 0: キー構造を正しく表現できていない。

解説

関係スキーマの属性補完(空欄f)です。受講者と研修カリキュラムの関連の構造化が問われます。

高得点のポイント

  • アカウント#研修カリキュラム# の2属性を正確に特定することが必要です。

  • 受講者と研修カリキュラムの関連を 交差エンティティ のキーとして論理的に正しく表現できているかがポイントです。

(6)

図4中の g に入れる一つ又は複数の適切な属性名を補って関係スキーマを完成させよ。

模範解答

研修カリキュラム#,合格基準点

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: 研修カリキュラム#と合格基準点の2属性を正確に特定できている。
  • 1: どちらか1つの属性のみ特定できている。
  • 0: 適切な属性を特定できていない。

論理性(構造)(2点)

  • 2: 研修の評価基準要件を正しくスキーマ上の属性にマッピングできている。
  • 1: 評価基準要件のマッピングに一部不備がある。
  • 0: 評価基準要件をマッピングできていない。

解説

関係スキーマの属性補完(空欄g)です。研修の評価基準要件のデータモデルへのマッピングが問われます。

高得点のポイント

  • 研修カリキュラム#合格基準点 の2属性を正確に特定できるかが評価されます。

  • 研修の評価基準要件を正しくスキーマ上の属性にマッピングする論理性が求められます。

設問2は,全体的に正答率が低く,特に(2)eの正答率が低かった。状況記述からエンティティ間の関係性を正しく分析し,概念データモデルと関係スキーマに不足している情報を的確に補えるようにしてほしい。

設問3

〔受講生からの要望〕に対応するために, 図2の関係スキーマの関係“コメント”の主キーとして“コメント#”を新たに設け,“質問#”は外部キーへ変更した上で, 次の変更を行う。

(1)

図1の概念データモデル上のリレーションシップを一つ変更する。どのようにリレーションシップを変更すべきか。具体的なエンティティタイプ名を挙げ, 40字以内で答えよ。

模範解答

質問とコメントとの間のリレーションシップを1対1から1対多に変更する。

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: 質問に対して複数のコメントがつく要件を正しく読み取り、リレーションシップの多重度変更の必要性を理解できている。
  • 1: 要件の理解はできているが、変更対象のエンティティに誤りがある。
  • 0: 多重度変更の必要性を理解できていない。

論理性(構造)(2点)

  • 2: 「質問」と「コメント」という具体的なエンティティ名を挙げ、「1対1から1対多へ」と論理的かつ明確に記述できている。
  • 1: 記述の論理関係やエンティティ名に一部曖昧さがある。
  • 0: 記述が論理的に不明瞭である。

解説

受講生からの要望に対応するため、リレーションシップの多重度変更の意図を正確に記述する問題です。

高得点のポイント

  • 質問に対して複数のコメントがつく要件を読み取り、質問とコメントとの間のリレーションシップ の多重度変更の必要性を理解することが重要です。

  • 具体的なエンティティ名として 質問コメント を挙げ、1対1から1対多 へ変更する旨を論理的かつ明確に記述できるかが評価されます。

(2)

図1の概念データモデルに新しくリレーションシップを二つ追加する。どのようにリレーションシップを追加すべきか。具体的なエンティティタイプ名を挙げ, それぞれ40字以内で答えよ。

模範解答

アカウントとコメントとの間に1対多のリレーションシップを追加する。

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: 他の講師や受講生もコメントできるよう、スーパータイプである「アカウント」からの参照が必要なことを正しく特定できている。
  • 1: コメントへの参照追加の必要性は理解しているが、「受講生」や「講師」などサブタイプを指定している。
  • 0: 参照追加の必要性を理解できていない。

論理性(構造)(2点)

  • 2: 「アカウント」と「コメント」というエンティティ名を挙げ、「1対多のリレーションシップ」であることを論理的に記述できている。
  • 1: 多重度の記述やエンティティ名に一部不足や曖昧さがある。
  • 0: 記述が論理的に破綻している。

解説

コメント機能の拡張に伴い、新しく追加すべきリレーションシップを正確に記述する問題です。

高得点のポイント

  • 他の講師や受講生もコメントできるようにするため、サブタイプではなくスーパータイプである アカウント からリレーションシップを引く必要性を理解することが重要です。

  • 具体的なエンティティ名として アカウントコメント を挙げ、1対多のリレーションシップ を追加する旨を論理的に記述できるかが評価されます。

(3)

図1の概念データモデルに新しくリレーションシップを二つ追加する。どのようにリレーションシップを追加すべきか。具体的なエンティティタイプ名を挙げ, それぞれ40字以内で答えよ。

模範解答

コメントに自己参照型の1対多のリレーションシップを追加する。

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: コメントに対する返信という要件を満たすための自己参照型リレーションシップの必要性を正しく理解できている。
  • 1: コメント間の関係性については理解しているが、自己参照構造の認識に誤りがある。
  • 0: 返信機能を実現するための関係性を理解できていない。

論理性(構造)(2点)

  • 2: 「コメント」エンティティを挙げ、「自己参照型の1対多」という構造を論理的かつ明確に記述できている。
  • 1: 自己参照や多重度の論理的な説明に一部曖昧さがある。
  • 0: 構造の説明が論理的に不適切である。

解説

コメントに対する返信機能を実現するための関係性を正しく記述する問題です。

高得点のポイント

  • コメントに対する返信という要件を満たすため、自己参照型リレーションシップ の必要性を正しく理解することが重要です。

  • 具体的なエンティティ名として コメント を挙げ、自己参照型の1対多 の構造を追加する旨を論理的かつ明確に記述できるかが評価されます。

設問3は,設問1,2より正答率が高かった。ただし,(2)では“受講生”又は“講師”から“コメント”へリレーションシップを追加している解答が散見された。他の講師や受講生もコメントできるようにするためには,スーパータイプである“アカウント”からリレーションシップを引く必要があることに注意してほしい。