SQL Serverの6つの制約
5043 ワード
SQL Serverの制約(6つの制約)
一、制約とは何ですか.
≪データベース|Database|Eas≫-複数のデータ表で構成されています(クラスとして理解されています)、データ表-行と列で構成された2 D配列(クラスとして理解されています)、列-フィールド(表のオブジェクトの属性として理解されています)、行-表のオブジェクトとして理解されています.制約はデータベースでデータの整合性を保証する方法です
1.1.エンティティの整合性
各テーブルに指定するフィールドがあります
1.2.ゾーン整合性
テーブル内のフィールドの特殊化の制限
1.3.参照整合性
テーブルとテーブルの間の特殊な関連制限
二、拘束タイプ(六種類):
制約タイプ
説明
プライマリ・キー・コンストレイント(PRIMARY KEY)
テーブル内の識別列を決定します(プライマリ・キー・フィールドは空ではなく、一意でなければなりません).識別:オブジェクトの一意の表現を決定します.
外部キー制約(FOREGN KEY)
テーブルとテーブルの連絡先を決定します.一般的には、プライマリ・テーブルの識別列を使用して、プライマリ・テーブルを決定します.プライマリ・テーブルに制約を追加するテーブルはプライマリ・テーブルで、セカンダリ・テーブルはセカンダリ・テーブルです.
ユニークコンストレイント(UNIQUE)
このフィールドのデータが一意である必要があることを確認します.
非空拘束(NOT NULL)
このフィールドのデータが空でないことを確認します.
チェックコンストレイント(CHECK)
このフィールドのデータ特性の設定
デフォルト制約(DEFAULT)
テーブルにデフォルト制約が定義されている場合、ユーザーが新しいデータ行を挿入するときに、その行にデータが指定されていない場合は、デフォルト値をカラムに割り当て、デフォルト値を設定しない場合はNULLにデフォルト値を割り当てます.
2.1.プライマリ・キー・コンストレイント(PRIMARY KEY)
2.2.外部キー制約(FOREGN KEY)
2.3.ユニークコンストレイント(UNIQUE)
2.4.非空拘束(NOT NULL)
2.5.チェックコンストレイント(CHECK)
2.6.デフォルト制約(DEFAULT)
2.6.1テーブルフィールドが作成されている場合
2.6.2表フィールドが作成されていない場合
2.6.3制約の削除
一、制約とは何ですか.
≪データベース|Database|Eas≫-複数のデータ表で構成されています(クラスとして理解されています)、データ表-行と列で構成された2 D配列(クラスとして理解されています)、列-フィールド(表のオブジェクトの属性として理解されています)、行-表のオブジェクトとして理解されています.制約はデータベースでデータの整合性を保証する方法です
1.1.エンティティの整合性
各テーブルに指定するフィールドがあります
1.2.ゾーン整合性
テーブル内のフィールドの特殊化の制限
1.3.参照整合性
テーブルとテーブルの間の特殊な関連制限
二、拘束タイプ(六種類):
制約タイプ
説明
プライマリ・キー・コンストレイント(PRIMARY KEY)
テーブル内の識別列を決定します(プライマリ・キー・フィールドは空ではなく、一意でなければなりません).識別:オブジェクトの一意の表現を決定します.
外部キー制約(FOREGN KEY)
テーブルとテーブルの連絡先を決定します.一般的には、プライマリ・テーブルの識別列を使用して、プライマリ・テーブルを決定します.プライマリ・テーブルに制約を追加するテーブルはプライマリ・テーブルで、セカンダリ・テーブルはセカンダリ・テーブルです.
ユニークコンストレイント(UNIQUE)
このフィールドのデータが一意である必要があることを確認します.
非空拘束(NOT NULL)
このフィールドのデータが空でないことを確認します.
チェックコンストレイント(CHECK)
このフィールドのデータ特性の設定
デフォルト制約(DEFAULT)
テーブルにデフォルト制約が定義されている場合、ユーザーが新しいデータ行を挿入するときに、その行にデータが指定されていない場合は、デフォルト値をカラムに割り当て、デフォルト値を設定しない場合はNULLにデフォルト値を割り当てます.
2.1.プライマリ・キー・コンストレイント(PRIMARY KEY)
ALTER TABLE
ADD CONSTRAINT PK_ID --( )
PRIMARY KEY(ID)
2.2.外部キー制約(FOREGN 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--( )