2009-08-12から1日間の記事一覧

Long型の制約

・副問い合わせを使用して表を作成するとLong列はコピーされない ・1つの表に1つしか定義できない ・ORDER BY、GROUP BYにふくめる事はできない ・制約を定義できない

CREATE TABLE句のオプション

・即時(NOT DEFERRABLE) ・遅延可能(DEFERRABLE) ・有効(EABLE) ・無効(DISEABLE) ・VALIDATE/NOVALIDATE <※重要> 表作作成時のデフォルト ・即時(NOT DEFERRED) ・有効(EABLE VALIDATE) ・残りのオプションは作成後に変更可能 ・EABLE NOVALI…

制約の無効化

制約を無効状態にする ・DISABLE NOVALIDATE・・・値の追加更新ができる(妥当性検証無し) ・DISABLE VALIDATE・・・値の追加更新はできない(妥当性検証有り) alter table 表名 disable validate(novalidate) constraint 制約名

制約の有効化

制約を無効状態にしたものを再度有効化する ・ENABLE NOVALIDATE・・・無効値を削除しない ・ENABLE VALIDATE・・・無効値を削除する alter table 表名 enable validate(novalidate) constraint 制約名

外部キー

参照整合性制約 ・通常親表の値を先に入れる ・遅延制約を使用すれば親表よりも先に子表の挿入ができる

TRANCATE

・データが削除される ・索引も削除される ・削除トリガは実行されない ・外部キー参照表は切り捨てできない ・表の先頭に最高水位標を設定して表の空マークをつける ・UNDOデータは生成されず暗黙コミットが行われる <※重要> ・TRANCATEはDDL ・UNDOデー…

DROP

DROP文で以下のものが削除される ・データ ・表定義 ・データベーストリガ ・索引 ・オブジェクト権限 ・パーティション 参照整合性制約を削除するとエラーとなる 参照整合性制約をとるか CASCADEオプションを指定すると削除できる 削除した表や索引トリガは…

Bツリー索引

・WHERE句で使用される ・値の種類が多い ・NULLが多いがNULL意外を検索する

ビットマップ索引

・WHERE句で使用される ・値の種類が少ない ・複数列とOR演算を使用した問い合わせで多用する <※重要> ビットマップ索引は「男性」「女性」しか持たないような 少ない列に定義する

一時表のデータ保持

・ON COMMIT DELETE ROWS・・・トランザクション終了まで保持 ・ON COMMIT PRESERVE ROWS・・・セッション終了まで保持

8章

<命名規約> ・データベース名・・・8バイト ・データベースリンク名・・・128バイト ・表(オブジェクト)の名前は最長30バイト ・大文字小文字は区別されない