數據庫原理與統計筆記-2.1關係數據結構及形式化定義

前言

有關數據庫原理與統計的筆記,內容爲書本的原文概括。

一、關係

關係模型的數據結構非常簡單,只包含單一的數據結構——關係。在用戶看來,關係模型中數據的邏輯結構是一張扁平的二維表。
關係模型是建立在集合代數的基礎上的。

[1]. 域

域是一組具有相同數據類型的值的集合

[2]. 笛卡爾積

笛卡爾積是域上的一種集合運算
給定一組域D1,D2....Dn,該組域的笛卡爾積爲D1xD2x.....xDn={(d1,d2,....,dn) } |di∈Di i=1,2..,n|
其中每一個元素(d1,d2,…,dn)叫做一個n元組,簡稱元組,元素中的每一個值di叫做一個分量。
一個域允許的不同取值個數稱爲這個域的基數。

:給定三個域
D1=導師集合={張清玫,劉毅}
D2=專業集合={計算機專業,信息專業}
D3=研究生集合={李勇,劉晨,王敏}
則D1、D2、D3的笛卡爾積爲:
D1XD2XD3={
(張清玫,計算機專業,李勇) ,(張清玫,計算機專業,劉晨),(張清玫,計算機專業,王敏),
(張清玫,信息專業,李勇),(張清玫,信息專業,劉晨),(張清玫,信息專業,王敏),
(劉毅,計算機專業,李勇),(劉毅,計算機專業,劉晨),(劉毅,計算機專業,王敏),
(劉毅,信息專業,李勇),(劉毅,信息專業,劉晨),(劉毅,信息專業,王敏),
}
該笛卡爾積的基數爲2x2x3=12,一共有12個元組

[3] 關係

D1xD2x…xDn的子集叫做在域D1,D2,…Dn上的關係,表示爲R(D1,D2…,Dn)
R表示關係的名稱,n是關係的目或度。
關係中的每個元素是關係中的元組,通常用t表示。
當n=1時,稱該關係爲單元關係,或一元關係。
當n=2時,稱該關係爲二元關係。
關係是笛卡爾積的有限子集,所以關係也是一張二維表,表的每行對應一個元素,表的每列對應一個域。列的名字稱爲屬性,n目關係一定有n個屬性。(屬性相當於列

若關係中的某一屬性組的值能唯一地標識一個元組,而其子集不能,則稱該屬性組爲候選碼。候選碼相當於行
若一個關係有多個候選碼,則選定其中一個爲主碼。
候選碼的各個屬性稱爲主屬性,不包含在任何候選碼中的屬性稱爲非主屬性或非主碼屬性。
在最簡單的情況下,候選碼只包含一個屬性。在最極端的情況下,關係模式的所有屬性是這個關係模式的候選碼,稱爲全碼。

:該關係取名爲SQP

SUPERVISOR SPECIALITY POSTGRADUATE
張清玫 計算機專業 李勇
張清玫 計算機專業 劉晨
劉毅 信息專業 王敏

將該關係SAP的屬性名取爲域名,則該關係可以表示爲:
SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)
假設研究生不會重名,則POSTGRADUATE屬性的每一個值都唯一標識了一個元組,所以它可以作爲SAP關係的主碼。
關係有三種類型:基本關係、查詢表和視圖表。

擴充

(1)無限關係在數據庫系統中是無意義的,所以限定關係數據模型中的關係必須是有限的集合。
(2)不同列可以出自同一個域,稱其中的每一列爲一個屬性,不同的屬性需要給與不同的屬性名。
(3)列的次序可以任意交換
(4)任意兩個元組的候選碼不能取相同的值
(5)行的次序可以任意交換
(6)每一個分量都必須是不可分的數據項

二、關係模式

關係數據庫中,關係模型是型,關係是值,關係模式是對關係1描述。
關係是元組的集合,因此關係模式必須指出這個元組集合的結構,即它由哪些屬性構成,這些屬性來自哪些域,以及屬性與域之間的映像關係。

關係的描述稱爲關係模式,可以形式化地表示爲R(U,D,DOM,F)

其中R爲關係名
U爲組成該關係的屬性名集合
D爲U中屬性所來自的域
DOM爲屬性向域的映像集合
F爲屬性間數據的依賴關係集合

域名及屬性向域的映像常常直接說明爲屬性的類型、長度。
關係是關係模式在某一時刻的狀態或內容,關係模式是靜態的、穩定的,而關係是動態的、隨時間不斷變化的,因爲關係操作在不斷地更新着數據庫中的數據。
在實際工作中,人們常常把關係模式和關係都籠統稱爲關係。

三、關係數據庫

在關係模式中,實體以及實體間的聯繫都是用關係來表示的。
關係數據庫也有型和值之分。關係數據庫的型也稱爲關係數據庫模式,是對關係數據庫的描述。關係數據庫模式包括若干域的定義,以及在這些域上定義的若干關係模式。關係數據庫的值是這些關係模式在某一時刻對應的關係的集合,通常稱爲關係數據庫。

四、關係模型的存儲結構

表是關係數據的邏輯模型。在關係數據庫的物理組織中,有的關係數據庫管理系統中一個表對應一個操作系統文件,將物理數據組織交給操作系統完成;有的關係數據庫管理系統從操作系統那裏申請若干個大的文件,自己劃分文件控件,組織表、索引等存儲結構,並進行存儲管理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章