數(shù)據(jù)庫(kù)設(shè)計(jì)的完整性約束表現(xiàn)在哪些方面
數(shù)據(jù)庫(kù)設(shè)計(jì)的完整性約束表現(xiàn)哪些方面?主要就是下面寫(xiě)四個(gè)方面:
1、域的完整性:數(shù)據(jù)庫(kù)表中的列必須滿(mǎn)足某種特定的數(shù)據(jù)類(lèi)型或約束。其中約束又包括取值范圍、精度等規(guī)定。用Check來(lái)實(shí)現(xiàn)約束,在數(shù)據(jù)庫(kù)設(shè)計(jì)工具中,對(duì)字段的取值范圍進(jìn)行定義時(shí),有一個(gè)Check按鈕,通過(guò)它定義字段的值城。
2、參照完整性:就是定義外碼與主碼之間的引用規(guī)則。用PK、FK、表級(jí)觸發(fā)器來(lái)實(shí)現(xiàn)。原理規(guī)則就是若屬性(或?qū)傩越M)f是基本關(guān)系r的外碼,它與基本關(guān)系s的主碼ks相對(duì)應(yīng)(基本關(guān)系r和s不一定是不同的關(guān)系),則對(duì)于r中每個(gè)元組在f上的值必須為:或者取空值(f的每個(gè)屬性值均為空值)或者等于s中某個(gè)元組的主碼值。
3、實(shí)體完整性規(guī)則(entityintegrity):若屬性a是基本關(guān)系r的主屬性,則屬性a不能取空值。由于實(shí)體完整性規(guī)則是針對(duì)基本關(guān)系而言的。一個(gè)基本表通常對(duì)應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集或多對(duì)多聯(lián)系。現(xiàn)實(shí)世界中的實(shí)體和實(shí)體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí),數(shù)據(jù)庫(kù)設(shè)計(jì)關(guān)系模型必須遵守實(shí)體完整性規(guī)則。
4、用戶(hù)定義完整性:用戶(hù)定義的完整性是針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿(mǎn)足的語(yǔ)義要求。關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類(lèi)完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能。它是一些業(yè)務(wù)規(guī)則,用存儲(chǔ)過(guò)程和觸發(fā)器來(lái)實(shí)現(xiàn)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)文章
關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)概述與優(yōu)缺點(diǎn)對(duì)比
這篇文章介紹了關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)概述與優(yōu)缺點(diǎn)對(duì)比,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03常用SQL語(yǔ)句優(yōu)化技巧總結(jié)【經(jīng)典】
這篇文章主要介紹了常用SQL語(yǔ)句優(yōu)化技巧,結(jié)合實(shí)例形式對(duì)比分析,總結(jié)了各種常用的SQL優(yōu)化技巧及相關(guān)原理,需要的朋友可以參考下2017-04-04Navicat如何導(dǎo)出所有的查詢(xún)數(shù)據(jù)的方法
這篇文章主要介紹了Navicat如何導(dǎo)出所有的查詢(xún)數(shù)據(jù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11使用SQL語(yǔ)句查詢(xún)MySQL,SQLServer,Oracle所有數(shù)據(jù)庫(kù)名和表名,字段名
本文例出了使用SQL語(yǔ)句查詢(xún)MySQL,SQLServer,Oracle所有數(shù)據(jù)庫(kù)名和表名的SQL語(yǔ)句,有需要的可以參考下2018-03-03使用 Navicat 創(chuàng)建數(shù)據(jù)庫(kù)并用JDBC連接的操作方法
這篇文章主要介紹了使用 Navicat 創(chuàng)建數(shù)據(jù)庫(kù)并用JDBC連接的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11常見(jiàn)的SQL優(yōu)化面試專(zhuān)題大全
面試中如何被問(wèn)到SQL優(yōu)化,看這篇就對(duì)了,下面這篇文章主要給大家介紹了關(guān)于SQL優(yōu)化面試的相關(guān)資料,文中將答案介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03大數(shù)據(jù)開(kāi)發(fā)phoenix連接hbase流程詳解
HBase是一個(gè)分布式的、面向列的開(kāi)源數(shù)據(jù)庫(kù),該技術(shù)來(lái)源于?Fay?Chang?所撰寫(xiě)的Google論文“Bigtable:一個(gè)結(jié)構(gòu)化數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)”。就像Bigtable利用了Google文件系統(tǒng)(File?System)所提供的分布式數(shù)據(jù)存儲(chǔ)一樣,HBase在Hadoop之上提供了類(lèi)似于Bigtable的能力2022-11-11SQL注入報(bào)錯(cuò)注入函數(shù)圖文詳解
報(bào)錯(cuò)注入是SQL注入的一種,下面這篇文章主要給大家介紹了關(guān)于SQL注入報(bào)錯(cuò)注入函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07