データの制約
ユーザデータの制約のデータは、操作テーブルを制約することです。
1.デフォルト:ユーザーがフィールドのデフォルト値がされて使用した場合の値挿入されていない時間を、デフォルト値が使用されています。
1 )デフォルト値フィールドの挿入nullが可能です。
2 )以外のフィールドのデフォルト値はnull
(TABLE学生のCREATE
id INT、
NAME VARCHAR(20)、
アドレスVARCHAR(20)DEFAULT ' 淄博 ' - デフォルト
)
2.非空:制限フィールドを割り当てる必要があります
1 )非空白文字が割り当てられている必要があります
2 )null以外の文字を割り当てることができないヌル
(TABLE学生のCREATE
id INT、
NAME VARCHAR(20)、
性別VARCHAR(2)NOT NULL - 空でありません
)
3.ユニーク:フィールドの値を繰り返すことはできません
1 挿入することができる)のみフィールドヌル
2 )複数の中に挿入することができる唯一のフィールドはnull
(TABLE学生のCREATE
ID INT UNIQUE、 - のみ
NAME VARCHAR(20)
)
4.主キー:ユニークな非ヌル+
1 )典型的には、各テーブルには、主キーフィールドを有することになります。一意テーブル内の各レコードをマークするために使用します。
2 )フィールドが主キーとしてテーブルのビジネス上の意味が含まれている選択しないことをお勧め、それぞれの非ビジネス上の意味のために別のテーブルを設計することが推奨されたID フィールド。
(TABLE学生のCREATE
id INT PRIMARY KEY、 - 主キー
NAME VARCHAR(20)
)
5.自己成長:自動インクリメント
(TABLE学生のCREATE
IDのINT(4)ZEROFILL PRIMARY KEY AUTO_INCREMENT、 - 成長から、から0 起動する ZEROFILL ゼロパディングを
NAME VARCHAR(20)
)
6.外部キー:制約データテーブルの2種類
二つの表現型の状況が表示されます:
高いデータ冗長性の問題を解決する: テーブルを分離
例: 従業員表 と 部門表
問題:データ内の従業員表を挿入し、部門スタッフテーブルのID フィールドを簡単に挿入することができます!!!!!
外部キー制約:制約の挿入部門の従業員テーブルのID フィールドの値
ソリューション: 部門のスタッフテーブルで IDが外部キー制約のフィールドを追加します
- 部門表(主テーブル) (表deptをCREATE ID INT PRIMARY KEY、 DEPTNAME VARCHAR(20) )
- スタッフのテーブルを変更し(サイドテーブル/ 表) (TABLE従業員のCREATE ID INT PRIMARY KEY、 empName VARCHAR(20)、 DEPTID INT、 - 部署の名前が教室に変更されたID - 外部キー制約を宣言 FOREIGN KEY(DEPTID)を参照のDEPT(ID)emlyee_dept_fk CONSTRAINT - 外部キー参照テーブルの外部キーの名前(参照フィールド) ) |
注意:
1 )プライマリ・テーブルのような制約の他のテーブル、サブテーブルとしてテーブルに拘束され、サブテーブルに配置され、外部キー!!!
2 )主テーブルの主キー、共通の参照フィールド!
3 )データの追加:最初のメインテーブルを追加し、サブテーブルを追加
4 )データ変更:第一の変形例のサブテーブルを、その後、メインテーブルを変更
5 )データを削除する:第一サイドテーブルを削除し、メインテーブルを削除