3.2整合性管理

3.2整合性管理

データベーススペシャリスト試験の整合性管理を学習。以下にまとめます。

整合性制約

データベース内のデータが政党である状態を整合性がある。整合性を維持するための制約には、並行制御のための一貫性制約と、データそのものが備えるべき整合性制約(integrity constraint)がある。

プログラムから整合性制約の処理を排除することを整合性独立あるいは制約独立性という。DBMSの整合性管理の機能を用いることでプログラムは必要な処理だけに集中できる。プログラムの制約独立性が向上し、結果として

  1. プログラムのコーディング量が減少
  2. 整合性制約の重複がなくなる
  3. プログラムの保守性が向上

一意性制約(UNIQUE)

一意性制約(unique constraint)は、表中の指定した列、または列の組み合わせが一意であること(候補キー)の制約条件。NULLの扱いが異なる。

CONSTRAINT … PRIMARY KEY | UNIQUE …

INITIALLY DEFERRED | IMMEDIATE [ NOT ] DEFERRABLE …

参照制約

参照制約(referential constraint)はデータベースの表間の外部キー、主キー(候補キー)による参照関係に関する制約。すべての外部キーの値が実際に対応する表の主キーの値に一致することを保証。

CONSTRAINT … FOREIGN KEY …

REFERENCES …

[ MATCH ( FULL | PARTIAL ) ]

[ ON DELETE …]

[ ON UPDATE …]

NO ACTION | CASCADE | RESTRICT | SET DEFAULT | SET NULL

NO ACTION :何もしない

CASCADE:一致するT2の行すべてを削除(更新)す

RESTRICT:削除を拒絶する

SET DEFAULT:規定値をセットする

制約持続性は、制約モード、すなわち制約検査の時期を遅延(deferred)か、即時(immediate)に行うか指定。

NOT NULL制約

NULLを持てない制約

存在制約

子レコードは、親レコードが存在しなければならない

更新制約

値の妥当性制約、値の従属制約、その他

形式制約(ドメイン制約)

項目や定義域のデータ型に関する制約

CREATE DOMAIN … AS

検査制約

CHECK(探索条件)

表明

一般制約。CREATE ASSERTION … CHECK (探索条件)…

即時に、あるいは遅延して適用できるが、コミット時にはチェックされる。