データベーススペシャリストの過去問、H26(2014)の午後1の問1を解いて得られたきづきを書きます。
-
データサイズの計算
NCHAR VARYING
は文字数 * 2 + 4 byte
で計算する。NULLABLEな列なら更に+1byteする- 列でコードを管理する場合、
半角数字
なのか、半角英数字
なのかを見間違えないようにする - 日本語の項目で、"文字数は30文字"とだけ指定される場合、
NCHAR
の指定にする。NCHAR VARYING
ではない。 - 区分の列で1桁の数字で管理する場合は、SMALLINTではなく、CHAR(1)で管理する。 SMALLINTだと2byteになり、
行サイズを最小とすること
という要件を満たさない。
-
ユニークキーの指定
- 項目の説明をよく読むこと。(意外なことに)コードではなく、名称がユニークになっているという指示が与えられている場合もありうる。
-
CRUD表
- この表で、データのinsert後に後でupdateがかかるかのチェックが行える場合がある
- さらに、これによってテーブル定義のNULLABLEの決定ができる場合がある
- この表で、データのinsert後に後でupdateがかかるかのチェックが行える場合がある
-
参照制約
- 外部キー成約を設定した列でも、NULLを設定することはできる。
- トランザクションのテーブルに参照制約を設定した場合、
参照先テーブルの方がデータの保存期間を短い
状態にはできない。
-
パフォーマンステスト
- データベースの統計情報を更新しないことで、適切なインデックスが使われず、結果としてテストの結果が想定より遅くなる場合がある。
こちらもおススメ