資格部

資格・検定の試験情報、対策方法、問題解説などをご紹介

AP 午後 データベース[R6春]

     

人事評価システムの設計と実装に関する次の記述を読んで,設問に答えよ。

 K社は,人事評価システムを中小企業に提供するSaaS事業者である。現在は,契約している会社ごとに仮想サーバを作成して,その中にデータベースを個別に作成している。現在のシステムのOSやフレームワークのサポート期限が迫ってきたのを機に,機能は変更せずにサーバリソース最適化を目的として,システムを再構築することにした。

 

〔人事評価システムの機能概要〕
 人事評価システムの機能概要を表1に示す。

表1 人事評価システムの機能概要

 

単一データベース・単ースキーマ方式の検討
 データベースのリソースを最適化するために,会社ごとに個別に作成していたデータベース及びスキーマを一つにまとめることを考える。検討したE-R図を図1に示す。
 なお,再構築するシステムでは,E-R図のエンティティ名を表名に,属性名を列名にして,適切なデータ型で表定義した関係データベースによって,データを管理する。


図1 E-R図

 図1を関係データベースに実装した際のSQL文を考える。

(1)指定された会社と年度における,国民の祝日と会社記念日の一覧を日付の昇順に出力するSQL文を図2に示す。ここで“会社番号”は指定された会社の会社番号を,“:年度開始日”,“年度終了日”は,それぞれ指定された年度の開始日,終了日を表す埋込み変数である。


図2 国民の祝日と会社記念日の一覧を日付の昇順に出力するSQL文

(2)指定された管理者が評価する対象の従業員の一覧を部署番号,従業員番号の昇順に出力するSQL文を図3に示す。ここで"会社番号”と“:管理者番号”は,それぞれ指定された管理者の会社番号と従業員番号を表す埋込み変数である。


図3 従業員の一覧を部署番号,従業員番号の昇順に出力するSQL文

 

単一データベース・単一スキーマ方式のレビュー
 検討した単一データベース単一スキーマ方式のレビューを受けたところ,次の指摘とアドバイスを受けた。

・指摘
 この検討案は,サーバリソース最適化を実現することができるが,SQLインジェクションの脆弱性が見つかってしまった場合,多くの情報が漏えいしてしまうおそれがある。

・アドバイス
 データベースは一つのまま,システム全体で共有するデータだけを格納する共有用のスキーマと,①システム利用者の会社ごとのスキーマに分ける方式にするとよい。共有用のスキーマに作成した表は,会社ごとのスキーマに対象の表と同じ名前のビューを作成して照会できるようにすると,現在のシステムのSQL文への修正を少なくすることができる。

 

単一データベース・個別スキーマ方式の検討
 〔単一データベース・単ースキーマ方式のレビュー〕のアドバイスを受け,複数のスキーマを作成して各スキーマに表とビューを配置する。検討したスキーマを整理した結果を表2に示す。

表2 スキーマを整理した結果

 次に,ビューを作成するSQL文について考える。
 スキーマC001に国民の祝日ビューを作成するSQL文を図4に示す。


図4 国民の祝日ビューを作成するSQL文

 

単一データベース・個別スキーマ方式のレビュー
 検討した単一データベース・個別スキーマ方式のレビューを受けたところ,次の指摘を受けた。

・システム利用者ごとに,利用するスキーマを指定するために,  g  表に  h  列を追加する必要がある。

・表2の表とビューの配置のままでは②利用できない機能があるので,③配置を一部見直す必要がある。

 

設問1 〔単一データベース・単一スキーマ方式の検討〕について答えよ。

 

(1)図1中の  a  に入れる適切なエンティティ間の関連を答え,E-R図を完成させよ。
 なお,エンティティ間の関連の表記は,図1の凡例に倣うこと。

 

解答・解説
解答例

 →

解説

 ー

 

 

(2)図2中の  b  ,図2及び図3中の  c  に入れる適切な字句を答えよ。

 

解答・解説
解答例

 b:BETWEEN :年度開始 AND :年度終了 c:ORDER BY

解説

 ー

 

 

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

 

解答・解説
解答例

 EMP.部署番号 = DEP.部署番号

解説

 ー

 

 

設問2 本文中の下線①の方式にする利点は何か。20字以内で答えよ。

 

解答・解説
解答例

 データ漏えい時の被害を限定的にできる

解説

 ー

 

 

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

 

解答・解説
解答例

 e:C001.国民の祝日 f:PUB.国民の祝日

解説

 ー

 

 

設問4 〔単一データベース・個別スキーマ方式のレビュー〕について答えよ。

 

(1)本文中の  g    h  に入れる適切な字句を答えよ。

 

解答・解説
解答例

 g:会社 h:スキーマ名

解説

 ー

 

 

(2)本文中の下線②の機能を,表1の機能名から答えよ。

 

解答・解説
解答例

 退職分析

解説

 ー

 

 

(3)本文中の下線③の見直した内容を,20字以内で答えよ。

 

解答・解説
解答例

 退職分析用の表を共有スキーマに配置する

解説

 ー

 

 

IPA公開情報

出題趣旨

 (公開前)

採点講評

 (公開前)