第五章(數(shù)據(jù)庫完整性:數(shù)據(jù)的正確性和相容性)

一铜犬、實體完整性

定義實體完整性:

1.在CREATE TABLE中使用PRIMARY KEY定義(列級和表級皆可)

2.實體完整性的檢查和違約處理(使用PRIMARY KEY定義主碼后厢破,主碼值唯一且值不為空)

參照完整性(外碼):FOREIGN KEY? (<列名>) REFERENCES <表名>(<列名>) [ON <操作> [違約處理策略]] [,...]

1.在CREATE TABLE中使用FOREIGN KEY定義外碼亿驾,使用REFERENCES(<表名>)指明參照表

2.違約處理策略有拒絕執(zhí)行(NO ACTION)(默認(rèn))、級聯(lián)操作(CASCADE)该园、設(shè)置為空值(SET NULL)

--拒絕:不允許執(zhí)行該操作

--級聯(lián)操作:當(dāng)刪除或修改被參照表的一個元組導(dǎo)致與參照表的信息不一致時,刪除或者修改參照表中的所有導(dǎo)致不一致的元組

--設(shè)置為空值:當(dāng)刪除或修改被參照表的一個元組導(dǎo)致與參照表的信息不一致時,將參照表中的所有導(dǎo)致不一致的元組的對應(yīng)屬性設(shè)置為空值

用戶定義完整性:

屬性上的約束條件:

--列的約束條件的定義:在定義列時對定義屬性的限制:列值非空(NOT NULL)呼畸、列值唯一(UNIQUE)、使用約束(CHECK(<條件表達式>))

--列上的約束條件的檢查和違約處理:關(guān)系數(shù)據(jù)庫管理系統(tǒng)檢查颁虐,違約則拒絕執(zhí)行

元組上的約束條件:

1.元組上的約束條件的定義:表級CHECK(<條件表達式>)

2.元組上約束條件的檢查和違約處理:違約則拒絕操作

完整性約束命名子句

1.完整性約束命名子句:CONSTRAINT <完整性約束條件名> <完整性約束條件>蛮原,作列級、表級皆可

2.修改表中的完整性約束限制:ALTER TABLE <表名>

--ADD CONSTRAINT <約束名> <完整性約束條件表達式>

--DROP CONSTRAINT <約束名>

斷言(應(yīng)用于多表的約束另绩,表外獨立創(chuàng)建儒陨,違約操作將被拒絕執(zhí)行,開銷大笋籽,一般不用)

1.創(chuàng)建斷言:CREATE ASSERTION <斷言名> CHECK <約束條件表達式>

2.刪除斷言:DROP ASSERTION <斷言名>

觸發(fā)器

1.定義觸發(fā)器:

CREATE TRIGGER <觸發(fā)器名>

{BEFORE|AFTER} <觸發(fā)事件> ON <表名>

REFERENING NEW|OLD ROW AS<變量>

FOR EACH{ROW|STATEMENT}

[WHEN <觸發(fā)條件>] <觸發(fā)動作體>?

--只有表的擁有者才可以在表上創(chuàng)建觸發(fā)器

--表上的觸發(fā)器是有限的

--同一外模式下觸發(fā)器名必須唯一蹦漠,觸發(fā)器名必須和表名在同一外模式下

--觸發(fā)器只能定義在基本表上,不能定義在視圖上

--觸發(fā)事件有UPDATE DELETE INSERT

--觸發(fā)器類型干签,行級:FOR EACH ROW津辩,語句級:FOR EACH STATEMENT

--觸發(fā)動作體可以是一個匿名的PL/SQL過程快,也可以是對已創(chuàng)建存儲過程的調(diào)用

--觸發(fā)動作體執(zhí)行失敗容劳,激活觸發(fā)器的事件停止執(zhí)行

--行級觸發(fā)器可以使用NEW或OLD引用UPDATE喘沿、INSERT事件之前的舊值,語句級不行插進去的是ROW,沒插的是

2.刪除觸發(fā)器·

DROP TRIGGER <觸發(fā)器名> ON <表名>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末竭贩,一起剝皮案震驚了整個濱河市蚜印,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌留量,老刑警劉巖窄赋,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異楼熄,居然都是意外死亡忆绰,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門可岂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來错敢,“玉大人,你說我怎么就攤上這事缕粹≈擅” “怎么了纸淮?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長亚享。 經(jīng)常有香客問我咽块,道長,這世上最難降的妖魔是什么欺税? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任侈沪,我火速辦了婚禮,結(jié)果婚禮上魄衅,老公的妹妹穿的比我還像新娘峭竣。我一直安慰自己,他們只是感情好晃虫,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布皆撩。 她就那樣靜靜地躺著,像睡著了一般哲银。 火紅的嫁衣襯著肌膚如雪扛吞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天荆责,我揣著相機與錄音滥比,去河邊找鬼。 笑死做院,一個胖子當(dāng)著我的面吹牛盲泛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播键耕,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼寺滚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了屈雄?” 一聲冷哼從身側(cè)響起村视,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酒奶,沒想到半個月后蚁孔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡惋嚎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年杠氢,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片另伍。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡修然,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出质况,到底是詐尸還是另有隱情愕宋,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布结榄,位于F島的核電站中贝,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏臼朗。R本人自食惡果不足惜邻寿,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望视哑。 院中可真熱鬧绣否,春花似錦、人聲如沸挡毅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽跪呈。三九已至段磨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間耗绿,已是汗流浹背苹支。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留误阻,地道東北人债蜜。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像究反,于是被迫代替她去往敵國和親寻定。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

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