スキップしてメイン コンテンツに移動

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ 問1 設問3 (1)

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ
http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm1_qs.pdf

問1

 設問3 表3~7及び〔バグの集計及び分析〕について,(1)~(3)に答えよ。

 (1) 表 7 中の項番②,③の検索を行うためには,どのような関係代数演算を行えばよいか。

   表 7 中の項番①の例に倣って, e  j に入れる適切な字句を答えよ。

    なお,関係代数演算の表記法は,表6に従うこと。


表3 関係”バグ”の具体例(一部属性は省略)

バグID発見日発見
工程ID
同一原因
バグID
バグ種別ID作り込み
工程ID
発見すべき
工程ID
B12013-07-19K5NULLS2K2K5
B22013-07-19K5B1NULLNULLNULL
B32013-08-22K6NULLS3NULLNULL
B42013-08-25K6NULLS4K3K6
B52013-09-02K7NULLS1K1K2


表4 関係”工程”の具体例

工程ID工程名順序番号
K1
基本設計
1
K2
詳細設計
2
K3
プログラム設計
3
K4
実装
4
K5
単体テスト
5
K6
結合テスト
6
K7
総合テスト
7


表5 関係”バグ種別”の具体例

バグ種別IDバグ種別名修正有無
S1
インタフェースの誤り
あり
S2
業務ロジックの誤り
あり
S3
仕様どおり
なし
S4
エラーチェックの誤り
あり
S5
テスト実施手順の誤り
なし
S6
機能の欠如
あり
S7
データの誤り
なし

〔バグの集計及び分析〕

 C君は,バグの集計及び分析を行う際に使用する,関係”バグ”,”工程”,”バグ種別”に対する検索内容と関係代数演算について検討した。 表6は,関係代数演算の表記法を示したものであり,表7は,表3~5の具体例を用いて検討した検索内容及び関係代数演算である。


表6 関係代数演算の表記法

演算
備考
射影
R[A1, A2, …]
A1,A2は関係Rの属性を表す。同じ内容の
タプルは,重複が排除される。
選択
R[X  比較演算子  Y]
X,Yは関係Rの属性を表す。X,Yのいずれか一方は,
定数でもよい。
結合
R[RA 比較演算子 SA]S
RAは関係Rの属性,SAは関係Sの属性を表す。
注記 比較演算子は,<,=,>のいずれかである。演算結果を使って入れ子になる演算を行う場合には,演算の過程で生じる中間の関係は,括弧でくくる。例えば,選択演算の結果の関係に対して,結合演算を行う場合は,次のような形式になる。

 (R[X 比較演算子 Y]) [RA 比較演算子 SA]S


表7 検討した検索内容及び関係代数演算

項番検索内容関係代数演算式検索結果
2013年7月19日に発見された
バグについて,
バグIDの値を求める。
(バグ[発見日 = '2013-07-19'])[バグID]B1,B2
バグが発見された工程と,
そのバグを本来発見すべきと
考えられる工程が同一の
バグについて,そのバグIDの
値を求める。
(    e    )[バグID]  ア  
ソフトウェアの品質分析を
行う際に分析対象とする
バグIDを求める。
( f  [  g    g  ]
( h  [  i    j  ]
) ) [バグID]
  イ  
   k   
   l   と考え
られるバグについて,
バグIDの値を求める。
(バグ[作り込み工程ID = 工程ID]
(工程[順序番号 < 順序番号]
(工程[工程ID = 'K3'] ) ) )[バグID]
  ウ  


②の検討

バグが発見された工程と,そのバグを本来発見すべきと考えられる工程が同一のバグ

関係”バグ”の対象となる値
バグID発見日発見
工程ID
同一原因
バグID
バグ種別ID作り込み
工程ID
発見すべき
工程ID
B12013-07-19K5NULLS2K2K5
B22013-07-19K5B1NULLNULLNULL
B32013-08-22K6NULLS3NULLNULL
B42013-08-25K6NULLS4K3K6
B52013-09-02K7NULLS1K1K2


 対象となる関係は、”バグ”
 条件は「選択」で、発見工程ID = 発見すべき工程ID

