SQL Serverの制約(制約の6種類)で
まず、制約は何ですか?
データベース - 、フィールド(オブジェクトテーブルの特性として理解さ) - (カテゴリーとして理解される)の行と列の2次元アレイ、カラム - (クラスライブラリとして理解される)データテーブルの数、データテーブルにより構成されるOK - オブジェクトテーブルとして理解されている、データベースの制約は、データの整合性を確保することです
1.1。エンティティ整合性
各テーブルは、フィールドを指定する必要がありました
1.2地域の整合性
テーブル内のフィールドに特化上の制限をすること
1.3。参照整合性
専門の一種は、テーブルとテーブル間の関連付けを制限しました
第二、制約型(6種類)
制約タイプ | 説明 |
---|---|
主キー制約(PRIMARY KEY) | ID列識別子決意テーブル(主キーは、一意である必要があり、空にすることはできません):目標性能が一意決定します |
外部キー制約(FOREIGN KEY) | テーブルとテーブルとの間の接触は、一般に、決定プライマリ・テーブルを識別することによって、プライマリ・テーブルの列を決定する:プライマリ・テーブル、テーブルからの二次テーブルであるテーブルのテーブルに制約を追加します |
唯一の制約(UNIQUE) | このフィールドのデータは異色の存在でなければならないかを決定 |
非空制約(NOT NULL) | 空にすることはできません。このフィールドのデータを決定します |
チェック制約(CHECK) | データ特性フィールドのセット |
デフォルトの制約(DEFAULT) | 制約は、テーブル内のデフォルト値を定義した場合、データラインが指定されていない場合、我々は、デフォルト値を設定しない場合は、データの新しい行の挿入ユーザーが、システムはNULLに、値が列に割り当てられているシステムのデフォルト値をデフォルトとします。 |
2.1。主キー制約(PRIMARY KEY)
ALTER TABLE 数据表名
ADD CONSTRAINT PK_ID --(命名一个主键名称)
PRIMARY KEY(ID)
2.2外部キー制約(FOREIGN KEY)
ALTER TABLE 从表名称
ADD CONSTRAINT FK_SID --(命名一个外键名称)
--添加外键约束
FOREIGN KEY(StuID) REFERENCES 主表名称(ID)
2.3。唯一の制約(UNIQUE)
ALTER TABLE 数据表名称
ADD CONSTRAINT QU_Name --(命名一个唯一约束的名称)
UNIQUE([Name])
2.4。非空制約(NOT NULL)
ALTER TABLE 数据表名称
ALTER COLUMN ID INT NOT NULL
2.5チェック制約(CHECK)
ALTER TABLE 数据表名称
ADD CONSTRAINT CK_SEX --(命名一个检查约束的名称)
CHECK(SEX IN('男','女'));
2.6。デフォルトの制約(DEFAULT)
2.6.1テーブルのフィールドが構築されている場合
--DF_XXX(命名一个默认约束的名称)
ALTER TABLE 表名
ADD CONSTRAINT DF_XXX DEFAULT 1 FOR 字段名
2.6.2テーブルのフィールドが完了していない場合
2. 如果表字段没有建
ALTER 表名 ADD 字段名 INT DEFAULT(1)
2.6.3削除制約
--删除检查约束
ALTER TABLE 数据表名称
DROP CONSTRAINT CK_AGE--(你想要删除的某个键名或者约束名称)