MySQLデータベース:データ整合性と制約の適用

1652 ワード

データ整合性
1.ドメイン整合性:------整合整合整合性:非空、デフォルトフィールド/列
2.エンティティ整合性:------整合整合整合性:プライマリ・キー、ユニーク・キー記録/行
3.参照整合性:------整合整合整合性:外部キーテーブルとテーブルの間
拘束こうそく:constraint constraint constraint
MySQLでの制約分類
プライマリ・キー:primary key一意キー:unique非空:not nullデフォルト:default外部キー:foreign key
プライマリ・キー、ユニーク・キー、外部キーが自動的にインデックス・プライマリ・キーを作成します.1つのテーブルに1つのプライマリ・キーしか存在しません.1つのフィールドに対応してもよいし、複数のフィールド(プライマリ・キーの組合せ)に対応してもよいユニーク・キー:null値を格納できる候補プライマリ・キーにもなります.外部キー:プライマリ・テーブルに由来するプライマリ・キーまたはユニーク・キー(空で許可され、プライマリ・テーブルに値が表示される必要があります)
コンストレイントの作成
constraint         (   ) references   (          )

外部キーコンストレイントの作成
constraint     foreign key(    ) references   (          )

結合プライマリ・キーの作成
primary key (  1,  2)

既存のテーブルに対してユニークキー制約を作成
alter table    add constraint     unique(   );

制約されたデータを削除するには、サブテーブル・データを削除してから、プライマリ・テーブル・データを削除します.
カスケード削除
on delete cascade 

カスケード更新
on update cascade

mysql外部キーコンストレイントをオフにする
SET FOREIGN_KEY_CHECKS=0;

mysql外部キーコンストレイントを開く
SELECT  @@FOREIGN_KEY_CHECKS;

外部キーの削除注意:この文は、外部キーを削除した後に、自動的に生成される制約の削除に関連付けられません.
alter table    drop foreign key     ;

≪一意キーの削除|Delete Unique Key|ldap≫:一意キーが削除されると、対応するインデックスも自動的に削除されます.
alter table    drop index       ;

指定した名前のインデックスを削除
alter table    drop index     ;

注意:プライマリと外部の関連付けられたテーブルについては、テーブル内のデータを削除します.削除されたカスケード操作がない場合は、プライマリ・テーブル・データを削除する前に、テーブルから対応するデータを削除する必要があります.