資料庫 關係模型基本介紹

2021-08-19 07:14:00 字數 1732 閱讀 6733

關係模型研究什麼?

關係模型就是處理table的,它由三個部分組成:

1:描述db各種資料的基本結構形式

2:描述table與table之間所可能發生的各種操作(關係運算)

3:描述這些操作所應遵循的約束條件(完整性約束)

就是要學習:table如何描述,有哪些操作,結果是什麼,有哪些約束等.

關係模型的三個要素

1 基本結構:relation/table

2 基本操作:relation operator(各種運算操作)

3 完整性約束:實現完整性,參照完整性和使用者自定義完整性

候選碼/候選鍵

關係中的乙個屬性組,其值能唯一標識乙個元組,若從該屬性組中去掉任何乙個屬性嗎,它就不具有這一性質了,這樣的屬性組稱為候選碼

例如:"學生(s#,sname,sage,sclass)",s#就是乙個候選碼,在此關係中,任何兩個元組的s#是一定不同的,而這兩個元組的sname,sage,sclass都可能相同,所有s#是候選碼。

有時,關係中有很多組候選碼,例如:

學生(s#,sname,sage,sclass,saddress)

其中屬性s#是候選碼,屬性組(sname,saddress)也是候選碼(同名同位址的兩個同學是不存在的)

主碼/主鍵

當有多個候選碼是,可以選定乙個作為主碼

當dbms以主碼為主要線索管理關係中的各個元組

主屬性與非主屬性

包含在任何乙個候選碼中的屬性被稱作主屬性,二其他屬性被稱作非主屬性

最簡單的,候選碼只包含乙個屬性

最極端的,所有屬性構成這個關係的候選碼,稱為全碼

例如:關係「教師授課」(t#,c#)中的候選碼(t#,c#)就是全碼

外碼/外來鍵

關係r中的乙個屬性組,它不是r的候選碼,但它與另乙個關係s的候選碼相對應,則稱這個屬性組為r的外碼或外來鍵。

例如:「合同」關係中的客戶號不是候選碼,但確實外碼。因它與「客戶」關係中的候選碼「客戶號」相對應。

兩個關係通常是靠外碼連線起來的。

關係模型中的完整性

實體完整性

關係的主碼中的屬性值不能為空值;

意義:關係中的元組對應到現實世界相互之間可區分的乙個個個體,這些個體是通過主碼來唯一標識的;若主碼為空。則出現不可標識的個體,這是不容許的

空值的含義

空值:不知道、不存在或無意義的值;

在進行關係操作是,有時關係中的某屬性值是當前填不上的,比如檔案中有「生日不詳」、「下落不明」、「日程尚待公布」等,需要空值來代替,關係模型中用"?"來表徵。

資料庫中有了空值,會影響許多方面,如影響聚集函式運算的正確性,不能參與算數、比較或邏輯運算等。

有空值的時候是需要特殊處理的,要特別注意。

參照完整性

如果關係r1的外碼fk與關係r2的主碼pk相對應,則r1中的每乙個元組的fk值或者等於r2中的某個元組的pk值,或者為空值、

意義:如果關係r1的年某個元組t1參照了關係r2的某個元組t2,則t2必須存在。

使用者自定義完整性

使用者針對具體應用環境定義的完整性約束條件

如s#要求是10為整數,其中前四位為年度,當前年度與他們的差必須在4以內。

dbms對關係完整性的支援

實體完整性和參照完整性有由dbms系統自動支援

dbms系統通常提供如下機制:

1 它使使用者可以自定義有關完整性約束條件

2 當有更新操作發生是,dbms將自動按照完整性約束條件檢驗更新操作的正確,即是否符合使用者自定義的完整性

資料庫模型 關係模型

關聯式資料庫採用關係模型作為資料的組織方式 1970年美國ibm公司研究室的研究員e.f.codd首次提出了資料庫系統的關係模型 計算機廠商推出的資料庫管理系統幾乎都支援關係模型 在使用者觀點下,關係模型中資料的邏輯結構是一張二維表 關係必須是規範化的,滿足一定的規範條件 最基本的規範條件 關係的每...

資料庫 關係模型與關聯式資料庫

superkey 乙個或多個屬性的集合,用來在關係中唯一地標識乙個元組 candidate key superkey如果任意真子集都不能成為superkey primary key db設計者選擇的candidate key foreigh key 乙個關係模式在它的屬性中包含另乙個關係模式的主碼 ...

資料庫 關係模型的基本概念

d1 d2 dn 的子集叫做在域d1,d2,dn 上的關係,表示為 r d1,d2,dn 其中r就是關係名,n就是目或度。乙個關係對應一張二維表,二維表就是關係名。二維表關係r d1,d2,dn 中的 n 就是關係的目或度。在二維表中的行定義,即對關係的描述稱為關係模式。域是一組具有相同資料型別的值...