| データベーススペシャリスト 平成10年度 午後�� 解答 |
|
|
 |
設問1
(1)a:BETWEEN '19920402' AND '19930401'
b:OR
c:IN
d:会員番号
e:販売実績
f:年月日>='19970101'
g:会員番号
h:HAVING SUM(販売単価×販売個数)>=200000
(2)会員テーブルを正規化し、家族氏名1〜カード発行有無6の部分を会員家族テーブル
(会員番号,通番,家族氏名,性別,生年月日,カード発行有無)として分割する。
設問2
(1)会員番号,更新日
(2)a:会員番号 A,会員番号 B
b:A.都道府県<>B.都道府県 AND A.会員番号=B.会員番号
(3)DISTINCT句を追加して会員番号の重複を避ける
|
|
|
|
 |
設問1
売上明細.書籍コード
設問2
126秒
※解説
外側ループ:売上明細 販売年月="199803"は2400000/12=200000件
必要ブロック数=200000件/40件=5000ブロック
内側ループ:書籍 分類="ミステリ"は900件
必要ブロック数=900件/20件=45ブロック
I/O計算
外側ループでのバッファリング5000回×1ブロック
+
内側ループでのバッファリング1回×45ブロック ※1回のバッファリングで使いまわせる
(5000+45)×25=126125ミリ秒=126秒
設問3
(1)内側ループのデータ量がI/Oバッファより大きいため、外側ループに対して毎回バッファリングをする必要が
生じ、I/Oが多発するため。
(2)外側用I/Oバッファを50ブロックとし、内側用I/Oバッファを1とする。
※解説
外側ループ:売上明細 販売年月="199803"は2400000/12=200000件
必要ブロック数=200000件/40件=5000ブロック
内側ループ:書籍 分類="エッセイ"は1100件
必要ブロック数=1100件/20件=55ブロック
I/O計算
外側ループでのバッファリング5000回×1ブロック
+
内側ループでのバッファリング(1回×50)+(1回×5)ブロック×5000回
(5000+5000×55)×25=7000000ミリ秒=7000秒
|
|
|
|
 |
設問1
(1)┌──────────┐
│┌────────┐│
││┌──────┐││ ┌─────┐
│││ 患者番号 │├┼──→│処方年月日│
││└──────┘││ └─────┘
││┌──────┐││
│││ 医師番号 │││ ┌────┐
││└──────┘│├──→│用法用量│
│└────────┘│ └────┘
│ ┌──────┐ │ ┌────┐
│ │医薬品コード│ ├──→│ 分量 │
│ └──────┘ │ └────┘
└──────────┘
(2){患者番号,医師番号}→治療名→治療区分
設問2
(1){患者番号,入院日}
{患者番号,退院日}
(2)違う
{患者番号,入院日}→{患者番号,診療科}→カルテ番号という推移的関数従属が存在する
設問3
(1)同じ患者が同じ診療科に再入院する際に{患者番号,診療科}→カルテ番号が冗長
(2)治療 (患者番号,医師番号,治療コード,処置日時)
治療法(治療コード,治療名,治療区分)
|
|
|
|
 |
設問1
(1)更新後のデータをトランザクションログに書き出す。
(2) READ WRITE
最小:0回 2回
最大:2回 4回
※解説
最小:READは全てキャッシュから。WRITEは(4)(6)。
最大:READ は(1)(2)。WRITE は(3)(4)(5)(6)。
設問2
(1)オンライン処理においてDF041Dへの物理入力が多すぎる
※解説
│ オンラインIN │ オンラインOUT│ バッチ処理IN │ バッチ処理OUT│
─────┼─────────┼─────────┼─────────┼─────────┼
テーブルA│530004/756000 =0.7│12588/36000=0.35 │86321/162000=0.5 │41587/120000=0.3 │
テーブルB│694215/1152000=0.6│325511/720000=0.45│150877/1632000=0.1│72985/720000=0.1 │
テーブルC│302851/756000 =0.4│3852/3600=1.07 │48658/120000=0.4 │12085/120000=0.1 │
テーブルD│973658/720000 =1.4│0 │0 │0 │
(2)メモリの空き状況とコードテーブルへのSQLの記述を調査
設問3
(1)ディスクI/Oの競合回避および負荷分散
(2)TR001
|
|
|
|
 |
設問1
(1)非候補キー“タイトル名”が候補キーの一部である“タイトル番号”に部分関数従属するため。
(2)タイトル
┌──────┬─────┬──────┬──────┬────┬────┐
│タイトル番号│タイトル名│貸出開始日付│旧作指定日付│ジャンル│新旧区分│
|──────| | | | | |
└──────┴─────┴──────┴──────┴────┴────┘
貸出用ビデオ
┌───┬──────┬────┬───┐
│店番号|タイトル番号│初期本数│現本数│
|───|──────| | |
└───┴──────┴────┴───┘
設問2
(1)同タイトルのどのビデオが返却されたか対応が取れなくなる
(2)タイトル内通番
設問3
貸出状況推移
┌──────┬────┬─────┐
│タイトル番号│経過日時│貸出残本数│
|──────|────│ │
└──────┴────┴─────┘
|
|
|
|