數(shù)據(jù)完整性約束(1)——實體完整性、參照完整性

一.數(shù)據(jù)完整性的分類

在關(guān)系模型中溺健,提供了實體完整性麦牺,參照完整性,用戶定義完整性鞭缭。

二.實體完整性

2.1什么是實體剖膳?

實體是一個數(shù)據(jù)對象,指的是客觀存在并可以相互區(qū)分的事物岭辣,比如學(xué)生吱晒,老師等。一個實體在數(shù)據(jù)庫中對應(yīng)的是一條記錄沦童。

2.2實體完整性在MySQL中實現(xiàn)

實體完整性在MySQL中的實現(xiàn)是通過主鍵約束和候選鍵約束實現(xiàn)的仑濒。

2.2.1主鍵約束

首先,我們來了解一下主鍵是什么:主鍵是表中的某一列或者多個列的組合偷遗。多個列就是復(fù)合主鍵墩瞳。

在MySQL中的主鍵必須保證一下幾個要求:

1.一個表只能有一個主鍵,主鍵可以復(fù)合但是只有一個氏豌。

2.唯一性喉酌,主鍵的值在一張表里面是不能重復(fù)是唯一的,而且不能為空泵喘。

3.最小化原則泪电,當(dāng)一個復(fù)合主鍵刪除掉復(fù)合的某一行后如果這個主鍵還是復(fù)合的,那么就是代表原來那個復(fù)合主鍵沒有滿足最小化原則纪铺。

2.2.2實現(xiàn)主鍵

使用關(guān)鍵字:primary key
方式一:單列主鍵

create table tb(
tb_pk int primary key
);

方式二:復(fù)合主鍵

create table tb(
tb_id int ,
tb_name varchar(10),
primary key (tb_id,tb_name)
);

2.2.3候選鍵約束

如果一張表中的某一個列可以唯一標(biāo)識這張表相速,又不含其他多于的屬性,那么他就是一個候選鍵鲜锚。比如學(xué)生的學(xué)號突诬。

同樣的候選鍵也是非空并且唯一值,候選鍵也支持復(fù)合芜繁。

2.2.4候選鍵與主鍵

表中主鍵只有一個但是候選鍵可以擁有多攒霹。

兩者都會創(chuàng)建索引,主鍵是priamry key索引浆洗,但是候選鍵是unique索引

2.2.5實現(xiàn)候選鍵

使用關(guān)鍵字unique:

create table tb(
tb_id int ,
tb_name varchar(10),
unique(tb_id,tb_name)
);

三.參照完整性

在現(xiàn)實世界中存在多個對應(yīng)的關(guān)系雏节,那么這個對應(yīng)關(guān)系就是參照完整性辫愉,也就是MySQL中的外鍵押赊。

3.1參照完整性的定義為(圖解):

image

3.2參照的完整性語法

關(guān)鍵字:foreign key

語法:

foreign  key   (本身表的列)  references 

          從表表名(從表的主鍵) 

          on delete restrict  |  cascade  |  set  null  |  no   action

          on update restrict  |  cascade  |  set  null  |  no   action

restrict :刪除或者更新時,在外間中出現(xiàn)的值操作失敗

cascade:將外鍵的值一同刪除或者更新

set null :刪除更新時外鍵的值被設(shè)置為空

例子首先說明有兩張表:

create table tb(
tb_id int ,
tb_name varchar(10),
foreign key (tb_id) references tb1(tb_id) on delete cascade on update cascade
);

create table tb1(
tb_id int primary key,
tb_name varchar(10),
unique(tb_id,tb_name)
);

3.3注意點

1.首先從表必須是存在的塔淤。

2.從表必須是主鍵被參照

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市速妖,隨后出現(xiàn)的幾起案子高蜂,更是在濱河造成了極大的恐慌,老刑警劉巖罕容,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件备恤,死亡現(xiàn)場離奇詭異,居然都是意外死亡锦秒,警方通過查閱死者的電腦和手機(jī)露泊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旅择,“玉大人惭笑,你說我怎么就攤上這事∩妫” “怎么了沉噩?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長柱蟀。 經(jīng)常有香客問我川蒙,道長,這世上最難降的妖魔是什么长已? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任畜眨,我火速辦了婚禮,結(jié)果婚禮上痰哨,老公的妹妹穿的比我還像新娘胶果。我一直安慰自己匾嘱,他們只是感情好斤斧,可當(dāng)我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著霎烙,像睡著了一般撬讽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悬垃,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天游昼,我揣著相機(jī)與錄音,去河邊找鬼尝蠕。 笑死烘豌,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的看彼。 我是一名探鬼主播廊佩,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼囚聚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了标锄?” 一聲冷哼從身側(cè)響起顽铸,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎料皇,沒想到半個月后谓松,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡践剂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年鬼譬,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舷手。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡拧簸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出男窟,到底是詐尸還是另有隱情盆赤,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布歉眷,位于F島的核電站牺六,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏汗捡。R本人自食惡果不足惜淑际,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望扇住。 院中可真熱鬧春缕,春花似錦、人聲如沸艘蹋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽女阀。三九已至宅荤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間浸策,已是汗流浹背冯键。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留庸汗,地道東北人惫确。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親改化。 傳聞我的和親對象是個殘疾皇子昧诱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 完整性約束條件的作用對象: 列級約束(針對字段,key)主要針對列的類型所袁,取值范圍盏档,精度等約束對空值的約束。規(guī)定某...
    一笑超人閱讀 2,573評論 0 1
  • 數(shù)據(jù)表是數(shù)據(jù)庫中最重要燥爷、最基本的操作對象蜈亩,是數(shù)據(jù)存儲的基本單位。數(shù)據(jù)表被定義為列的集合前翎,數(shù)據(jù)在表中是按照行和列的格...
    假正經(jīng)乄閱讀 1,906評論 0 2
  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當(dāng)在唯一索引所對應(yīng)的列上鍵入重復(fù)值時稚配,會觸發(fā)此異常。 O...
    我想起個好名字閱讀 5,321評論 0 9
  • 一港华、設(shè)計技巧 1. 原始單據(jù)與實體之間的關(guān)系 可以是一對一道川、一對多、多對多的關(guān)系立宜。在一般情況下冒萄,它們是一對一的關(guān)系...
    LazzMan閱讀 1,187評論 0 1
  • 夾縫中生存的卑微遺忘了現(xiàn)實躲藏在角落里塵埃擁擠告別紅塵俗世做一世閑云野鶴的清高嘗盡寂寞與時代感愈行愈遠(yuǎn)猶如演藝圈內(nèi)...
    走在路上的沉默閱讀 191評論 12 17