999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談數據庫中的完整性約束

2013-04-29 16:05:51王希鋒
科海故事博覽·科教論壇 2013年9期

王希鋒

摘要:數據完整性是指數據的正確性、完備性和一致性,是衡量數據庫質量好壞的標準。本文從以下三個方面分析了數據的完整性。即實體完整性、參照完整性和用戶自定義完整性。

關鍵詞:實體完整性 用戶定義完整性 參照完整性

數據庫完整性(Database Integrity)是指數據庫中數據的正確性和相容性。數據庫完整性由各種各樣的完整性約束來保證,因此可以說數據庫完整性設計就是數據庫完整性約束的設計。數據庫完整性約束可以通過DBMS或應用程序來實現,基于DBMS的完整性約束作為模式的一部分存入數據庫中。通過DBMS實現的數據庫完整性按照數據庫設計步驟進行設計,而由應用軟件實現的數據庫完整性則納入應用軟件設計。

約束是用來確保數據的準確性和一致性。數據的完整性就是對數據的準確性和一致性的一種保證。數據完整性(Data Integrity)是指數據的精確(Accuracy)和可靠性(Reliability)。它是應防止數據庫中存在不符合語義規定的數據和防止因錯誤信息的輸入輸出造成無效操作或錯誤信息而提出的。數據完整性分為三類:實體完整性(Entity Integrity)、參照完整性(Referential Integrity)、用戶定義的完整性(User-definedIntegrity)。關系的完整性提供了一種手段,用于保證授權用戶對數據庫修改時不會破壞數據的一直性。實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,被稱作是關系的兩個不變性,應該由關系系統自動支持。

關系模型的完整性規則是對關系的某種約束條件。關系模型中三類完整性約束:實體完整性、參照完整性、用戶定義的完整性。

實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,被稱作是關系的兩個不變性,應該由關系系統自動支持。

實體完整性規則(Entity Integrity):若屬性A是基本關系R的主屬性,則屬性A不能取空值。

關系模型必須遵守實體完整性規則的原因:(1)實體完整性規則是針對基本關系而言的。一個基本表通常對應現實世界的一個實體集或多對多聯系。(2)現實世界中的實體和實體間的聯系都是可區分的,即它們具有某種唯一性標識。(3)相應地,關系模型中以候選碼作為唯一性標識。(4)候選碼中的屬性即主屬性不能取空值。所謂空值就是“不知道”或“無意義”的值。如果主屬性取空值,就說明存在某個不可標識的實體,即存在不可區分的實體,這與第(2)點相矛盾,因此這個規則稱為實體完整性。實體完整性規則規定基本關系的所有主屬性都不能取空值,而不僅是主碼整體不能取空值。

例:選修(學號,課程號,成績)

“學號、課程號”為主碼,

則學號和課程號兩個屬性都不能取空值

參照完整性:在關系模型中實體及實體間的聯系都是用關系來描述的,因此可能存在著關系與關系間的引用。

外碼:設F是基本關系R的一個或一組屬性,但不是關系R的碼。如果F與基本關系S的主碼Ks相對應,則稱F是基本關系R的外碼(Foreign Key),基本關系R稱為參照關系(Referencing Relation),基本關系S稱為被參照關系(Referenced Relation)或目標關系(Target Relation)。

說明:關系R和S不一定是不同的關系。目標關系S的主碼Ks和參照關系的外碼F必須定義在同一個(或一組)域上。外碼并不一定要與相應的主碼同名。當外碼與相應的主碼屬于不同關系時,往往取相同的名字,以便于識別。

參照完整性規則就是定義外碼與主碼之間的引用規則。

參照完整性規則:若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對于R中每個元組在F上的值必須為:

或者取空值(F的每個屬性值均為空值)

或者等于S中某個元組的主碼值。

用戶定義的完整性:用戶定義的完整性是針對某一具體關系數據庫的約束條件,反映某一具體應用所涉及的數據必須滿足的語義要求。

關系模型應提供定義和檢驗這類完整性的機制,以便用統一的系統的方法處理它們,而不要由應用程序承擔這一功能。

