第4章 その他のデータベース・オブジェクト

4-1 順序
■順序は整数の順序を生成するオブジェクト、複数のユーザーに対応している。

■順序の作成の基本構文
CREATE SEQUENCE 順序名
  [MAXVALUE 最大値]
  [START WITH 初期値]
  [INCREMENT BY 増分値]
  [MINVALUE 最小値;]

■順序の削除の基本構文
DROP SEQUENCE 順序名; 

■順序の確認の基本構文
SELECT * FROM USER_SEQUENCE 

■順序の使用方法
順序名.NEXTVAL 一意キーが順序に指定された順序オブジェクトに従って、新しい番号を採番します。
Oracleシステム全体でユニークな番号です。
順序名.CURRVAL 現ユーザーが採番した最後の番号を戻します。
現ユーザーが一度も裁判していない場合はエラーになります。


4-2 索引
■索引を作成することで表を全表走査せずに、表の検索時間を大幅に短縮することが出来る。
   →但し、挿入・更新・削除の際に索引の更新も行うことになるため、速度の低下につながる。
 
■索引設計の指針
  ○大規模なデータの中から、2〜4%程度のデータを頻繁に検索する場合。
  ○列の値が一意な場合(ユニーク性が高い)
  ○WHERE句の条件として頻繁に検索する。
  ○NULL値が多く、NULL値以外で検索する場合
  ×データ量の少ない表からの検索
  ×列の値の種類が少ない(ビットマップ索引の適用ならば○)
  ×表が頻繁に更新される場合

■索引の作成の基本構文
CREATE INDEX 索引名
  ON 表名 (列名 [, 列名]...)
[TABLESPACE 表領域名]
[記憶領域管理パラメータ];

■索引の削除の基本構文
DROP INDEX 索引名;

■索引の確認の基本構文
SELECT * FROM USER_INDEXES 
  →索引名と表名
SELECT * FROM USER_IND_COLUMNS 
  →索引がどの列に定義されているか


4-3 シノニム
■シノニムとは表やビュー等のオブジェクトの別名

■プライベートシノニム
  ・作成者だけが使用できる

■プライベートシノニム
  ・全てのユーザーが使用できる

■シノニム作成の基本構文
CREATE [PUBLIC] SYNONYM シノニム名
  FOR スキーマー名.オブジェクト名;

■シノニム削除の基本構文
DROP
[PUBLIC] SYNONYM シノニム名;

■シノニムの確認
  SELECT * FROM USER_SYNONYMS;
    →プライベートシノニムの内容
  SELECT * FROM DBA_SYNONYMS;
  もしくは
  SELECT * FROM ALL_SYNONYMS;
    →パブリックシノニムの内容