日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第2章 关系模型

發布時間:2024/3/13 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第2章 关系模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?以下圖片來自西安交通大學侯迪老師的ppt,僅供學習和復習使用,請勿轉載或他用

2.1 關系

2.1.1 域

列的取值范圍——域

域:一組值的集合,這組值具有相同的數據類型

集合中元素的個數稱為域的基數(Cardinality)

2.1.2 笛卡爾積

所有可能組成的元組:笛卡爾積

  • 一組域D_{1} , D_{2} ,…, D_{n}的笛卡爾積為D_{1}×D_{2}×…×D_{n} = { (d_{1} , d_{2} , … , d_{n}) | d_{i}∈D_{i} , i=1,…,n }

  • 笛卡爾積的每個元素(d_{1} , d_{2} , … , d_{n})稱作一個n-元組(n-tuple)

  • 每一個d_{i}叫做一個分量

  • 笛卡爾積是n個域形成的所有可能的n-元組集合

  • 若D_{i}的基礎為m_{i},則笛卡爾積的基數為m_{1} \times m_{2} \times ... \times m_{n}

2.1.3 關系

一組域D_{1} , D_{2} ,…, D_{n}的笛卡爾積的子集

笛卡爾積中具有某一方面意義的那些元組被稱作一個關系(Relation)。

關系可用R(A_{1}:D_{1}, A_{2}:D_{2}, … , A_{n}:D_{n})表示,可簡記為R(A_{1} , A_{2} , … , A_{n} ),這種描述又被稱為關系模式(Schema)或表標題(head),其中R是關系的名字, A_{i} 是屬性, D_{i} 是屬性所對應的域, n是關系的度或目(degree), 關系中元組的數目稱為關系的基數(Cardinality)

例如:

關系模式與關系:

  • 同一關系模式下,可有很多的關系。

  • 關系模式是關系的結構, 關系是關系模式在某一時刻的數據。

  • 關系模式是穩定的;而關系是某一時刻的值,是隨時間可能變化的。

理論上,關系的任意兩個元組不能完全相同。(集合的要求:集合內不能有相同的兩個元素);現實應用中,表(Table)可能并不完全遵守此特性。

關系的特性:

屬性不可再分特性:又被稱為關系第一范式

2.1.4 候選鍵與主鍵

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

主鍵:

  • 當有多個候選碼時,可以選定一個作為主碼。

  • DBMS以主碼為主要線索管理關系中的各個元組。

2.1.5 主屬性與非主屬性

包含在任何一個候選碼中的屬性被稱作主屬性,而其他屬性被稱作非主屬性 如 “選課”中的S# , C#為主屬性,而Sname, Cname, Grade則為非主屬性

2.1.6 外鍵

關系R中的一個屬性組,它不是R的候選碼,但它與另一個關系S的候選碼相對應,則稱這個屬性組為R的外碼或外鍵。

兩個關系通常是靠外碼連接起來的。

2.1.7 小結

2.2 關系模型中的完整性

  • 實體完整性:即關系的主碼中的屬性值不能為空值。

  • 參照完整性:如果關系R1的外碼Fk與關系R2的主碼Pk相對應,則R1中的每一個元組的Fk值或者等于R2 中某個元組的Pk 值,或者為空值。

    如下圖中,D#是外碼,而Dept表中D#沒有值為05的元組

    注意,下圖中D#為空值是可以的

  • 用戶自定義完整性:

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

在三個完整性約束中,實體完整性和參照完整性由DBMS系統自動支持

2.3 關系代數

基于集合,提供了一系列的關系代數操作:并、差、笛卡爾積(廣義積)、選擇、投影和更名等基本操作

2.3.1 并相容性

某些關系代數操作,如并、差、交等,需滿足“并相容性”——參與運算的兩個關系及其相關屬性之間有一定的對應性、可比性或意義關聯性

定義:關系R與關系S存在相容性,當且僅當:

$$
(1) 關系R和關系S的屬性數目必須相同;\\ (2) 對于任意i,關系R的第i個屬性的域必須和關系S的第i個屬性的域相同
$$

2.3.2 并操作

假設關系R和關系S是并相容的,則關系R與關系S的并運算結果也是一個關系,記作:R ∪S, 它由或者出現在關系R中,或者出現在S中的元組構成。

2.3.3 差操作

假設關系R 和關系S是并相容的,則關系R 與關系S 的差運算結果也是一個關系,記作:R ? S, 它由出現在關系R中但不出現在關系S中的元組構成。

2.3.4 廣義笛卡爾積(中間產物,為了實現連接)

下圖中,關系R的元組數目是3,度數是3; 關系S的元組數目是4, 度數是3; 則R x S的元組數目是12, 度數是6

2.3.5 選擇操作

2.3.6 投影

注意投影后要去掉重復元組!

小結

先from(需要的表),再連接join,再選擇where,最后投影select

2.3.7 交

2.3.8 \theta-連接

2.3.9 等值連接

2.3.10 自然連接

注意最后會去掉重復的屬性列。

2.3.11 除操作

2.3.12 外連接

2.4 關系演算之元組演算

2.4.1 例子

2.4.2 存在量詞和全稱量詞

可以使用全稱量詞與存在量詞的等價關系改寫

2.5 關系演算之域演算

2.5.1 例子

2.5.2 元組演算和域演算的比較

2.5.3 關系運算的安全性

即不產生無限關系和無窮驗證的運算

需要對關系演算加約束:DOM

總結

以上是生活随笔為你收集整理的第2章 关系模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。