[Database] 数据库完整性
生活随笔
收集整理的這篇文章主要介紹了
[Database] 数据库完整性
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、實體完整性 –關(guān)系的主碼中的屬性值不能為空值 –空值:不知道或無意義 –意義:關(guān)系對應到現(xiàn)實世界中的實體集,元組對應到實體,實體是相互可區(qū)分的,通過主碼來唯一標識,若主碼為空,則出現(xiàn)不可標識的實體,這是不容許的 二、參照完整性(Referential Integrity)
(
a int not null primary key,
b int unique
)
create table bb
(
c int not null primary key,
d int,
constraint aa_bb_fk foreign key(d) references aa(a)
) insert into bb values(1,null) OK!
在關(guān)系模型中實體及實體間的聯(lián)系都是用關(guān)系來描述的,因此可能存在著關(guān)系與關(guān)系間的引用
如果關(guān)系R2的外部碼Fk與關(guān)系R1的主碼Pk相對應,則R2中的每一個元組的Fk值或者等于R1 中某個元組的Pk 值,或者為空值 意義:如果關(guān)系R2的某個元組t2參照了關(guān)系R1的某個元組t1,則t1必須存在 例如關(guān)系S在D#上的取值有兩種可能 –空值,表示該學生尚未分到任何系中 –若非空值,則必須是DEPT關(guān)系中某個元組的D#值,表示該學生不可能分到一個不存在的系中 也就是說外碼與主碼的一個不同是可以為null 測試一下: create table aa(
a int not null primary key,
b int unique
)
create table bb
(
c int not null primary key,
d int,
constraint aa_bb_fk foreign key(d) references aa(a)
) insert into bb values(1,null) OK!
轉(zhuǎn)載于:https://www.cnblogs.com/deepblueme/p/4938949.html
總結(jié)
以上是生活随笔為你收集整理的[Database] 数据库完整性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抓包工具收集
- 下一篇: BZOJ 1088: [SCOI2005