實體完整性用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 主表和從表 主表中沒有的記錄,從表不允許插入 從表中有的記錄,主表中不允...