情報処理技術者試験(データベーススペシャリスト)のキーワードメモ(ニ)
■DB設計のアプローチ
■連関エンティティ
多対多の関係が存在する時は、連関エンティティを追加する
例:ユーザ、興味二つテーブルがあって、一人のユーザは複数興味を持っているので、ユーザ_興味というテーブルの追加でそのリレーションを分離できる
■高速化手法
- 導出属性持つ 導出属性を事前に計算しておいて、属性として持つ方法
- 属性を重複して持つ よく参照する表の列を追加してアクセスを速くする方法
- 非正規化 属性をまとめて1つ表にする。第3正規形まで正規化せず、第2正規形又は第1正規形を使う手法です。
■サブタイプの切り口
排他的サブタイプの切り口は一つに対して、共存的サブタイプの切り口は別々です。
■カーソル
定義:DECLARE カーソル名 CURSOR FOR SELECT文 [FOR {READ ONLY | UPDTE [OF 列名[, …n]]}]
OPEN カーソル名
FETCH カーソル名 INTO [変数リスト]
CLOSE カーソル名
■ドメイン定義
ドメインとは、制約付きのデータ型です。例えば電話番号はあるフォーマットでなければならない。電話番号フォーマット制約をつけて定義したデータ型はドメインです。
定義:CREATE DOMAIN
oracleの定義:create or replace type タイプ名 as object ( 属性名 型, …)