




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第4章 關(guān)聯(lián)式資料庫(kù)模型4-1 關(guān)聯(lián)式資料庫(kù)模型的基礎(chǔ)4-2 關(guān)聯(lián)式資料庫(kù)模型的資料結(jié)構(gòu)4-3 關(guān)聯(lián)式資料庫(kù)模型的完整性限制條件4-4 關(guān)聯(lián)式資料庫(kù)模型的數(shù)學(xué)理論4-5 關(guān)聯(lián)式資料庫(kù)4-1 關(guān)聯(lián)式資料庫(kù)模型的基礎(chǔ)關(guān)聯(lián)式資料庫(kù)模型(Relational Database Model)是1969年E. F. Codd博士在IBM公司的研究成果。關(guān)聯(lián)式資料模型的組成元素,如下所示:資料結(jié)構(gòu)(Data Structures):資料的組成方式,以關(guān)聯(lián)式資料模型來(lái)說(shuō),就是欄和列組成表格的關(guān)聯(lián)表(Relations)。資料操作或運(yùn)算(Data Manipulation或Operations):資料相關(guān)操作的
2、關(guān)聯(lián)式代數(shù)和計(jì)算。完整性限制條件(Integrity Constraints):維護(hù)資料完整性條件,其目的是確保儲(chǔ)存資料是合法資料。4-2 關(guān)聯(lián)式資料庫(kù)模型的資料結(jié)構(gòu)4-2-1 關(guān)聯(lián)表綱要4-2-2 關(guān)聯(lián)表實(shí)例4-2-3 關(guān)聯(lián)表的特性4-2-4 關(guān)聯(lián)表的種類4-2 關(guān)聯(lián)式資料庫(kù)模型的資料結(jié)構(gòu)-說(shuō)明關(guān)聯(lián)式資料庫(kù)是一組關(guān)聯(lián)表(Relations)的集合,關(guān)聯(lián)表是關(guān)聯(lián)式資料庫(kù)模型的資料結(jié)構(gòu)(Data Structure),使用二維表格組織資料,如下所示:關(guān)聯(lián)表綱要(Relation Schema):包含關(guān)聯(lián)表名稱、屬性名稱和其定義域。關(guān)聯(lián)表實(shí)例(Relation Instance):指某個(gè)時(shí)間點(diǎn)儲(chǔ)存
3、在關(guān)聯(lián)表的資料(因?yàn)閮?chǔ)存的資料可能隨時(shí)改變),可以視為是一個(gè)二維表格,其儲(chǔ)存的每一筆記錄是一個(gè)值組(Tuples)。4-2 關(guān)聯(lián)式資料庫(kù)模型的資料結(jié)構(gòu)-圖例4-2-1 關(guān)聯(lián)表綱要-相關(guān)術(shù)語(yǔ)14-2-1 關(guān)聯(lián)表綱要-相關(guān)術(shù)語(yǔ)2關(guān)聯(lián)表(Relations):相當(dāng)於一個(gè)二維表格,不過(guò)不同於表格,並不用考慮各列和各欄資料的順序,每一個(gè)關(guān)聯(lián)表需要指定關(guān)聯(lián)表名稱。屬性(Attributes):在關(guān)聯(lián)表的所有屬性是一個(gè)屬性集合(Attribute Set),因?yàn)槭羌?,所以關(guān)聯(lián)表的屬性並不能重複。值組(Tuples):關(guān)聯(lián)表的一列,也就是一筆記錄,這是一組目前屬性值的集合。4-2-1 關(guān)聯(lián)表綱要-相關(guān)術(shù)語(yǔ)3
4、維度(Degree):關(guān)聯(lián)表的維度是指關(guān)聯(lián)表的屬性數(shù)目?;鶖?shù)(Cardinality):關(guān)聯(lián)表的基數(shù)是關(guān)聯(lián)表的值組數(shù)目。主鍵(Primary Key):在關(guān)聯(lián)表需要選擇一個(gè)或多個(gè)屬性的屬性子集(Attribute Subset)作為主鍵,這是用來(lái)識(shí)別值組是唯一的。定義域(Domains):相當(dāng)於程式語(yǔ)言的資料型態(tài),這是一組可能屬性值的集合。4-2-1 關(guān)聯(lián)表綱要-相關(guān)術(shù)語(yǔ)34-2-1 關(guān)聯(lián)表綱要-表示法(語(yǔ)法)關(guān)聯(lián)表綱要表示法的語(yǔ)法,如下所示:relation_name (attribute1, attribute2, attribute3, , attributeN)上述語(yǔ)法的說(shuō)明,如下所示
5、:relation_name:關(guān)聯(lián)表名稱。attribute1, attribute2, attribute3, . , attributeN:括號(hào)中是屬性清單,通常省略屬性的定義域。在屬性加上底線表示它是主鍵,外來(lái)鍵可以使用虛線底線或其他表示方法。4-2-1 關(guān)聯(lián)表綱要-表示法(範(fàn)例)以關(guān)聯(lián)表Students為例,其關(guān)聯(lián)表綱要,如下所示:Students (sid, name, address, tel, birthday)上述關(guān)聯(lián)表Students的主鍵是sid。如果在關(guān)聯(lián)表綱要需要標(biāo)示定義域的int、char和datetime,可以使用括號(hào)標(biāo)示在屬性後,如下所示:Students (si
6、d(int), name(char), address(varchar), tel(char), birthday(datetime)4-2-2 關(guān)聯(lián)表實(shí)例-說(shuō)明關(guān)聯(lián)表實(shí)例(Relation Instance)是一個(gè)有限個(gè)數(shù)的集合,集合內(nèi)容是關(guān)聯(lián)表的值組(Tuples)。更正確的說(shuō),因?yàn)殛P(guān)聯(lián)表資料可能隨時(shí)更改,所以關(guān)聯(lián)表實(shí)例是指某一時(shí)間點(diǎn)的值組集。4-2-2 關(guān)聯(lián)表實(shí)例-定義域(說(shuō)明)定義域(Domains)定義域是一組可接受值的集合,這些值是不可分割的單元值(Atomic),不可以是另一個(gè)集合。對(duì)比程式語(yǔ)言來(lái)說(shuō),定義域相當(dāng)於變數(shù)的資料型態(tài),值組的屬性值相當(dāng)於是變數(shù)值,滿足資料型態(tài)的定義域範(fàn)圍
7、。4-2-2 關(guān)聯(lián)表實(shí)例-定義域(種類)定義域是屬性可接受的值集合,主要可以分為兩種,如下所示:簡(jiǎn)單屬性(Simple Attributes):簡(jiǎn)單屬性是一種不可再分割的屬性,其定義域是相同型態(tài)的單元值(Atomic)集合。複合屬性(Composite Attributes):複合屬性是由簡(jiǎn)單屬性所組成的屬性,它可以形成一個(gè)階層架構(gòu)。例如:地址屬性和生日屬性可以由數(shù)個(gè)簡(jiǎn)單屬性所組成,如下所示:Address = City+Street+NumberBirthday = Month+Day+Year4-2-2 關(guān)聯(lián)表實(shí)例-定義域(圖例)Address屬性是由City、Street和Number所
8、組成,屬性值的定義域也是由City、Street和Number屬性的定義域組成,生日Birthday屬性的定義域則是月份Month、Day和Year屬性的整數(shù)定義域所組成。4-2-2 關(guān)聯(lián)表實(shí)例-屬性值(說(shuō)明1)屬性值(Attribute Values)屬性值是關(guān)聯(lián)表實(shí)際儲(chǔ)存資料的最小單位,在關(guān)聯(lián)表屬性集合的每一個(gè)屬性都擁有一組可接受的值,即屬性的定義域。例如:學(xué)生Students關(guān)聯(lián)表,如下圖所示:4-2-2 關(guān)聯(lián)表實(shí)例-屬性值(說(shuō)明2)關(guān)聯(lián)表實(shí)例的屬性值集合(Attribute Value Set)是指目前關(guān)聯(lián)表實(shí)例各屬性所包含的值,如下所示:city屬性值值 = 中和巿, 桃園巿, 臺(tái)中
9、巿,高雄市 age屬性值 = 2130GPA屬性值= 14.0屬性值集合可以作為定義定義域依據(jù),不過(guò)仍然需要參考實(shí)際情況,才能定義出可接受值的定義域,例如:GPA實(shí)際的範(fàn)圍是0.04.0。4-2-2 關(guān)聯(lián)表實(shí)例-屬性值(特點(diǎn))單元值(Atomic):屬性值是不可分割的單元值。需要指定定義域:屬性值一定需要指定定義域,而且只有一個(gè)定義域,雖然屬性值屬於指定的定義域,但並不表示所有的定義域值都會(huì)出現(xiàn),屬性值集合可能只是定義域的部分集合??赡転榭罩担簩傩灾悼赡苁轻崦嬲f(shuō)明的空值。4-2-2 關(guān)聯(lián)表實(shí)例-空值(說(shuō)明)空值(Null Values)在關(guān)聯(lián)表的屬性值可能是一個(gè)未知或無(wú)值的空值,這個(gè)值是一個(gè)特
10、殊符號(hào),它不是0,也不是空字串,不過(guò)所有定義域都會(huì)包含空值??罩祦K沒(méi)有意義,所以不能作為真?zhèn)蔚谋容^運(yùn)算。4-2-2 關(guān)聯(lián)表實(shí)例-空值(意義1)未知值(Unknown):找不到(Missing):屬性值存在但是找不到,例如:不知道學(xué)生【陳大安】的地址,因?yàn)閍ddress屬性值一定存在只是找不到,所以這是一個(gè)找不到的空值,如下圖所示:4-2-2 關(guān)聯(lián)表實(shí)例-空值(意義2)完全未知(Total Unknown):不知道屬性值是否存在。例如:不知道張先生是否有配偶,所以配偶欄spouse是完全未知的空值,如下圖所示:4-2-2 關(guān)聯(lián)表實(shí)例-空值(意義3)不適性(Not Applicable)不適性空值
11、是指屬性沒(méi)有適合的屬性值。例如:公司員工劉先生沒(méi)有手機(jī),所以cellphone屬性值的手機(jī)號(hào)碼是一個(gè)不適性的空值,如下圖所示:4-2-3 關(guān)聯(lián)表的特性-說(shuō)明關(guān)聯(lián)表的名稱是唯一的,在資料庫(kù)不能有兩個(gè)關(guān)聯(lián)表?yè)碛邢嗤Q,同一個(gè)關(guān)聯(lián)表的屬性名稱也是唯一,不過(guò)不同關(guān)聯(lián)表之間允許擁有相同名稱的屬性。在關(guān)聯(lián)表中除了名稱唯一性的特性外,還有四個(gè)特性:沒(méi)有重複的值組值組是沒(méi)有順序?qū)傩砸矝](méi)有順序所有的屬性值都是單元值4-2-3 關(guān)聯(lián)表的特性-特性1沒(méi)有重複的值組關(guān)聯(lián)表是數(shù)學(xué)集合,在集合中不可有重複元素,所以關(guān)聯(lián)表沒(méi)有重複的值組,換個(gè)角度來(lái)說(shuō),其隱含的意義是關(guān)聯(lián)表的主鍵,因?yàn)橹麈I可以是值組的識(shí)別,或是說(shuō),沒(méi)有2個(gè)
12、值組是完全相同的。4-2-3 關(guān)聯(lián)表的特性-特性2值組是沒(méi)有順序在關(guān)聯(lián)表的值組因?yàn)槭羌?,所以並沒(méi)有順序分別,也就是說(shuō),如果重新排列關(guān)聯(lián)表的值組,也不會(huì)產(chǎn)生新的關(guān)聯(lián)表。4-2-3 關(guān)聯(lián)表的特性-特性3屬性也沒(méi)有順序在關(guān)聯(lián)表的屬性也沒(méi)有順序差別,如果重新排列關(guān)聯(lián)表的屬性,也不會(huì)產(chǎn)生新的關(guān)聯(lián)表。事實(shí)上,大部分資料庫(kù)管理系統(tǒng)並不支援此特性,資料庫(kù)管理系統(tǒng)提供的資料庫(kù)存取函式庫(kù),不但可以取得屬性的原始順序,而且允許使用順序存取屬性值。4-2-3 關(guān)聯(lián)表的特性-特性4所有屬性值都是單元值關(guān)聯(lián)表的屬性值都是單元值(Atomic),這是指二維表格中的每一個(gè)儲(chǔ)存格的值都是單一值,而不是一組值的集合。4-2-4
13、 關(guān)聯(lián)表的種類1具名關(guān)聯(lián)表(Named Relations):在資料庫(kù)管理系統(tǒng)使用CREATE TABLE/VIEW和SNAPSHOT指令建立的關(guān)聯(lián)表?;钻P(guān)聯(lián)表(Base Relations):一種具名關(guān)聯(lián)表,也稱為真實(shí)關(guān)聯(lián)表(Real Relations)。導(dǎo)出關(guān)聯(lián)表(Derived Relations):這是由其他具名關(guān)聯(lián)表,經(jīng)過(guò)運(yùn)算而得的關(guān)聯(lián)表。視界(Views):定義在其他基底關(guān)聯(lián)表之上的一種虛擬關(guān)聯(lián)表(Virtual Relations)。4-2-4 關(guān)聯(lián)表的種類2快照關(guān)聯(lián)表(Snapshots):這是具名的導(dǎo)出關(guān)聯(lián)表,在一個(gè)時(shí)間點(diǎn)的關(guān)聯(lián)表內(nèi)容,不過(guò)它有真正的儲(chǔ)存資料,屬於一種唯讀
14、關(guān)聯(lián)表。查詢結(jié)果(Query Results):一種沒(méi)有具名的導(dǎo)出關(guān)聯(lián)表。中間結(jié)果(Intermediate Results):一種沒(méi)有具名的導(dǎo)出關(guān)聯(lián)表,這是JOIN合併查詢指令中子查詢的查詢結(jié)果。暫存關(guān)聯(lián)表(Temporary Relations):這是一種具名關(guān)聯(lián)表,儲(chǔ)存的是資料庫(kù)管理系統(tǒng)暫時(shí)所需的資料。儲(chǔ)存型關(guān)聯(lián)表(Stored Relations):實(shí)際儲(chǔ)存在儲(chǔ)存裝置的關(guān)聯(lián)表,這是真正可儲(chǔ)存資料的關(guān)聯(lián)表。4-3 關(guān)聯(lián)式資料庫(kù)模型的完整性限制條件4-3-1 鍵限制條件4-3-2 定義域限制條件4-3-3 實(shí)體完整性4-3-4 參考完整性4-3-5 其他完整性限制條件4-3 關(guān)聯(lián)式資料模型
15、的完整性限制條件-說(shuō)明關(guān)聯(lián)式資料庫(kù)模型的完整性限制條件(Integrity Constraints)是資料庫(kù)設(shè)計(jì)的一部分,其目的是檢查資料庫(kù)儲(chǔ)存的資料和保障資料的正確性,不但可以防止授權(quán)使用者將不合法的資料存入資料庫(kù),還能夠避免關(guān)聯(lián)表之間的資料不一致。4-3 關(guān)聯(lián)式資料模型的完整性限制條件-種類鍵限制條件(Key Constraints):關(guān)聯(lián)表一定擁有一個(gè)唯一和最小的主鍵(Primary Key)。定義域限制條件(Domain Constraints):關(guān)聯(lián)表的屬性值一定是屬於定義域的單元值。實(shí)體完整性(Entity Integrity):關(guān)聯(lián)表的主鍵不可以是空值,參考完整性(Referen
16、tial Integrity):關(guān)聯(lián)表的所有外來(lái)鍵值,都必須能參考到另一關(guān)聯(lián)表的主鍵值。4-3-1 鍵限制條件-說(shuō)明關(guān)聯(lián)式資料庫(kù)模型的鍵是一個(gè)重要觀念,關(guān)聯(lián)表的鍵(Keys)是指關(guān)聯(lián)表綱要中單一屬性或一組屬性的集合。4-3-1 鍵限制條件-超鍵超鍵(Superkeys)超鍵是關(guān)聯(lián)表綱要的單一屬性或一組屬性的集合,超鍵需要滿足唯一性,如下所示:唯一性(Uniqueness):在關(guān)聯(lián)表絕不會(huì)有2個(gè)值組擁有相同值。換句話說(shuō),只需透過(guò)超鍵的識(shí)別,就可以在關(guān)聯(lián)表存取指定的值組。4-3-1 鍵限制條件-候選鍵候選鍵(Candidate Keys)在每一個(gè)關(guān)聯(lián)表至少擁有一個(gè)候選鍵,候選鍵是一個(gè)超鍵,不只滿足
17、超鍵的唯一性,還需要滿足最小性,如下所示:最小性(Minimality):最小屬性數(shù)的超鍵,在超鍵中沒(méi)有一個(gè)屬性可以刪除,否則將違反唯一性。關(guān)聯(lián)表的候選鍵需要同時(shí)滿足唯一性和最小性,簡(jiǎn)單的說(shuō),候選鍵是最小屬性數(shù)的超鍵,所以單一屬性的超鍵一定是候選鍵。4-3-1 鍵限制條件-主鍵(說(shuō)明)主鍵(Primary Key)主鍵(Primary Key, PK)是關(guān)聯(lián)表各候選鍵中的其中之一,而且只有一個(gè)。4-3-1 鍵限制條件-主鍵(原則)在眾多候選鍵中如何挑選主鍵,選擇原則如下:絕對(duì)不是空值(Not Null):候選鍵的屬性值不能是空值,如果是複合鍵,所有屬性都保證不會(huì)是空值。永遠(yuǎn)不會(huì)改變(Never
18、 Change):候選鍵的屬性值永遠(yuǎn)不會(huì)改變。本身不是識(shí)別值(Nonidentifying Value):候選鍵的屬性值本身沒(méi)有其他意義。簡(jiǎn)短且簡(jiǎn)單的值(Brevity and Simplicity):儘可能選擇單一屬性的候選鍵。4-3-1 鍵限制條件-替代鍵替代鍵(Alternate Keys)在候選鍵中不是主鍵的其他候選鍵稱為替代鍵,因?yàn)檫@些是可以用來(lái)替代主鍵的侯選4-3-1 鍵限制條件-外來(lái)鍵(說(shuō)明)外來(lái)鍵(Foreign Keys)外來(lái)鍵(Foreign Keys, FK)是關(guān)聯(lián)表的單一屬性或一組屬性的集合,它的值是參考其他關(guān)聯(lián)表的主鍵,當(dāng)然也可能參考同一個(gè)關(guān)聯(lián)表的主鍵。外來(lái)鍵和其他關(guān)
19、聯(lián)表的主鍵是對(duì)應(yīng)的,在關(guān)聯(lián)式資料庫(kù)是扮演連結(jié)關(guān)聯(lián)表的膠水功能。4-3-1 鍵限制條件-外來(lái)鍵(圖例)4-3-1 鍵限制條件-外來(lái)鍵(特性)外來(lái)鍵一定參考其他關(guān)聯(lián)表的主鍵,這是兩個(gè)關(guān)聯(lián)表間的連結(jié)。外來(lái)鍵在關(guān)聯(lián)表內(nèi)不一定是主鍵。外來(lái)鍵和參考的主鍵屬於相同定義域,不過(guò)屬性名稱可以不同。外來(lái)鍵和參考主鍵中的主鍵如果是單一屬性,外來(lái)鍵就是單一屬性,主鍵是屬性集合,外來(lái)鍵一樣也是屬性集合。外來(lái)鍵可以是空值NULL。外來(lái)鍵可以參考同一個(gè)關(guān)聯(lián)表的主鍵。4-3-2 定義域限制條件定義域限制條件(Domain Constraints)是指在關(guān)聯(lián)表的屬性值一定是定義域的單元值(Atomic)。例如:屬性age的定義
20、域是int,屬性值可以為5,但是不可以是4.5。對(duì)比程式語(yǔ)言,就是一種強(qiáng)調(diào)型態(tài)(Strongly Typed)程式語(yǔ)言。4-3-3 實(shí)體完整性-說(shuō)明實(shí)體完整性(Entity Integrity)實(shí)體完整性是指在基底關(guān)聯(lián)表主鍵的任何部分都不可以是空值,其規(guī)則如下所示:如果主鍵是多個(gè)屬性的集合,任何一個(gè)屬性不可以是空值,例如:(ename, cname)是主鍵,那ename屬性不可為空值,cname屬性也不可是空值。在關(guān)聯(lián)表只有主鍵不可是空值,替代鍵並不適用。實(shí)體完整性是針對(duì)基底關(guān)聯(lián)表,從其導(dǎo)出的關(guān)聯(lián)表並不用遵守。4-3-3 實(shí)體完整性-主鍵的使用規(guī)則規(guī)則(Rule)是以敘述方式說(shuō)明發(fā)生的原因和將
21、會(huì)有什麼影響,這是由資料庫(kù)系統(tǒng)所定義的完整性限制條件執(zhí)行的規(guī)則。關(guān)聯(lián)式資料庫(kù)管理系統(tǒng)都支援實(shí)體完整性,我們可以定義主鍵的更新規(guī)則(Update Rule),如下所示:主鍵的更新規(guī)則:更新規(guī)則是指在基底關(guān)聯(lián)表的一個(gè)值組更新主鍵或新增值組時(shí),如果主鍵是空值就違反實(shí)體完整性,資料庫(kù)管理系統(tǒng)必須拒絕這項(xiàng)操作。4-3-4 參考完整性-說(shuō)明參考完整性(Referential Integrity)參考完整性(Referential Integrity)是當(dāng)關(guān)聯(lián)表存在外來(lái)鍵時(shí),外來(lái)鍵的值一定是來(lái)自參考主鍵,或?yàn)榭罩?,也就是說(shuō),外來(lái)鍵的屬性值集合即是參考主鍵的屬性值集合,如下圖所示:4-3-4 參考完整性-範(fàn)例
22、例如:公司員工關(guān)聯(lián)表Employees都會(huì)參與公司的專案關(guān)聯(lián)表Projects,如下圖所示:4-3-4 參考完整性-規(guī)則在關(guān)聯(lián)表不可包含無(wú)法參考的外來(lái)鍵,例如:?jiǎn)T工李四的project外來(lái)鍵值根本不存在其參考主鍵pid,表示此值組違反參考完整性,因?yàn)闆](méi)有父親的pid,怎麼會(huì)有兒子project。如果外來(lái)鍵不是關(guān)聯(lián)表的主鍵,其屬性值可以為空值,例如:Projects關(guān)聯(lián)表硬體授權(quán)的leader外來(lái)鍵是空值,因?yàn)榭赡苌形粗付▽0割I(lǐng)導(dǎo)者,所以並沒(méi)有違反參考完整性。4-3-4 參考完整性-外來(lái)鍵參考圖在建立資料庫(kù)綱要時(shí),通常我們會(huì)使用圖形標(biāo)示關(guān)聯(lián)表間的外來(lái)鍵關(guān)係,稱為外來(lái)鍵參考圖(Referentia
23、l Diagram),如下圖所示:4-3-4 參考完整性-外來(lái)鍵參考鏈關(guān)聯(lián)表的外來(lái)鍵是參考其他關(guān)聯(lián)表的主鍵,在參考的關(guān)聯(lián)表也可能擁有其他的外來(lái)鍵,然後再參考其他關(guān)聯(lián)表。如果我們將這些外來(lái)鍵的參考關(guān)係依序繪出,就可以建立外來(lái)鍵參考鏈(Referential Chain),如下所示:Projects Departments Employees 4-3-4 參考完整性-外來(lái)鍵參考環(huán)如果外來(lái)鍵參考最後回到原關(guān)聯(lián)表,稱為外來(lái)鍵參考環(huán)(Referential Cycle) 。例如:關(guān)聯(lián)表R1的參考鏈最後又回到R1,其外來(lái)鍵參考環(huán),如下所示:R1 R2 R3 . Rn R14-3-4 參考完整性-外來(lái)鍵使用
24、規(guī)則外來(lái)鍵的更新規(guī)則(Update Rule):如果一個(gè)值組擁有外來(lái)鍵,當(dāng)合法使用者試圖在更新或新增值組時(shí),更改外來(lái)鍵的值,資料庫(kù)管理系統(tǒng)會(huì)有如何處理?外來(lái)鍵的刪除規(guī)則(Delete Rule):如果一個(gè)值組擁有外來(lái)鍵,當(dāng)合法使用者試圖刪除參考的主鍵時(shí),資料庫(kù)管理系統(tǒng)會(huì)怎麼處理?4-3-4 參考完整性-處理方式限制性處理方式(Restricted):拒絕刪除或更新操作。連鎖性處理方式(Cascades):連鎖性處理方式是當(dāng)更新或刪除時(shí),需要作用在所有影響的外來(lái)鍵,否則拒絕此操作??罩祷幚矸绞剑∟ullifies):將所有可能的外來(lái)鍵都設(shè)為空值,否則拒絕此操作。4-3-5 其他完整性限制條件-
25、說(shuō)明資料庫(kù)管理師除了前述的一般完整性限制條件外,還可以依照實(shí)際需求在基底關(guān)聯(lián)表的屬性新增額外的完整性限制條件,通常所有導(dǎo)出關(guān)聯(lián)表也會(huì)繼承在基底關(guān)聯(lián)表設(shè)定的完整性條件。這些額外條件是在關(guān)聯(lián)表新增、刪除和更新資料時(shí),觸發(fā)的一些額外檢查條件。語(yǔ)意完整性(Semantic Integrity)屬於特定資料庫(kù)管理系統(tǒng)支援的完整性條件,這是屬性內(nèi)容的一些限制條件,可以檢查關(guān)聯(lián)表值組的屬性是否為合法資料。4-3-5 其他完整性限制條件-語(yǔ)意完整性空值限制條件(Null Constraint):限制屬性值不可為空值,也就是說(shuō),這個(gè)屬性一定要輸入資料。預(yù)設(shè)值(Default Value):如果沒(méi)有輸入指定的屬性
26、值,值組的屬性預(yù)設(shè)會(huì)填入指定的資料,其主要的目的是避免屬性為空值。檢查限制條件(Check Constraint):這是布林值的邏輯運(yùn)算式,輸入的屬性值一定需要滿足運(yùn)算式,即邏輯運(yùn)算式為真(true)。4-4 關(guān)聯(lián)式資料模型的數(shù)學(xué)理論4-4-1 集合的基礎(chǔ)4-4-2 集合運(yùn)算4-4-3 關(guān)聯(lián)表的定義4-4-4 鍵的定義4-4-1 集合的基礎(chǔ)-說(shuō)明集合(Set)是任何東西組合成的群體,集合本身並不考量集合中元素是否有任何關(guān)聯(lián),或是集合有何特殊用途,因?yàn)榧鲜怯砂脑貋?lái)完全決定之。例如:沒(méi)有任何元素的集合,稱為空集合(Empty Set),元素都是奇數(shù),就是奇數(shù)的集合。4-4-1 集合的基礎(chǔ)-
27、集合表示法集合的表示方法有很多種,本書主要是使用逐一列舉法,使用大括號(hào)括起集合的元素,如下所示:A = 1, 2, 3, 4, 5, 6, 7 B = a, b, c, d, e, f, g C = 001, 陳會(huì)安, 1966/09/05, 20 如果集合沒(méi)有任何元素稱為空集合(Empty Set),我們使用符號(hào)表示空集合。4-4-1 集合的基礎(chǔ)-集合關(guān)係1屬於:如果A是集合,x是集合中的元素,我們稱x是集合A的元素,屬於集合A,寫成:xA。不屬於 :如果b不是集合A的元素,表示b不屬於A,寫成:b A。包含於或:如果A和B是兩個(gè)集合,集合A的每一個(gè)元素都是集合B的元素,即元素xA xB,我
28、們可以說(shuō)A是B的子集(Subset),寫成:AB或BA。4-4-1 集合的基礎(chǔ)-集合關(guān)係2包含於且不相等或:如果A和B是兩個(gè)集合,集合A的每一個(gè)元素都是集合B的元素,且AB,稱A是B的真子集。等於:如果A和B兩個(gè)集合的元素完全相同,即A等於B,寫成A=B,也就是證明:AB且BA。4-4-2 集合運(yùn)算-聯(lián)集(Union)1若A和B是兩個(gè)集合,將A的所有元素和B的所有元素合起來(lái)的集合,稱為A與B的聯(lián)集,寫成:A B。例如:A = 4, 5, a, b B = c, 5 AB = 4, 5, a, b c, 5 = 4, 5, a, b, c 文氏圖(Venn Diagram)表示的AB,如下示:4
29、-4-2 集合運(yùn)算-聯(lián)集(Union)2交換律:AB = BA。結(jié)合律:(AB)C = A(BC) = ABC。包含性:CCD,表示C一定是CD聯(lián)集的子集。吸收律:若CD CDD,因?yàn)镃是D的子集,則C與D的聯(lián)集就是D。4-4-2 集合運(yùn)算-交集(Intersection)1若A和B是兩個(gè)集合,將A和B的共同元素合起來(lái)的集合,稱為A與B的交集,寫成:AB = x | xA 且 xB 。例如:A = 4, 5, a, b B = c, 5 AB = 4, 5, a, b c, 5 = 5 文氏圖(Venn Diagram)表示的AB,如下:4-4-2 集合運(yùn)算-交集(Intersection)2
30、交換律:AB = BA。結(jié)合律:(AB)C = A(BC) = ABC。包含性:CDC,表示C與D的交集一定是C的子集。吸收律:若CD CDC,因?yàn)镃是D的子集,則C與D的交集就是子集C。4-4-2 集合運(yùn)算-差集(Difference)若A和B是兩個(gè)集合,所有屬於A但不屬於B的元素所成的集合,稱為A與B的差集,寫成:AB = x | xA 且 xB 。例如:A = 4, 5, a, b B = c, 5 AB = 4, 5, a, b c, 5 = 4, a, b 文氏圖(Venn Diagram)表示的AB,如下:4-4-2 集合運(yùn)算-卡笛生乘積(Cartesian Product)若集合
31、A1, A2, A3, , An,卡笛生乘積是所有可能集合元素的集合,C = A1 x A2 x A3 x .x An。例如:A = a, b, c B = 1, 2 AxB = a, b, c x1, 2 = (a,1), (a,2), (b,1), (b,2), (c,1), (c,2) 4-4-3 關(guān)聯(lián)表的定義-定義域定義定義4.1:定義域(Domain)是一些指定型態(tài)值的集合,在關(guān)聯(lián)表屬性A的定義域,寫成:dom(A)。一些定義域的範(fàn)例,如下所示:正整數(shù)定義域 = 1, 2, 3, 4,5, 英文小寫字母 = a, b, c, d, .z 4-4-3 關(guān)聯(lián)表的定義-關(guān)聯(lián)表定義定義4.2
32、:關(guān)聯(lián)表(Relations)是各屬性定義域卡笛生乘積的子集。若關(guān)聯(lián)表R擁有A1, A2, A3, ., An共n個(gè)屬性,屬性的定義域分別為:dom(A1), dom(A2), dom(A3), ., dom(An)定義域的卡笛生乘積為:dom(A1) x dom(A2) x dom(A3) x .x dom(An)則,關(guān)聯(lián)表R是定義域卡笛生乘積的子集:Rdom(A1) x dom(A2) x dom(A3) x .x dom(An)表示關(guān)聯(lián)表R是n值組(n-tuples)的集合 = ,vidom(Ai) or vi = NULL, 1 i n,n是關(guān)聯(lián)表的屬性數(shù),即維度(Degree)。4-
33、4-3 關(guān)聯(lián)表的定義-關(guān)聯(lián)表範(fàn)例關(guān)聯(lián)表Emp1和Emp2擁有2個(gè)屬性name和salary,其定義域分別為dom(name)和dom(salary),如下所示:dom(name) = 陳會(huì)安, 江小魚, 張三豐dom(salary) = 35000, 40000 dom(name) x dom(salary) = , , , , , 關(guān)聯(lián)表Emp1和Emp2,如下:Emp1dom(name) x dom(salary)Emp1=, 江小魚,35000, Emp2dom(name) x dom(salary)Emp2 = , 4-4-3 關(guān)聯(lián)表的定義-關(guān)聯(lián)表綱要定義定義4.3:關(guān)聯(lián)表綱要(Relation Schema)是屬性的有限元素集合。若關(guān)聯(lián)表名稱為R,包含屬性A1, A2, , An與對(duì)應(yīng)的定義域D1, D2, , Dn,則關(guān)聯(lián)表綱要通常寫成:R ( A1(D1), A2(D2), ,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度酒店客房預(yù)訂及售后服務(wù)合同
- 二零二五年度攝影工作室轉(zhuǎn)讓及攝影服務(wù)協(xié)議范本
- 二零二五年度體育產(chǎn)業(yè)招商代理合作協(xié)議
- 2025年度演唱會(huì)票務(wù)代理合同
- 二零二五年度科技創(chuàng)新私人廠房租賃服務(wù)協(xié)議
- 婚禮跟拍合同-2025年度獨(dú)家婚禮影像記錄
- 二零二五年度勞動(dòng)合同解除通知及離職手續(xù)辦理流程優(yōu)化范本
- 2025年度珠寶企業(yè)數(shù)字化轉(zhuǎn)型戰(zhàn)略合作合同
- 2025年度綠茶茶園承包合作種植與加工合同
- 二零二五年度家庭月嫂服務(wù)及培訓(xùn)合同
- 2022年高考(全國(guó)甲卷)語(yǔ)文仿真模擬卷【含答案】
- 腸瘺治療PPT醫(yī)學(xué)課件(PPT 25頁(yè))
- 員工轉(zhuǎn)正評(píng)價(jià)表
- 道路交通事故責(zé)任認(rèn)定行政復(fù)議申請(qǐng)書范例
- 鄭州大學(xué)圖書館平立剖面效果圖
- 高效液相含量測(cè)定計(jì)算公式
- 公安機(jī)關(guān)通用告知書模板
- 《小學(xué)數(shù)學(xué)課程與教學(xué)》教學(xué)大綱
- 《手機(jī)攝影》全套課件(完整版)
- 礦井無(wú)計(jì)劃停電停風(fēng)安全技術(shù)措施
- 標(biāo)前合作合同協(xié)議書范本
評(píng)論
0/150
提交評(píng)論