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

投稿

5月, 2014の投稿を表示しています

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

平成26年度 春期 データベーススペシャリスト試験 午後Ⅱ http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm2_qs.pdf 問1 データベースの物理設計に関する次の記述を読んで,設問1~3に答えよ。 設問2 〔データベースの物理設計〕の”テーブル定義表の作成”及び”データ所要量見積りと表領域へのデータ配置”について,(1)~(4)に答えよ。  (1)表5と表7の太枠内に適切な字句を入れ,表を完成させよ。  編集画面では,太枠の横線が,右端まで伸びてしまうが,本当は,記述していない。 ブラウザによるのかも。 表5 作成中の”銘柄”テーブル定義表 列名 データ型 NOT NULL 格納長 (バイト) 索引の種類と構成例 NU 銘柄コード 銘柄名 上場区分 売買単位 公開情報 市場コード 1 制約 CHECK(上場区分 BETWEEN '1' AND '9') FOREING KEY (市場コード) REFERENCES 市場(市場コード) 表6 作成中の”株価”テーブル定義表 列名 データ型 NOT NULL 格納長 (バイト) 索引の種類と構成例 P 銘柄コード CHAR(4) Y 4 1 株価年月日 DATE Y 4 2 株価時分 TIME Y 3 3 始値 INTEGER Y 4 安値 INTEGER Y 4 高値 INTEGER Y 4 終値 INTEGER Y 4 出来髙 DECIMAL(15,0) Y 8 制約 CHECK(上場区分 BETWEEN...

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

平成26年度 春期 データベーススペシャリスト試験 午後Ⅱ http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm2_qs.pdf 問1 データベースの物理設計に関する次の記述を読んで,設問1~3に答えよ。 設問1 〔データベースの物理設計〕の”テーブル構造の検討”について,(1),(2)に答えよ。   (2) (1)を踏まえて,テーブルへの列の追加によって検索効率を改善するために,表10の案A,Bについて検討することにした。案Bの”検索効率が上がる理由”を20字以内で,”他の処理の変更内容”を50字以内で述べよ。 表10 テーブル構造変更案の検討(未完成) 案 変更内容 検索効率が上がる理由 他の処理の変更内容 A ”取引”テーブルに銘柄 コードを追加する。 手順2の検索を省略できるから。 取引登録に,手順2と同様の 検索で求めた銘柄コードを ”取引”テーブルに転記する 処理を追加する。 B ”取引”テーブルに大分 類の業種コードを追加する。 〔データベースの物理設計〕  システム部は,テーブルと索引の設計と定義,データ所要量の見積り,データの配置について検討している。 1.テーブル構造の検討  図2の関係スキーマを,そのままテーブルとして実装した場合の課題を検討した。その結果,業種別集計表作成の処理は,業種の大分類を求めるので,複数テーブルの結合処理に時間が掛るのではないかとの懸念が示された。そこで,複数テーブルの結合処理における検索条件列とテーブルの検索順序を,次のように整理した。  手順1 検索条件の列として取引依頼年月日を指定し、”取引”テーブルを検索して,取引依頼年月日,取引株数,取引値段,注文番号を求める。その結果行ごとに,次の手順2~6を行う。  手順2 検索条件の列として注文番号を指定し,”注文”テーブルを検索して,銘柄コードを求める。  手順3 検索条件の列として   a  ,  b   を指定し,  c   テーブルを検索して   d   を求める...

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

平成26年度 春期 データベーススペシャリスト試験 午後Ⅱ http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm2_qs.pdf 問1 データベースの物理設計に関する次の記述を読んで,設問1~3に答えよ。 設問1 〔データベースの物理設計〕の”テーブル構造の検討”について,(1),(2)に答えよ。   (1)手順3~5中の   a  ~  f   に入れる適切なテーブル名又は列名を答えよ。 〔データベースの物理設計〕  システム部は,テーブルと索引の設計と定義,データ所要量の見積り,データの配置について検討している。 1.テーブル構造の検討  図2の関係スキーマを,そのままテーブルとして実装した場合の課題を検討した。その結果,業種別集計表作成の処理は,業種の大分類を求めるので,複数テーブルの結合処理に時間が掛るのではないかとの懸念が示された。そこで,複数テーブルの結合処理における検索条件列とテーブルの検索順序を,次のように整理した。  手順1 検索条件の列として取引依頼年月日を指定し、”取引”テーブルを検索して,取引依頼年月日,取引株数,取引値段,注文番号を求める。その結果行ごとに,次の手順2~6を行う。  手順2 検索条件の列として注文番号を指定し,”注文”テーブルを検索して,銘柄コードを求める。  手順3 検索条件の列として   a  ,  b   を指定し,  c   テーブルを検索して  d   を求める。  手順4 検索条件の列として   d   を指定し,  e   テーブルを検索して   f   を求める。  手順5    f   がNULLならば,手順3で求めた  d   を得る。         f   がNULLでなければ,   f   を得る。  手順6 手順5で得た値ごとに,”取引株数 × 取引値段”の値を累積する。 インプット情報を確認する。 テーブルは ⇒図2参照 ...

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

平成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)に答えよ。  (2) (1)で起きるおそれがあるとしたデッドロックを防ぐためには,一つのトランザクションの中で”在庫”テーブルの行をどの列の順番で更新すればよいか。列名を答えよ。  案1の”商品”テーブルの構造を図2に、案2の”単品商品”テーブル及び”セット商品” テーブルの構造を図3に示す。  商品( 商品番号 ,商品名,商品説明,写真,販売単価,表示順,単品区分,     社内原価, 化粧箱番号 ,詰合せ日数) 図2 案1の ”商品”テーブルの構造  単品商品( 商品番号 ,商品名,商品説明,写真,販売単価,表示順,社内原価)  セット商品( 商品番号 ,商品名,商品説明,写真,販売単価,表示順,         化粧箱番号 ,詰合せ日数) 図3 案2の ”単品商品”テーブル及び”セット商品”テーブルの構造  Fさんは,関係”在庫”については,一つの”在庫”テーブルを設計した。”在庫”テーブルと, その他の主なテーブルの構造を,図4に示す。図4のテーブルは,全て案1,2に共通する。 また,主な列の意味を表1に示す。  セット商品構成( セット商品番号 , 単品商品番号 ,構成数)  在庫( 商品番号 ,引当可能数,不足セット商品数,不足セット商品用引当済数)  注文( 注文番号 ,注文日,お届け予定日,住所,顧客名,電話番号,支払情報)  注文明細( 注文番号 , 注文明細番号 , 商品番号 ,販売単価,注文数) 図4 両案に共通の主な テーブルの構造 注文の主キーである商品番号は、商品を示しており、その列には、表示順が存在する。 この順に全てのトランザクションがアクセスするなら、逆順にアクセスすることがなくなり、 デッドロックが発生しない。 ...

平成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年度 春期 データベーススペシャリスト試験 午後Ⅰ 問3 設問2 (3)

平成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)に答えよ。  (3) ”セット商品構成”テーブルの主索引を用いてアクセスする。   これらのアクセスパスでは,SQL4の方が,”セット商品構成”テーブルの主索引をアクセスする頻度が多かった。そのアクセス頻度を減らすために,SQL4のWHERE句にANDで追加すべき述語を一つ答えよ。 問題の対象となっているのは、以下の内容である。 〔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 SELEC...

平成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   ...