これを表6の関係代数演算にあてはめる

【回答】

 e : バグ[発見工程ID = 発見すべき工程ID]


③の検討

ソフトウェアの品質分析を行う際に分析対象とするバグIDを求める。

上の下線のことを説明している個所を調べる必要がある。

〔バグ管理の概要〕

(4)ソフトウェアの品質管理を行うメンバは,登録されたバグの集計及び分析を行う。品質分析の対象とするバグは,成果物の修正が必要なバグ種別が設定されたバグである。

上の下線の部分がそれに該当するものと思われる。

 対象となる関係は、”バグ”と”バグ種別”

関係”バグ”の対象となる値
バグID発見日発見
工程ID
同一原因
バグID
バグ種別ID作り込み
工程ID
発見すべき
工程ID
B12013-07-19K5NULLS2K2K5
B22013-07-19K5B1NULLNULLNULL
B32013-08-22K6NULLS3NULLNULL
B42013-08-25K6NULLS4K3K6
B52013-09-02K7NULLS1K1K2


関係”バグ種別”の対象となる値
バグ種別IDバグ種別名修正有無
S1
インタフェースの誤り
あり
S2
業務ロジックの誤り
あり
S3
仕様どおり
なし
S4
エラーチェックの誤り
あり
S5
テスト実施手順の誤り
なし
S6
機能の欠如
あり
S7
データの誤り
なし


まず、成果物の修正が必要なバグ種別について

 条件は「選択」で、修正有無 = 'あり'

これを表6の関係代数演算にあてはめる

 バグ種別[修正有無 = 'あり'] [バグ種別ID] … (α)


次に2つの関係の結合について

 1つ目の関係は「バグ」、条件となる項目は、「バグ種別ID」
 2つ目の関係は「(α)」、条件となる項目は、「バグ種別ID」

全体を表6の関係代数演算にあてはめる

 (バグ[バグ種別ID = バグ種別ID]
  (バグ種別[修正有無 = 'あり'] [バグ種別ID]
  ) ) [バグID]


【回答】

f : バグ
g : バグ種別ID
h : バグ種別
i : 修正有無
j : 'あり'

コメント

