MySQL學習筆記 資料庫完整性

2021-10-11 22:56:49 字數 2717 閱讀 8136

實體完整性用primary key定義

例:將book表中的id屬性定義為主碼

列級定義主碼

create

table book(

id char(8

)primary

key(id)

, author char(30

),price float

);

表級定義主碼

create

table book(

id char(8

),author char(30

),price float

,primary

key(id)

);

多屬性主碼只能在表級定義

create

table book(

id char(8

),author char(30

),price float

,primary

key(id,author)

);

primary key 約束唯一標識資料庫表中的每條記錄。

主鍵必須包含唯一的值。

主鍵列不能包含 null 值。

每個表都應該有乙個主鍵,並且每個表只能有乙個主鍵。

1.不允許空值

例:在定義一張表book時,定義書的id,author,price不能取空值

create

table book(

id char(8

)not

null

, author char(30

)not

null

, price float

notnull

);

2.列值唯一

例:建立一張表book,要求其author唯一

create

table book(

id char(8

)not

null

, author char(30

)unique

notnull

, price float

notnull

,primary

key(id)

);

3.用check短語指定列值應該滿足的條件

例:只允許book表中***取男或女

create

table book(

id char(8

)primary

key,

author char(30

),*** char(2

)check

(*** in

('男'

,'女'))

, price float

);

price只允許取1-500的值

create

table book(

id char(8

)primary

key,

author char(30

),*** char(2

),price float

check

(price>=

1and price<=

500)

);

參照完整性在create table中用foreign key定義外碼,用references指明這些外碼參照哪些表的主碼

create

table book(

id char(8

),author char(30

),*** char(2

),price float

,primary

key(id,price));

create

table address(

id char(8

),address char(3

),price float

,foreign

key(id)

references book(id)

,foreign

key(price)

references book(price)

);

參照完整性違約處理

1.no action 拒絕執行

2.cascade級聯操作

create

table book(

id char(8

),author char(30

),*** char(2

),price float

,primary

key(id,price));

create

table address(

id char(8

),address char(3

),price float

,foreign

key(id)

references book(id)

onupdate

cascade

,foreign

key(price)

references book(price)

onupdate

cascade

);

Mysql資料庫完整性

一 資料完整性的概念 1 目的 為了防止不符合規範的資料進入資料庫,在使用者對資料進行插入 修改 刪除等操作時,dbms自動按照一定的約束條件對資料進行監測,使不符合規範的資料不能進入資料庫,以確保資料庫中儲存的資料正確 有效 相容。2 概念 約束是用來確保資料的準確性和一致性。資料的完整性就是對資...

Mysql資料庫學習 資料庫完整性

1實體完整性 主鍵 1.1實體完整性檢查 1.2實體完整性定義 1.3實體完整性刪除 2.參照完整性 外來鍵 2.1參照完整性檢查 2.2參照完整性定義 2.2參照完整性刪除 3.使用者定義的完整性 3.1屬性上的約束條件 列級完整性約束 3.2元組上的約束條件 表級完整性約束 4斷言 mysql已...

資料庫MySQL 資料完整性

1.5.1 資料完整性包括 1 實體完整性 1 主鍵約束 2 唯一約束 3 標識列 2 域完整性 1 資料型別約束 2 非空約束 3 預設值約束 3 引用完整性 外來鍵約束4 自定義完整性 1 儲存過程 2 觸發器 1.5.2 主表和從表 主表中沒有的記錄,從表不允許插入 從表中有的記錄,主表中不允...