Oracle定義のデータの整合性

1.主キー制約が定義されました

1.1テーブルを作成するときに主キー制約を定義します

テーブルの学生作成

名前VARCHAR2(8)、
studentid VARCHAR2(10)主キー、
セックスCHAR(2)
)。

あなたがテーブルを作成した後1.2には、制約を追加するには、alter tableコマンドを使用します

1.2.1テーブルを作成します。

テーブルの学生作成

名前VARCHAR2(8)、
studentid VARCHAR2(10)、
セックスチャー(2)
)。

1.2.2主キー制約を追加します。

テーブルの学生が変更
制約pk_student主キー(studentid)を追加します。

ここで主キー制約定義された名前に制約pk_student(オプション)

制約を変更するために使用されるPk_student制約名、

たとえば、次のように主キー制約を削除します。

テーブルの学生を変更

制約pk_studentをドロップします。

図2は、NOT NULL制約が定義されています

NOT NULL制約は、列レベルの制約として定義することができません

2.1定義NOT NULL制約テーブルを作成します

同じことが、テーブルを作成するときに制約が定義することができますnullではありません

例えば:

テーブルTSETを作成する

名前VARCHAR2(8)NOT NULL、
studentid VARCHAR2(10)主キー、
セックスCHAR(2)
)。

2.2 NOT NULL制約を追加するテーブルを変更、テーブルを作成

2.2.1テーブルを作成します。

表TSET作成

名前VARCHAR2(8)、
studentid VARCHAR2(10)主キー、
性別チャー(2)
)。

2.2.2は、NOT NULL制約を追加します。

テーブルのテストを変更nullでない名前を変更します。

3つの一意性制約定義された一意性

唯一の制約は意味:入力された制約の繰り返しフィールドの値が発生することはできません

一意性と漸進的な違い:

(1)固有のテーブルは複数を定義することができ、そしてテーブルの主キーを定義することができ

(2)空のフィールドを可能にするユニーク制約され、プライマリキー、NOT NULL

一意性制約を作成するには、3.1という定義を意味

表テスト作成

名前VARCHAR2(8)、NOT NULLを、
studentid VARCHAR2(10)主キー、
性別CHAR(2)、
IDNUM CHAR(18)ユニーク
)。

3.2テーブルを作成した後、テーブルのユニーク制約を追加

3.2.1テーブルを作成します。

表テスト作成

名前VARCHAR2(8)NOT NULL、
studentid VARCHAR2(10)主キー、
性別CHAR(2)、
IDNUM CHAR(18)
)。

3.2.2制約を追加します。

テーブルのテストを変更

(IDNUM)ユニークun_idnum制約を追加します。

 

4チェックチェック制約が定義され

望ましい範囲の価値列を指定するために使用される制約をチェックし、値の条件は表に入力することができる場合にのみ、

あなたは、テーブルのチェックを作成する4.1定義

表テスト作成

名前VARCHAR2(8)NULL NOT、
studentid VARCHAR2(10)主キー、
性別CHAR(2)制約ch_sexチェック(( '男'、 '女'))、中性別
IDNUM CHAR(18)
)。

4.2.1テーブルを作成します。

表テスト作成

名前VARCHAR2(8)NOT NULL、
studentid VARCHAR2(10)主キー、
性別CHAR(2)、
IDNUM CHAR(18)
)。

チェック制約の追加4.2.2

テーブルのテストを変更制約ch_sexを追加

((「男性」、「女性」)にセックスを)確認してください。

図5は、外部キー制約を定義します

5.1の作成は、外部キーの定義を表し

5.1.1外部キーは、フィールドの定義で定義されています

 

表コースを作成する

IDのVARCHAR2(10)主キー、
クラス名VARCHAR2(10)、
VARCHAR2(10)参照試験(studentid)はstudentid

5.1.2定義フィールド、その後、外部キーが定義されています

表コースを作成する

IDのVARCHAR2(10)主キー、
クラス名VARCHAR2(10)
)10(VARCHAR2をstudentid、
外部キー制約fk_course(studentid)参照試験(studentid)
)。

*************二つのアプローチの違いに注意してください*****************

alter tableコマンドによって作成された5.2外部キー制約

テーブルのコースを変更します

追加の外部キー(studentid)fk_course制約を参照テスト(studentid)。

 

 

 

 

ます。https://www.cnblogs.com/pretty-guy/p/3227686.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_33755557/article/details/94287729