このブログの人気の投稿

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ 問3 設問3 (1)

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm1_qs.pdf 問3 テーブルの設計及びSQLの設計に関する次の記述を読んで,設問1~3に答えよ。  設問3 〔注文トランザクションの設計〕について,(1),(2)に答えよ。  (1) 次のTR1~TR4のうち,いずれか二つの組合せのトランザクションを同時に実行したとき,デッドロックが起こるおそれがある。次の表中の  ウ  ~  カ   にデッドロックが起きない組合わせには○を,起きるおそれがある組合わせには×を記入せよ。   TR1:単品商品2個を注文する。   TR2:単品商品1個とセット商品1個を注文する。   TR3:セット商品1個を注文する。   TR4:セット商品2個を注文する。 \ TR1 TR2 TR3 TR4 TR1 ○  ウ   エ  × TR2 \ × × × TR3 \ \  オ   カ  TR4 \ \ \ × 問題の対象となっているのは、以下の内容である。 〔注文トランザクションの設計〕  Fさんは,注文トランザクションについて,次のように設計した。 (1) 注文単位を一つのトランザクションで処理し,最後にCOMMIT文を発行する。 (2) 注文に基づいて,”注文”テーブル及び”注文明細”テーブルに行を挿入する。 (3) 商品については,商品一覧画面に表示された順番に”在庫”テーブルの  引当可能数を調べ,引当可能ならば注文数を減算した値で引当可能数を更新する。 (4) セット商品が在庫不足のとき,”在庫”テーブルの不足セット商品数に不足数を  加算する。”セット商品構成”テーブルから,主キー順に当該セット商品を構成する  単品商品の構成数を調べ,必要数を計算する。単品商品については,”在庫”  テーブルの引当可能数には必要数を減算した値で、不足セット商品用引当済には  必要数を加算した値で更新する。 (5) トランザクションのISOLATIONレベルは,READ COMMITTEDとする。 検討す...

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ 問2 設問1 (1)

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm1_qs.pdf 問2  設問1 会議室予約システムについて,(1)~(4)に答えよ。  (1) 図2中のSQL文の  a  ~  c  に入れる適切な字句を答えよ。 〔会議室予約システムのテーブル〕  会議室予約システムの主要なテーブルのテーブル構造,概要は,図1,表1のとおりである。  社員( 社員番号 ,社員氏名,…)  会議室( 会議室番号 ,収容可能人数,階数,プロジェクタ設置有無,TV会議設備設置有無,…)  会議室予約( 会議室番号 , 予約日 , 予約開始時刻 ,予約終了時刻, 社員番号 ) 図1 主要なテーブルのテーブル構造(一部省略) 表1 主要なテーブルの概要 テーブル名 概要 社員 ・社員の情報を管理する。社員番号で社員を一意に識別する。 会議室 ・会議室の情報を管理する。会議室番号で会議室を一意に識別する。 ・会議室ことに収容可能な人数,階数,設備の設置有無が設定されている。 会議室予約 ・会議室の予約状況を管理する。会議室番号,予約日,予約開始時刻で 会議室予約を一意に識別する。 ・予約開始時刻及び予約終了時刻の分の指定は00分または30分とする。 〔会議室予約システムでの検索〕  会議室予約システムで空き会議室の検索結果一覧を表示する際に必要な情報を得るために実行するSQL文の例を図2に示す。  なお,図2中のホスト変数のhv1は予約希望日,hv2は予約希望開始時刻,hv3は予約希望終了時刻を表す。 SELECT * FROM 会議室 X WHERE  a  (SELECT * FROM 会議室予約 Y WHERE X.会議室番号 = Y.会議室番号 AND Y.予約日 = :hv1 AND Y.予約開始時刻  b  :hv3 AND Y.予約終了時刻  c  :hv2) 図2 検索で実行するSQL文の例 図2のSQLから、判明できることは、 対象となる...

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ 問3 設問2 (2)

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm1_qs.pdf 問3 テーブルの設計及びSQLの設計に関する次の記述を読んで,設問1~3に答えよ。  設問2 〔SQL分の設計〕について,(1)~(3)に答えよ。  (2) SQL4及びSQL5,指定した注文について,注文されたセット商品を構成する単品商品の合計数を求めるSQL文です。SQL4及びSQL5の実行結果が同じにように,  h   に入れる適切な字句を答えよ。 問題の対象となっているのは、以下の内容である。 〔SQL文の設計〕  Fさんが,案1と案2のそれぞれについて設計した主なSQL文を表4に示す。 表4 案1と案2について設計した主なSQL文(未完成) 案 SQL SQL文 案1 SQL1 SELECT M.商品番号,P.社内原価,P.化粧箱番号 FROM 注文明細 M,商品 P WHERE M.商品番号 = P.商品番号 AND M.注文番号 = :hv 案2 SQL2 SELECT M.商品番号,T.社内原価,S.化粧箱番号 FROM 注文明細 M  f   JOIN 単品商品 T ON M.商品番号 = T.商品番号  f   JOIN セット商品 S ON M.商品番号 = S.商品番号 WHERE M.注文番号 = :hv 案2 SQL3 SELECT M.商品番号,T.社内原価,CAST(NULL AS INT) 化粧箱番号 FROM 注文明細 M   g   JOIN 単品商品 T   ON M.商品番号 = T.商品番号 WHERE M.注文番号 = :hv UNION ALL SELECT M.商品番号,CAST(NULL AS INT) 社内原価,S.化粧箱番号 FROM 注文明細 M   g   JOIN セット商品 S   ON M.商品番号 = S.商品番号 WHERE M.注文番号 = :hv 案1 SQL4 SELECT K.単品.商品番号,SUM(  h   ...