第三章
域是值的集合,域中數(shù)據個數(shù)叫做域的基數(shù)。
R(D1,D2,…Dn)的含義是:當且僅當R是D1×D2×…×Dn的一個子集,則稱R是D1×D2×…×Dn上的一個關系。其中,R是關系名,n是關系的度,Di是第i個域名。在關系的定義中,n度的關系,必有n個域。
一個關系就是一張二維表,表中的每一行對應關系中的一個元組,它對應于信息世界中的實體和計算機世界中的記錄,表中的每一列就是關系中的一個域。也稱為屬性,對應于計算機世界中的字段。
關系與文件有許多相似之處,把關系看成文件時,則元組就是文件中的記錄,屬性就是記錄中的數(shù)據項(字段)。
不允許“表中套表”,即表中元組分量必須是原子的。
二維表中的各列取自同一個域,因此一列中的各個分量具有相同性質。
列的次序、行的次序可以任意交換,不改變關系的實際意義。
表中的行叫元組,代表一個實體,因此表中不允許出現(xiàn)相同的兩行。
判斷兩個關系是否相等,與屬性的次序無關,與元組的次序無關,與關系的命名無關。
關系模式是指用關系數(shù)據描述語言描述后的關系,必須逐個對關系模型中的關系進行描述才能生成數(shù)據庫概念模式。對關系的描述實為定義關系模式。關系數(shù)據描述語言實質是定義關系框架的,包括對域和關系進行描述
常用的關系數(shù)據描述語言(DDL)有問答式和語言描述式,常用的FoxPro屬于問答式DBMS。
語言描述式有專門描述語言定義關系模式,包括關系名、組成該關系的各個域名、數(shù)據類型、長度和取值范圍。
域描述語句:DOMAIN<域名>PIC IS<類型(長度)>[RANGE IS<數(shù)1>THRU<數(shù)2>],通過DOMAIN定義域名、PIC定義數(shù)據類型和長度,RANGE定義取值范圍。
關系描述語句:RELATION<關系名>(<域名1,域名2,…>)KEY=(<域名i,域名j,…>)
關系模式的三類完整性規(guī)則是:實體完整性約束規(guī)則、引用完整性約束規(guī)則、用戶定義的完整性約束規(guī)則。
實體完整性約束是指關系中的“主鍵”不允許取空值。引用完整性約束規(guī)則是限制引用不存在的記錄。
在關系的各種*作中,關系查詢是核心,所以關系數(shù)據*縱語言DML語言,常被稱為查詢語言。
DML特點:*作對象與結果都是關系,非過程性強,語言一體化,有嚴密的數(shù)學工具。
關系數(shù)據*作的最大特點是:以關系為處理單位,處理后的結果是關系。
關系DML查詢,根據表達查詢方式的不同,可分為兩類:用關系代數(shù)運算表達查詢和用關系演算公式表達查詢。關系數(shù)據*作語言相應分為兩種不同類型:關系代數(shù)型和關系演算型。
所謂單目運算就是對一個關系施加的運算,所謂雙目運算就是對兩個關系施加的運算。選擇、投影是單目運算,連接、關系笛卡兒積是雙目運算。
集合運算符:∪并、∩交、-差、×迪卡爾積,關系運算符:π投影、σ選擇、|×|連接
比較運算符:>、≥、<、≤、=、≠,邏輯運算符:-非、∧與、∨或
并、交、差用于關系運算,要求參加運算的兩個關系是相容的,即兩個關系度數(shù)相同,相應屬性取自同一個域。
并:由屬于R或屬于S或同時屬于R和S的元組構成的集合,記為R∪S.
差:由屬于R而不屬于S的所有元組組成的集合,記為R-S.
交:由同時屬于R和S的元組組成的集合,記為R∩S.
選擇:按給定條件從關系中挑選滿足條件的元組組成的集合,記為σF(R)
投影:從關系中挑選出指定的屬性組成的新關系,記為:πA(R)A是屬性名表,R是關系名。
關系R和S的笛卡兒積,它是由R的第一個元組依次與S的所有元組組合,然后是R的第二個元組,直到最后一個元組依次與S所有元組組合,形成新的關系。記為:R×S關系R和S的笛卡兒積k1+k2個元組。
連接:按給定條件,把滿足條件的兩關系的所有元組,按一切可能拼接后形成的新關系,相當于在兩關系笛卡兒積上的選擇。記為:R|×|S=σF(R×S)關系R和S的連接后的關系有≤k1×k2個元組。
連接運算可以從乘積運算和選擇運算中導出,自然連接運算可以從乘積運算、選擇運算和投影運算中導出。
自然連接是連接的一個重要特例,它要求被連接的兩關系有若干相同的屬性名。記為:R|×|S
連接運算:JOIN <關系1> WITH <關系2> WHERE <條件>,按給定條件對兩關系進行連接運算。
五種基本運算:并、差、選擇、投影、連接。
在關系中,當有多個屬性可作為鍵而選定其中一個時,則稱它為該關系的主鍵。
在一個關系中,需要幾個屬性組合起來才能惟一標識元組時,則稱這幾個屬性為該關系的聯(lián)合鍵。
凡在關系中可以用來惟一標識元組的屬性或屬性組叫做候選鍵。
當關系中的某個屬性或某一組屬性并非主鍵,但卻是另一個關系的主鍵時,稱該屬性為外部鍵。
凡可作為侯選鍵的屬性叫主屬性,不能作為侯選鍵的屬性叫非主屬性。
所謂函數(shù)依賴其實質是刻畫關系中各個屬性之間相互制約而又相互依賴的關系。
函數(shù)依賴包括:完全函數(shù)依賴、部分函數(shù)依賴、傳遞函數(shù)依賴
滿足最低要求的關系稱它屬于第一范式,在此基礎上又滿足了某種條件,則稱它屬于第二范式的關系,依此類推直到第五范式。數(shù)據庫一般使用3NF以上的關系。滿足較高條件者必滿足較低范式條件。
一個較低范式的關系,可以通過關系的無損分解轉換為若干較高級范式關系的集合,這個過程叫做關系規(guī)范化。
如果關系R的所有屬性都是不可再分的數(shù)據項,稱該關系屬于第一范式。1NF
第一范式缺點:數(shù)據冗余大、修改麻煩、插入異常、刪除異常。
若關系R屬于1NF,且它的每一非主屬性都完全依賴于主鍵,則稱R屬于第二范式,2NF
若關系R屬于2NF,且它的每一非主屬性都不傳遞依賴于關鍵字,則稱R屬于第三范式,3NF
在關系規(guī)范化中,分解關系的兩條基本原則是:分解必須是無損的和分解后的關系要相互獨立。
關系規(guī)范化過程實質是對關系不斷分解的過程,通過分解使關系逐步達到較高范式。規(guī)范化是圍繞函數(shù)依賴進行的。在規(guī)范化過程中,消除部分依賴和傳遞依賴后,1NF變成3NF.1NF、2NF、3NF相互間是全包含關系。
以下說法正確的是。A
(A)一個關系就是一張二維表 (B)在關系所對應的二維表中,行對應屬性,列對應元組
(C)笛卡兒積中不允許有相同的域 (D)關系的各屬性名必須與對應的域同名
根據關系模式的完整性規(guī)則,一個關系中的“主鍵” .C
(A)不能有兩個 (B)不能成為另一個關系的外部鍵 (C)不允許為空 (D)可以取空值
關系中的最高范式為 .D (A)2NF (B)3NF (C)4NF (D)5NF
綜合:1、計算并、差、交、選擇、投影、關系笛卡爾積、連接、自然連接。
2、范式關系規(guī)范化
3、寫出關鍵字
4、確定范式等級