出題のあった過去問
平成27年 午後II 問1
平成28年 午後II 問1
平成29年 午後I 問3
平成30年 午後II 問1
平成31年 午後II 問1
まれに出ないことがあるがほぼ毎年出ているので物理設計も視野に入れる。
主なデータ型
CHAR(n) 半角英数字 文字数バイトNCHAR(n) 日本語 文字数*2バイト
VARCHAR(n) 可変長半角英数字 平均文字数+4バイトの制御情報
NCHAR VARYING(n) 可変長日本語 備考など 平均文字数*2+4バイトの制御情報
SMALL INT 桁数の少ない数値 2バイト
INTEGER 数値 4バイト
DECIMAL(m,n) INTEGERでは収まらない巨大な数字 m(精度)/2+1バイト(切り捨て)
DATE 日付 4バイト
TIME 時間 3バイト
TINESTAMP 日時 10バイト
※変わる可能性あり
NULLについて
空き容量率とNULLの1バイトに注意する。必須(NOT NULL)
任意(NULL)
~場合にのみ設定する(NULL)
連番で指定する(NOT NULL)
その他特別な記述がない場合NOT NULL.
主たる計算式
見積行数(データレコード数)ページサイズ(1ページあたりのサイズ2000,4000,8000バイトなど)
平均行長(1レコードあたりのサイズ)
1データページあたりの平均行数(ページサイズ/平均行長)*(1-空き容量率)
必要データページ数(見積行数/1データページあたりの平均行数 切り上げ)
データ所要量(ページサイズ*必要データページ数)
例題
平成27年 午後II 問1
データページサイズ:4000バイト
空き領域率:10%
患者数:300万
患者基本テーブル
患者ID:8バイト
氏名:24バイト
性別:1バイト
生年月日:4バイト
職業:23バイト
a "患者基本テーブル"平均行長:60バイト
b 1ページ平均行数:4000*0.9/60 = 60行
c 見積もり行数:30000000
d 必要ページ数:30000000/60行 = 50000ページ
e データ所要量:4000バイト*5000ページ~ 200百万バイト