例:課程(課程號,課程名,學分)

“課程名”屬性必須取唯一值

非主屬性“課程名”也不能取空值

“學分”屬性只能取值{1,2,3,4}

與表有關的約束是表中定義的一種約束??稍诹卸x時定義該約束,此時稱為列約束,列約束有(表約束 NOT NULL)。也可以在表定義時定義約束,此時稱為表約束,表約束有(PRIMARY KEY、foreign key、check、UNIQUE)。

not null(非空)約束:只用于定義列約束。(2)unique(惟一)約束:用于指明創建惟一約束的列上的取值必須惟一。(3)primary key(主鍵)約束:用于定義基本表的主鍵,起惟一標識作用,其值不能為null,也不能重復,以此來保證實體的完整性。(4)foreign key(外鍵)約束:定義了一個表中數據與另一個表中的數據的聯系。

foreign key約束指定某一個列或一組列作為外部鍵,其中包含外部鍵的表稱為子表,包含外部鍵所引用的主鍵的表稱為父表。系統保證,表在外部鍵上的取值要么是父表中某一主鍵,要么取空值,以此保證兩個表之間的連接,確保了實體的參照完整性。

以上通過實體完整性、參照完整性、用戶自定義完整性三個方面進行分析了數據庫中的完整性約束,并且通過實際的例子更容易清晰的理解和掌握完整性約束。

主站蜘蛛池模板: 国产裸舞福利在线视频合集| 国产欧美成人不卡视频| 国产精品黄色片| 国产精品网址你懂的| 免费观看无遮挡www的小视频| 一本无码在线观看| 国产99精品视频| 国产丝袜一区二区三区视频免下载| 色噜噜狠狠狠综合曰曰曰| 99精品国产自在现线观看| 天天综合网站| 亚洲成在人线av品善网好看| 色综合色国产热无码一| 无码专区在线观看| 久久精品人人做人人综合试看| 国产极品粉嫩小泬免费看| 国产精品区视频中文字幕| 国产欧美日韩va另类在线播放 | 国产亚洲视频免费播放| 色综合热无码热国产| 又爽又大又黄a级毛片在线视频| 中文字幕在线播放不卡| 欧美视频免费一区二区三区| 视频一本大道香蕉久在线播放| 国产97区一区二区三区无码| 中字无码av在线电影| 九九热精品视频在线| 亚洲综合色婷婷| 91探花国产综合在线精品| 亚洲第一中文字幕| 国产凹凸视频在线观看| 国产小视频免费| 在线国产资源| 野花国产精品入口| 一区二区三区国产精品视频| 成人国产小视频| 久久青草热| 亚洲欧美人成人让影院| 曰韩免费无码AV一区二区| 日日拍夜夜操| 欧美国产三级| 无码福利视频| 成人综合网址| 国产91九色在线播放| 在线免费a视频| 亚洲精品午夜天堂网页| 欧洲熟妇精品视频| 天堂成人在线视频| 无码日韩视频| 无码一区18禁| 91小视频在线播放| 亚洲人成网站在线播放2019| 久久青草免费91观看| 日韩精品免费一线在线观看| 亚洲第一黄色网址| 四虎影视8848永久精品| 香蕉网久久| 波多野结衣第一页| 精品撒尿视频一区二区三区| 手机在线免费不卡一区二| 大香伊人久久| 毛片卡一卡二| 亚洲欧美成人网| 国产午夜不卡| 三级视频中文字幕| 国产网站在线看| 亚洲美女AV免费一区| 四虎综合网| 欧美a级完整在线观看| 18禁影院亚洲专区| 成人国产精品2021| 一级毛片网| 成人午夜天| 亚洲永久色| 亚洲AV无码一区二区三区牲色| 久久精品这里只有国产中文精品| 国产精品无码在线看| 亚洲综合在线最大成人| 国产精品一区二区无码免费看片| 麻豆精品在线视频| 日本人真淫视频一区二区三区| 国产va在线观看|