《數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用》電子課件
《數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用》電子課件,數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用,數(shù)據(jù)庫(kù)技術(shù),應(yīng)用,電子,課件
第3章關(guān)系數(shù)據(jù)庫(kù)本章學(xué)習(xí)目標(biāo)l理解關(guān)系數(shù)據(jù)結(jié)構(gòu)的基本概念和性質(zhì)。理解關(guān)系數(shù)據(jù)結(jié)構(gòu)的基本概念和性質(zhì)。l了解關(guān)系模式的定義及其與關(guān)系數(shù)據(jù)庫(kù)的關(guān)系。了解關(guān)系模式的定義及其與關(guān)系數(shù)據(jù)庫(kù)的關(guān)系。l理解并掌握關(guān)系模式的理解并掌握關(guān)系模式的3 3類完整性約束。類完整性約束。l了解關(guān)系操作的分類。了解關(guān)系操作的分類。l掌握并熟練的使用關(guān)系代數(shù)運(yùn)算。掌握并熟練的使用關(guān)系代數(shù)運(yùn)算。l理解元組關(guān)系演算,了解域關(guān)系演算。理解元組關(guān)系演算,了解域關(guān)系演算。本章概述數(shù)數(shù)據(jù)據(jù)模模型型是是數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)管管理理系系統(tǒng)統(tǒng)的的核核心心,任任何何一一個(gè)個(gè)數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)管管理理系系統(tǒng)統(tǒng)都都是是建建立立在在某某種種數(shù)數(shù)據(jù)據(jù)模模型型之之上上的的。在在數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)系系統(tǒng)統(tǒng)傳傳統(tǒng)統(tǒng)的的三三種種邏邏輯輯數(shù)數(shù)據(jù)據(jù)模模型型中中,層層次次模模型型和和網(wǎng)網(wǎng)狀狀模模型型由由于于在在理理論論上上不不夠夠完完備備,實(shí)實(shí)現(xiàn)現(xiàn)效效率率較較低低,所所以以基基于于這這兩兩種種模模型型的的數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)系系統(tǒng)統(tǒng)已已逐逐漸漸被被關(guān)關(guān)系系模模型型的的數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)系系統(tǒng)統(tǒng)所所取取代代。關(guān)關(guān)系系模型已成為當(dāng)今模型已成為當(dāng)今DBMSDBMS所支持的主流數(shù)據(jù)模型。所支持的主流數(shù)據(jù)模型。關(guān)關(guān)系系數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)采采用用關(guān)關(guān)系系數(shù)數(shù)據(jù)據(jù)模模型型作作為為數(shù)數(shù)據(jù)據(jù)組組織織方方式式,采采用用數(shù)數(shù)學(xué)學(xué)方方法法來(lái)來(lái)處處理理數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)中中的的數(shù)數(shù)據(jù)據(jù)。本本章章首首先先詳詳細(xì)細(xì)介介紹紹關(guān)關(guān)系系模模型型的的有有關(guān)關(guān)概概念念,然然后后介介紹關(guān)系代數(shù)、關(guān)系演算的各種運(yùn)算及相應(yīng)的查詢語(yǔ)言。紹關(guān)系代數(shù)、關(guān)系演算的各種運(yùn)算及相應(yīng)的查詢語(yǔ)言。主要內(nèi)容3.1 關(guān)系模型的基本概念3.3 關(guān)系操作3.4 關(guān)系代數(shù)3.2 關(guān)系的完整性3.5 關(guān)系演算主要內(nèi)容3.1 關(guān)系模型的基本概念15.3 概念數(shù)據(jù)模型設(shè)計(jì)15.4 物理數(shù)據(jù)模型設(shè)計(jì)15.2 PowerDesigner的安裝3.3 關(guān)系操作3.4 關(guān)系代數(shù)3.2 關(guān)系的完整性3.5 關(guān)系演算3.1 關(guān)系模型的基本概念 PowerDesignerPowerDesigner版版本本較較多多。20082008年年1111月月,Sybase Sybase PowerDesigner PowerDesigner 1515正正式式上上市市,它它是是一一款款企企業(yè)業(yè)級(jí)級(jí)一一體體化化的的建建模模和和設(shè)設(shè)計(jì)計(jì)解解決決方方案案,可可快快速速、穩(wěn)穩(wěn)定定地地構(gòu)構(gòu)建建和和簡(jiǎn)簡(jiǎn)化化業(yè)業(yè)務(wù)務(wù)流流程程。本本章章主主要要介介紹紹PowerDesigner PowerDesigner 15.115.1。按照數(shù)據(jù)模型的三要素,下面我們主要從關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操按照數(shù)據(jù)模型的三要素,下面我們主要從關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作和關(guān)系完整性約束這三個(gè)方面詳細(xì)介紹關(guān)系模型。作和關(guān)系完整性約束這三個(gè)方面詳細(xì)介紹關(guān)系模型。3.1.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 關(guān)系是集合論的一個(gè)概念,也是關(guān)系模型的數(shù)據(jù)結(jié)構(gòu),它只包關(guān)系是集合論的一個(gè)概念,也是關(guān)系模型的數(shù)據(jù)結(jié)構(gòu),它只包含單一的數(shù)據(jù)結(jié)構(gòu)含單一的數(shù)據(jù)結(jié)構(gòu)關(guān)系。在關(guān)系模型中,現(xiàn)實(shí)世界的實(shí)體以及關(guān)系。在關(guān)系模型中,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來(lái)表示。在用戶看來(lái),一個(gè)關(guān)系就是一實(shí)體間的各種聯(lián)系均用關(guān)系來(lái)表示。在用戶看來(lái),一個(gè)關(guān)系就是一張二維表,這種簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)能夠表達(dá)豐富的語(yǔ)義。張二維表,這種簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)能夠表達(dá)豐富的語(yǔ)義。3.1 關(guān)系模型的基本概念 1.1.域域(domain)(domain)定義定義3.1 3.1 域是一組具有相同數(shù)據(jù)類型的值的集合域是一組具有相同數(shù)據(jù)類型的值的集合(用用D D表示表示)。域中所包。域中所包含值的個(gè)數(shù)稱為域的基數(shù)含值的個(gè)數(shù)稱為域的基數(shù)(用用m m表示表示)。例如,自然數(shù)集合、整數(shù)集合、實(shí)數(shù)集合、長(zhǎng)度小于等于例如,自然數(shù)集合、整數(shù)集合、實(shí)數(shù)集合、長(zhǎng)度小于等于2020的字符串的字符串的集合、的集合、0 0,1 1,2 2集合以及集合以及0 0到到6060的所有自然數(shù)集合都是域。的所有自然數(shù)集合都是域。3.1 關(guān)系模型的基本概念 2.2.笛卡爾積笛卡爾積(Cartesian Product)(Cartesian Product)笛卡爾積表示域上面的一種集合運(yùn)算。笛卡爾積表示域上面的一種集合運(yùn)算。定義定義3.2 3.2 給定一組域給定一組域D1D1,D2D2,DnDn,這些域可以是部分或全部相同的域。,這些域可以是部分或全部相同的域。D1D1,D2D2,DnDn的笛卡爾積為的笛卡爾積為D1D2Dn=(d1D1D2Dn=(d1,d2d2,dn)|diDidn)|diDi,i=1i=1,2 2,nn其中每一個(gè)元素其中每一個(gè)元素(d1(d1,d2d2,dn)dn)叫做一個(gè)叫做一個(gè)n n元組或簡(jiǎn)稱元組。元組或簡(jiǎn)稱元組。元素中的每一個(gè)值元素中的每一個(gè)值didi叫做一個(gè)分量。叫做一個(gè)分量。這些域中可以存在相同的域,例如這些域中可以存在相同的域,例如D1D1,D2D2可以是相同的域??梢允窍嗤挠?。3.1 關(guān)系模型的基本概念 3.3.關(guān)系關(guān)系(Relation)(Relation)定義定義3.3 D1D2Dn3.3 D1D2Dn的子集叫做域的子集叫做域D1D1,D2D2,DnDn上的關(guān)系,表示為上的關(guān)系,表示為 R(D1R(D1,D2D2,Dn)Dn)這里這里R R表示關(guān)系的名字,表示關(guān)系的名字,n n是關(guān)系的目或度。當(dāng)是關(guān)系的目或度。當(dāng)n=1n=1時(shí),稱該關(guān)系為單元關(guān)系,時(shí),稱該關(guān)系為單元關(guān)系,或一元關(guān)系;當(dāng)或一元關(guān)系;當(dāng)n=2n=2時(shí),稱該關(guān)系為二元關(guān)系。時(shí),稱該關(guān)系為二元關(guān)系。關(guān)系是笛卡爾積的有限子集,所以關(guān)系也是一個(gè)二維表,表的每一行對(duì)應(yīng)關(guān)關(guān)系是笛卡爾積的有限子集,所以關(guān)系也是一個(gè)二維表,表的每一行對(duì)應(yīng)關(guān)系的一個(gè)元組,表的每一列對(duì)應(yīng)于關(guān)系的一個(gè)域。由于域可以相同,為了系的一個(gè)元組,表的每一列對(duì)應(yīng)于關(guān)系的一個(gè)域。由于域可以相同,為了加以區(qū)別,必須給每列起一個(gè)名字,稱為屬性。加以區(qū)別,必須給每列起一個(gè)名字,稱為屬性。n n目關(guān)系必有目關(guān)系必有n n個(gè)屬性。個(gè)屬性。3.1 關(guān)系模型的基本概念 4.4.關(guān)系的碼關(guān)系的碼(key)(key)碼有時(shí)也稱為標(biāo)識(shí)符,是關(guān)系模型中的一個(gè)重要概念。碼有時(shí)也稱為標(biāo)識(shí)符,是關(guān)系模型中的一個(gè)重要概念。若關(guān)系中的某一屬性組的值能唯一的標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼。若關(guān)系中的某一屬性組的值能唯一的標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼。若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼。若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼。候選碼的諸屬性稱為主屬性。不包含在任何候選碼中的屬性稱為非主屬性或候選碼的諸屬性稱為主屬性。不包含在任何候選碼中的屬性稱為非主屬性或非碼屬性。非碼屬性。在最簡(jiǎn)單的情況下,候選碼只包含一個(gè)屬性。在最極端的情況下,關(guān)系模式在最簡(jiǎn)單的情況下,候選碼只包含一個(gè)屬性。在最極端的情況下,關(guān)系模式的所有屬性是這個(gè)關(guān)系模式的候選碼,稱為全碼的所有屬性是這個(gè)關(guān)系模式的候選碼,稱為全碼(All-Key)(All-Key)。如果關(guān)系模式如果關(guān)系模式R R中的某屬性集是另一個(gè)關(guān)系模式中的某屬性集是另一個(gè)關(guān)系模式S S的主碼,則該屬性集為關(guān)系的主碼,則該屬性集為關(guān)系模式模式R R的外碼。外碼主要用來(lái)表示關(guān)系之間的聯(lián)系。的外碼。外碼主要用來(lái)表示關(guān)系之間的聯(lián)系。3.1 關(guān)系模型的基本概念 關(guān)系模式是關(guān)系的框架,也稱為關(guān)系的型,相當(dāng)于表記錄的格式。關(guān)系數(shù)據(jù)關(guān)系模式是關(guān)系的框架,也稱為關(guān)系的型,相當(dāng)于表記錄的格式。關(guān)系數(shù)據(jù)庫(kù)中,關(guān)系模式是型,關(guān)系是值。關(guān)系模式是關(guān)系的描述,它可以確定這庫(kù)中,關(guān)系模式是型,關(guān)系是值。關(guān)系模式是關(guān)系的描述,它可以確定這個(gè)關(guān)系的二維表的形式。嚴(yán)格的講,它應(yīng)該是一個(gè)五元組。個(gè)關(guān)系的二維表的形式。嚴(yán)格的講,它應(yīng)該是一個(gè)五元組。定義定義3.4 3.4 關(guān)系的描述稱為關(guān)系模式。它可以形式化地表示為關(guān)系的描述稱為關(guān)系模式。它可以形式化地表示為R(UR(U,D D,DOMDOM,F(xiàn))F)其中其中R R為關(guān)系名,為關(guān)系名,U U為組成該關(guān)系的屬性名集合,為組成該關(guān)系的屬性名集合,D D為屬性組為屬性組U U中屬性所來(lái)自的中屬性所來(lái)自的域,域,DOMDOM為屬性向域的映像集合,為屬性向域的映像集合,F(xiàn) F為屬性間數(shù)據(jù)的依賴關(guān)系集合。為屬性間數(shù)據(jù)的依賴關(guān)系集合。關(guān)系模式通常被簡(jiǎn)寫為關(guān)系模式通常被簡(jiǎn)寫為 R(U)R(U)或或R(A1R(A1,A2A2,An)An)其中,其中,R R為關(guān)系名,為關(guān)系名,U U為屬性名的集合為屬性名的集合A1A1,A2A2,AnAn。而域名及屬性。而域名及屬性向域的映像常常直接說(shuō)明為屬性的類型、長(zhǎng)度。向域的映像常常直接說(shuō)明為屬性的類型、長(zhǎng)度。3.1.2 關(guān)系模式主要內(nèi)容3.1 關(guān)系模型的基本概念15.3 概念數(shù)據(jù)模型設(shè)計(jì)15.4 物理數(shù)據(jù)模型設(shè)計(jì)15.2 PowerDesigner的安裝3.3 關(guān)系操作3.4 關(guān)系代數(shù)3.2 關(guān)系的完整性3.5 關(guān)系演算3.2 關(guān)系的完整性 1.1.實(shí)體完整性實(shí)體完整性(Entity Integrity)(Entity Integrity)規(guī)則規(guī)則3.1 3.1 實(shí)體完整性規(guī)則實(shí)體完整性規(guī)則 若屬性若屬性(指一個(gè)或一組屬性指一個(gè)或一組屬性)A)A是基本關(guān)系是基本關(guān)系R R的主的主屬性,則屬性,則A A不能取空值。不能取空值。所謂空值所謂空值(null value)(null value)就是就是“不知道不知道”或或“不存在不存在”的值。實(shí)體完整性強(qiáng)調(diào)的值。實(shí)體完整性強(qiáng)調(diào)基本關(guān)系的所有主屬性都不能取空值,而不僅僅是主碼不能取空值?;娟P(guān)系的所有主屬性都不能取空值,而不僅僅是主碼不能取空值。對(duì)于實(shí)體完整性規(guī)則,說(shuō)明如下:對(duì)于實(shí)體完整性規(guī)則,說(shuō)明如下:關(guān)系模式中有3類完整性約束:實(shí)體完整性、參照完整性和用戶自定義完整性。其中實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱作是關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)自動(dòng)支持。用戶自定義的完整性是應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體應(yīng)用領(lǐng)域中的語(yǔ)義約束3.2 關(guān)系的完整性 (1)(1)實(shí)體完整性能夠保證實(shí)體的唯一性實(shí)體完整性能夠保證實(shí)體的唯一性實(shí)體完整性規(guī)則是針對(duì)基本表而言的,由于一個(gè)基本表通常對(duì)應(yīng)現(xiàn)實(shí)世界的實(shí)體完整性規(guī)則是針對(duì)基本表而言的,由于一個(gè)基本表通常對(duì)應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集一個(gè)實(shí)體集(或聯(lián)系集或聯(lián)系集),而現(xiàn)實(shí)世界中的一個(gè)實(shí)體,而現(xiàn)實(shí)世界中的一個(gè)實(shí)體(或一個(gè)聯(lián)系或一個(gè)聯(lián)系)是可區(qū)分是可區(qū)分的,它在關(guān)系中以碼作為實(shí)體的,它在關(guān)系中以碼作為實(shí)體(或聯(lián)系或聯(lián)系)的標(biāo)識(shí),主屬性不能取空值就能夠的標(biāo)識(shí),主屬性不能取空值就能夠保證實(shí)體保證實(shí)體(或聯(lián)系或聯(lián)系)的唯一性。的唯一性。(2)(2)實(shí)體完整性能夠保證實(shí)體的可區(qū)分性實(shí)體完整性能夠保證實(shí)體的可區(qū)分性 空值說(shuō)明空值說(shuō)明“不知道不知道”或或“無(wú)意義無(wú)意義”。如果主屬性取空值,就說(shuō)明存在。如果主屬性取空值,就說(shuō)明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,即存在不可區(qū)分的實(shí)體,這不符合現(xiàn)實(shí)世界的情況。某個(gè)不可標(biāo)識(shí)的實(shí)體,即存在不可區(qū)分的實(shí)體,這不符合現(xiàn)實(shí)世界的情況。3.2 關(guān)系的完整性 2.2.參照完整性參照完整性(Referential Integrity)(Referential Integrity)現(xiàn)實(shí)世界中的實(shí)體之間往往存在某種聯(lián)系,在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都現(xiàn)實(shí)世界中的實(shí)體之間往往存在某種聯(lián)系,在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來(lái)描述的。這樣就自然存在著關(guān)系與關(guān)系間的引用。先來(lái)看一個(gè)例子。是用關(guān)系來(lái)描述的。這樣就自然存在著關(guān)系與關(guān)系間的引用。先來(lái)看一個(gè)例子。例例3-1“3-1“基層單位數(shù)據(jù)庫(kù)基層單位數(shù)據(jù)庫(kù)”中有中有“職工職工”和和“部門部門”兩個(gè)關(guān)系,其關(guān)系模式如兩個(gè)關(guān)系,其關(guān)系模式如下,其中主碼用下劃線標(biāo)識(shí):下,其中主碼用下劃線標(biāo)識(shí):職工職工(職工號(hào),姓名,工資,性別,部門號(hào)職工號(hào),姓名,工資,性別,部門號(hào))部門部門(部門號(hào),名稱,領(lǐng)導(dǎo)人號(hào)部門號(hào),名稱,領(lǐng)導(dǎo)人號(hào))在職工表中,部門號(hào)不是主碼,但部門表中部門號(hào)為主碼,則職工表中的部門號(hào)在職工表中,部門號(hào)不是主碼,但部門表中部門號(hào)為主碼,則職工表中的部門號(hào)為外碼,職工表為外碼表。對(duì)于職工表來(lái)說(shuō),部門表為主碼表。同理,在部門為外碼,職工表為外碼表。對(duì)于職工表來(lái)說(shuō),部門表為主碼表。同理,在部門表中領(lǐng)導(dǎo)人號(hào)表中領(lǐng)導(dǎo)人號(hào)(實(shí)際為領(lǐng)導(dǎo)人的職工號(hào)實(shí)際為領(lǐng)導(dǎo)人的職工號(hào))不是主碼,它是非主屬性,而在職工表不是主碼,它是非主屬性,而在職工表中職工號(hào)為主碼,則這時(shí)部門表中的領(lǐng)導(dǎo)人號(hào)為外碼,部門表為外碼表,職工中職工號(hào)為主碼,則這時(shí)部門表中的領(lǐng)導(dǎo)人號(hào)為外碼,部門表為外碼表,職工表為部門表的主碼表。表為部門表的主碼表。3.2 關(guān)系的完整性 規(guī)則規(guī)則3.2 3.2 參照完整性規(guī)則參照完整性規(guī)則 若屬性若屬性(或?qū)傩越M或?qū)傩越M)F)F是基本關(guān)系是基本關(guān)系R R的外碼,它與基本的外碼,它與基本關(guān)系關(guān)系S S的主碼的主碼KSKS相對(duì)應(yīng)相對(duì)應(yīng)(基本關(guān)系基本關(guān)系R R與與S S不一定是不同的關(guān)系不一定是不同的關(guān)系),則對(duì)于,則對(duì)于R R中每個(gè)元中每個(gè)元組在組在F F上的值必須為:上的值必須為:或者取空值或者取空值(F(F的每個(gè)屬性值均為空值的每個(gè)屬性值均為空值)。或者等于或者等于S S中某個(gè)元組的主碼值。中某個(gè)元組的主碼值。例如,上述例如,上述 例例 3-13-1中的職工表中中的職工表中“部門號(hào)部門號(hào)”屬性只能取下面兩類值:空值,表屬性只能取下面兩類值:空值,表示尚未給該職工分配部門,非空值,該值必須是部門關(guān)系中某個(gè)元組的示尚未給該職工分配部門,非空值,該值必須是部門關(guān)系中某個(gè)元組的“部門部門號(hào)號(hào)”值。一個(gè)職工不可能分配到一個(gè)不存在的部門中,即參照關(guān)系值。一個(gè)職工不可能分配到一個(gè)不存在的部門中,即參照關(guān)系“部門部門”中中一定存在一個(gè)元組,它的主碼值等于一定存在一個(gè)元組,它的主碼值等于“職工職工”中的外碼值。中的外碼值。3.2 關(guān)系的完整性 3.3.用戶自定義完整性用戶自定義完整性(User-defined Integrity)(User-defined Integrity)任何關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)都應(yīng)當(dāng)具備實(shí)體完整性和參照完整性。另外,由于不同的任何關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)都應(yīng)當(dāng)具備實(shí)體完整性和參照完整性。另外,由于不同的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)有著不同的應(yīng)用環(huán)境,所以它們要有不同的約束條件。關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)有著不同的應(yīng)用環(huán)境,所以它們要有不同的約束條件。用戶定義的完整性就是針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,它反映某一具體用戶定義的完整性就是針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求。例如,某個(gè)屬性必須取唯一值、某應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求。例如,某個(gè)屬性必須取唯一值、某個(gè)非主屬性也不能取空值個(gè)非主屬性也不能取空值(例如在例如在 例例 3-13-1的職工關(guān)系中必須給出職工的姓的職工關(guān)系中必須給出職工的姓名,就可以要求職工姓名不能取空值名,就可以要求職工姓名不能取空值)、某個(gè)屬性只能在某范圍內(nèi)取值、某個(gè)屬性只能在某范圍內(nèi)取值(例如例如性別的取值只能取自性別的取值只能取自“男男”和和“女女”)等,這些都是針對(duì)具體關(guān)系提出的完等,這些都是針對(duì)具體關(guān)系提出的完整性條件。整性條件。主要內(nèi)容3.1 關(guān)系模型的基本概念15.3 概念數(shù)據(jù)模型設(shè)計(jì)15.4 物理數(shù)據(jù)模型設(shè)計(jì)15.2 PowerDesigner的安裝3.3 關(guān)系操作3.4 關(guān)系代數(shù)3.2 關(guān)系的完整性3.5 關(guān)系演算3.3 關(guān)系操作 3.3.1 3.3.1 基本的關(guān)系操作基本的關(guān)系操作關(guān)系模型中的關(guān)系操作有查詢操作和更新操作關(guān)系模型中的關(guān)系操作有查詢操作和更新操作(包括插入、刪除和修改包括插入、刪除和修改)兩大類。兩大類。關(guān)系模型的查詢表達(dá)能力很強(qiáng),因此,查詢操作是關(guān)系操作中最主要的部分。關(guān)系模型的查詢表達(dá)能力很強(qiáng),因此,查詢操作是關(guān)系操作中最主要的部分。查詢操作又可以分為選擇查詢操作又可以分為選擇(Select)(Select)、投影、投影 (Project)(Project)、連接、連接(Join)(Join)、除、除(Divide)Divide)、并、并(Union)(Union)、差、差(Difference)(Difference)、交、交(Intersection)(Intersection)、笛卡爾積等。、笛卡爾積等。其中,選擇、投影、并、差、笛卡爾積是其中,選擇、投影、并、差、笛卡爾積是5 5種基本操作。其它操作都可以通種基本操作。其它操作都可以通過(guò)基本操作來(lái)定義和導(dǎo)出。過(guò)基本操作來(lái)定義和導(dǎo)出。關(guān)系操作有以下關(guān)系操作有以下3 3個(gè)明顯的特點(diǎn):個(gè)明顯的特點(diǎn):(1)(1)關(guān)系操作語(yǔ)言一體化關(guān)系操作語(yǔ)言一體化關(guān)系操作語(yǔ)言具有數(shù)據(jù)定義、查詢、更新和控制一體化的特點(diǎn)。關(guān)系操作語(yǔ)言關(guān)系操作語(yǔ)言具有數(shù)據(jù)定義、查詢、更新和控制一體化的特點(diǎn)。關(guān)系操作語(yǔ)言既可以作為宿主語(yǔ)言嵌入到主語(yǔ)言中,又可以作為獨(dú)立語(yǔ)言交互使用。關(guān)系既可以作為宿主語(yǔ)言嵌入到主語(yǔ)言中,又可以作為獨(dú)立語(yǔ)言交互使用。關(guān)系操作的這一特點(diǎn)使得關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言容易學(xué)習(xí),使用方便。操作的這一特點(diǎn)使得關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言容易學(xué)習(xí),使用方便。3.3 關(guān)系操作 (2)(2)關(guān)系操作的方式是一次一集合方式關(guān)系操作的方式是一次一集合方式其它系統(tǒng)的操作是一次一記錄方式,而關(guān)系操作的方式則是一次一集合方式,其它系統(tǒng)的操作是一次一記錄方式,而關(guān)系操作的方式則是一次一集合方式,即關(guān)系操作的初始數(shù)據(jù)、中間數(shù)據(jù)和結(jié)果數(shù)據(jù)都是集合。即關(guān)系操作的初始數(shù)據(jù)、中間數(shù)據(jù)和結(jié)果數(shù)據(jù)都是集合。(3)(3)關(guān)系操作語(yǔ)言是高度非過(guò)程化的語(yǔ)言關(guān)系操作語(yǔ)言是高度非過(guò)程化的語(yǔ)言關(guān)系操作語(yǔ)言具有強(qiáng)大的表達(dá)能力。例如,關(guān)系查詢語(yǔ)言集檢索、統(tǒng)計(jì)、排序關(guān)系操作語(yǔ)言具有強(qiáng)大的表達(dá)能力。例如,關(guān)系查詢語(yǔ)言集檢索、統(tǒng)計(jì)、排序等多項(xiàng)功能為一條語(yǔ)句,它等效于其它語(yǔ)言的一大段程序。用戶使用關(guān)系操等多項(xiàng)功能為一條語(yǔ)句,它等效于其它語(yǔ)言的一大段程序。用戶使用關(guān)系操作語(yǔ)言時(shí),只需要指出做什么,而不需要指出怎么做,數(shù)據(jù)存取路徑的選擇、作語(yǔ)言時(shí),只需要指出做什么,而不需要指出怎么做,數(shù)據(jù)存取路徑的選擇、數(shù)據(jù)操作方法的選擇和優(yōu)化都由數(shù)據(jù)操作方法的選擇和優(yōu)化都由DBMSDBMS自動(dòng)完成。關(guān)系操作語(yǔ)言的這種高度非自動(dòng)完成。關(guān)系操作語(yǔ)言的這種高度非過(guò)程化的特點(diǎn)使得關(guān)系數(shù)據(jù)庫(kù)的使用非常簡(jiǎn)單,關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)也比過(guò)程化的特點(diǎn)使得關(guān)系數(shù)據(jù)庫(kù)的使用非常簡(jiǎn)單,關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)也比較容易,這種優(yōu)勢(shì)是關(guān)系數(shù)據(jù)庫(kù)能夠被用戶廣泛接受和使用的主要原因。較容易,這種優(yōu)勢(shì)是關(guān)系數(shù)據(jù)庫(kù)能夠被用戶廣泛接受和使用的主要原因。3.3 關(guān)系操作 3.3.2 3.3.2 關(guān)系操作語(yǔ)言的種類關(guān)系操作語(yǔ)言的種類關(guān)系操作語(yǔ)言可以分為以下關(guān)系操作語(yǔ)言可以分為以下3 3類。類。(1)(1)關(guān)系代數(shù)語(yǔ)言關(guān)系代數(shù)語(yǔ)言關(guān)系代數(shù)語(yǔ)言是用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢要求的語(yǔ)言。關(guān)系代數(shù)語(yǔ)言是用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢要求的語(yǔ)言。ISBL(Information ISBL(Information System Base Language)System Base Language)為關(guān)系代數(shù)語(yǔ)言的代表,每一個(gè)為關(guān)系代數(shù)語(yǔ)言的代表,每一個(gè)ISBLISBL語(yǔ)句都近似于一個(gè)語(yǔ)句都近似于一個(gè)關(guān)系代數(shù)表達(dá)式。關(guān)系代數(shù)表達(dá)式。(2)(2)關(guān)系演算語(yǔ)言關(guān)系演算語(yǔ)言關(guān)系演算語(yǔ)言是用查詢得到的元組應(yīng)滿足的謂詞條件來(lái)表達(dá)查詢要求的語(yǔ)言。關(guān)關(guān)系演算語(yǔ)言是用查詢得到的元組應(yīng)滿足的謂詞條件來(lái)表達(dá)查詢要求的語(yǔ)言。關(guān)系演算語(yǔ)言又可以分為元組演算語(yǔ)言和域演算語(yǔ)言兩種:元組演算語(yǔ)言的謂詞系演算語(yǔ)言又可以分為元組演算語(yǔ)言和域演算語(yǔ)言兩種:元組演算語(yǔ)言的謂詞變?cè)幕緦?duì)象是元組變量,典型代表是變?cè)幕緦?duì)象是元組變量,典型代表是ALPHAALPHA語(yǔ)言;域演算語(yǔ)言的謂詞變?cè)恼Z(yǔ)言;域演算語(yǔ)言的謂詞變?cè)幕緦?duì)象是域變量,典型代表是基本對(duì)象是域變量,典型代表是QBL(Query By Example)QBL(Query By Example)語(yǔ)言。語(yǔ)言。3.3 關(guān)系操作 (3)(3)基于映像的語(yǔ)言基于映像的語(yǔ)言基于映像的語(yǔ)言是具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語(yǔ)言?;谟诚竦恼Z(yǔ)言是具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語(yǔ)言。SQL(Structure SQL(Structure Query Language)Query Language)是基于映像的語(yǔ)言。是基于映像的語(yǔ)言。SQLSQL包括數(shù)據(jù)定義、數(shù)據(jù)操作和數(shù)據(jù)控制包括數(shù)據(jù)定義、數(shù)據(jù)操作和數(shù)據(jù)控制三種功能。具有語(yǔ)言簡(jiǎn)潔,易學(xué)易用的特點(diǎn),它是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言和主三種功能。具有語(yǔ)言簡(jiǎn)潔,易學(xué)易用的特點(diǎn),它是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言和主流語(yǔ)言。流語(yǔ)言。主要內(nèi)容3.1 關(guān)系模型的基本概念15.3 概念數(shù)據(jù)模型設(shè)計(jì)15.4 物理數(shù)據(jù)模型設(shè)計(jì)15.2 PowerDesigner的安裝3.3 關(guān)系操作3.4 關(guān)系代數(shù)3.2 關(guān)系的完整性3.5 關(guān)系演算3.4 關(guān)系代數(shù) 關(guān)系系模型源于數(shù)學(xué),關(guān)系是由元組構(gòu)成的集合,可以通過(guò)關(guān)系的運(yùn)算來(lái)表達(dá)查詢要求,而關(guān)系代數(shù)恰恰是關(guān)系操作語(yǔ)言的一種傳統(tǒng)的表示方式,它是一種抽象的查詢語(yǔ)言。關(guān)系代數(shù)的運(yùn)算對(duì)象是關(guān)系,運(yùn)算結(jié)果也是關(guān)系。與一般的運(yùn)算一樣,運(yùn)算對(duì)象、運(yùn)算符和運(yùn)算結(jié)果是關(guān)系代數(shù)的三大要素。關(guān)系代數(shù)用到的運(yùn)算符包括四類:集合運(yùn)算符,專門的關(guān)系運(yùn)算符、算術(shù)比較符和邏輯運(yùn)算符,如表3-5所示。3.4 關(guān)系代數(shù) 3.4.1 3.4.1 傳統(tǒng)的集合運(yùn)算傳統(tǒng)的集合運(yùn)算傳統(tǒng)的集合運(yùn)算是二目運(yùn)算,它包括并、差、交、笛卡爾積四種運(yùn)算。設(shè)關(guān)系傳統(tǒng)的集合運(yùn)算是二目運(yùn)算,它包括并、差、交、笛卡爾積四種運(yùn)算。設(shè)關(guān)系R R和和S S具有相同的目具有相同的目n(n(即兩個(gè)關(guān)系都有即兩個(gè)關(guān)系都有n n個(gè)屬性個(gè)屬性),其相應(yīng)的屬性取自同一個(gè)域,則,其相應(yīng)的屬性取自同一個(gè)域,則定義并、差、交、笛卡爾積運(yùn)算如下:定義并、差、交、笛卡爾積運(yùn)算如下:并并(Union)(Union)關(guān)系關(guān)系R R與關(guān)系與關(guān)系S S的并記為:。的并記為:。其結(jié)果仍為其結(jié)果仍為n n目關(guān)系,由屬性目關(guān)系,由屬性R R或?qū)傩曰驅(qū)傩許 S的元組組成。的元組組成。2.2.差差(Difference)(Difference)關(guān)系關(guān)系R R與關(guān)系與關(guān)系S S的差記為:。的差記為:。其結(jié)果關(guān)系仍為其結(jié)果關(guān)系仍為n n目關(guān)系,由屬于目關(guān)系,由屬于R R而不屬于而不屬于S S的所有元組組成。的所有元組組成。3.3.交交(Intersection)(Intersection)關(guān)系關(guān)系R R與關(guān)系與關(guān)系S S的交記為:。的交記為:。其結(jié)果關(guān)系仍為其結(jié)果關(guān)系仍為n n目關(guān)系,由既屬于目關(guān)系,由既屬于R R又屬于又屬于S S的元組組成。關(guān)系的交運(yùn)算可以用的元組組成。關(guān)系的交運(yùn)算可以用差運(yùn)算來(lái)表示,即差運(yùn)算來(lái)表示,即 。3.4 關(guān)系代數(shù) 4.4.笛卡爾積笛卡爾積(Cartesian Product)(Cartesian Product)這里的笛卡爾積嚴(yán)格地講是廣義笛卡爾積這里的笛卡爾積嚴(yán)格地講是廣義笛卡爾積(Extended Cartesian Product)(Extended Cartesian Product)。在不。在不會(huì)出現(xiàn)混淆的情況下廣義笛卡爾積也稱為笛卡爾積。會(huì)出現(xiàn)混淆的情況下廣義笛卡爾積也稱為笛卡爾積。兩個(gè)分別為兩個(gè)分別為n n目和目和m m目的關(guān)系目的關(guān)系R R和和S S的笛卡爾積是一個(gè)的笛卡爾積是一個(gè)(n+m)(n+m)列的元組的集合。元組列的元組的集合。元組的前的前n n列是關(guān)系列是關(guān)系R R的一個(gè)元組,后的一個(gè)元組,后m m列是關(guān)系列是關(guān)系S S的一個(gè)元組。若的一個(gè)元組。若R R有有k1k1個(gè)元組,個(gè)元組,S S有有K2K2個(gè)元組,則關(guān)系個(gè)元組,則關(guān)系R R和關(guān)系和關(guān)系S S的笛卡爾積有的笛卡爾積有k1k2k1k2個(gè)元組。記作:個(gè)元組。記作:例如,給出關(guān)系例如,給出關(guān)系R R和和S S的原始數(shù)據(jù),它們之間的并、交、差和笛卡爾積運(yùn)算結(jié)果如的原始數(shù)據(jù),它們之間的并、交、差和笛卡爾積運(yùn)算結(jié)果如圖圖3-33-3所示。所示。3.4 關(guān)系代數(shù) 3.4.2 3.4.2 專門的關(guān)系運(yùn)算專門的關(guān)系運(yùn)算專門的關(guān)系運(yùn)算包括選擇、投影、連接和除法運(yùn)算。為了敘述方便先引入幾個(gè)記專門的關(guān)系運(yùn)算包括選擇、投影、連接和除法運(yùn)算。為了敘述方便先引入幾個(gè)記號(hào)。號(hào)。(1)(1)設(shè)關(guān)系模式為設(shè)關(guān)系模式為R(A1R(A1,A2A2,An),An),它的一個(gè)關(guān)系設(shè)為它的一個(gè)關(guān)系設(shè)為R R。表示。表示t t是是R R的一個(gè)元組。的一個(gè)元組。tAitAi則表示元組則表示元組t t中相對(duì)于屬性中相對(duì)于屬性AiAi的一個(gè)分量。的一個(gè)分量。(2)(2)若若A=Ai1A=Ai1,Ai2Ai2,AikAik,其中,其中Ai1Ai1,Ai2Ai2,AikAik是是A1A1,A2A2,AnAn中的中的一部分,則一部分,則A A稱為屬性列或?qū)傩越M,稱為屬性列或?qū)傩越M,tA=tAi1 tA=tAi1,tAi2 tAi2,tAiktAik表表示元組示元組t t在屬性列在屬性列A A上諸分量的集合。則表示上諸分量的集合。則表示A1A1,A2A2,AnAn中去掉中去掉Ai1Ai1,Ai2Ai2,AikAik后剩余的屬性組。后剩余的屬性組。(3)(3)設(shè)設(shè)R R為為n n目關(guān)系,目關(guān)系,S S為為m m目關(guān)系,且目關(guān)系,且R R,S S,稱為元組的連接,稱為元組的連接(Concatenation)(Concatenation)。它。它是一個(gè)是一個(gè)n+mn+m列的元組,前列的元組,前n n個(gè)分量為個(gè)分量為R R中的一個(gè)中的一個(gè)n n元組,后元組,后m m個(gè)分量為個(gè)分量為S S中的一個(gè)中的一個(gè)m m元元組組(4)(4)給定一個(gè)關(guān)系給定一個(gè)關(guān)系R(XR(X,Z)Z),X X和和Z Z為屬性組。定義當(dāng)為屬性組。定義當(dāng)tX=xtX=x時(shí),時(shí),x x在在R R中的像集中的像集(Images Set)(Images Set)為:為:它表示,它表示,x x在在R R中的像集為中的像集為R R中中Z Z屬性對(duì)應(yīng)分量的集合,而這些分量所對(duì)應(yīng)的元組中屬性對(duì)應(yīng)分量的集合,而這些分量所對(duì)應(yīng)的元組中的屬性組的屬性組X X上的值為上的值為x x。3.4 關(guān)系代數(shù) 1.1.選擇選擇(Selection)(Selection)選擇運(yùn)算是一個(gè)單目運(yùn)算,它是在關(guān)系選擇運(yùn)算是一個(gè)單目運(yùn)算,它是在關(guān)系r r中查找滿足給定謂詞中查找滿足給定謂詞(即選擇條件即選擇條件)的所的所有元組,記作:有元組,記作:其中,其中,F(xiàn) F表示選擇條件,它是一個(gè)邏輯表達(dá)式,取邏輯值表示選擇條件,它是一個(gè)邏輯表達(dá)式,取邏輯值“真真”或或“假假”;F F由邏由邏輯運(yùn)算符輯運(yùn)算符(非非)、(與與)和和(或或)連接各條件表達(dá)式組成。連接各條件表達(dá)式組成。條件表達(dá)式的基本形式為:條件表達(dá)式的基本形式為:其中是比較運(yùn)算符,它可以是、。和是屬性名,或?yàn)槌A浚驗(yàn)楹?jiǎn)單函數(shù);屬性其中是比較運(yùn)算符,它可以是、。和是屬性名,或?yàn)槌A?,或?yàn)楹?jiǎn)單函數(shù);屬性名也可以用它的序號(hào)來(lái)代替。名也可以用它的序號(hào)來(lái)代替。例例 3-3 3-3 從關(guān)系從關(guān)系StudentStudent中選取所有的女生,其關(guān)系運(yùn)算表達(dá)式為中選取所有的女生,其關(guān)系運(yùn)算表達(dá)式為選擇結(jié)果關(guān)系如圖選擇結(jié)果關(guān)系如圖3-6(a)3-6(a)所示。所示。例例 3-4 3-4 從關(guān)系從關(guān)系StudentStudent中選取所有年齡為中選取所有年齡為2020的學(xué)生,其關(guān)系運(yùn)算表達(dá)式為的學(xué)生,其關(guān)系運(yùn)算表達(dá)式為選擇結(jié)果關(guān)系如圖選擇結(jié)果關(guān)系如圖3-6(b)3-6(b)所示。所示。3.4 關(guān)系代數(shù) 2.2.投影投影(Projection)(Projection)投影運(yùn)算也是一個(gè)單目運(yùn)算,它是從一個(gè)關(guān)系投影運(yùn)算也是一個(gè)單目運(yùn)算,它是從一個(gè)關(guān)系R R中選取所需要的列組成一個(gè)中選取所需要的列組成一個(gè)新關(guān)系,記作:新關(guān)系,記作:其中其中A A為為R R中的屬性列。投影操作是從列的角度進(jìn)行運(yùn)算的。中的屬性列。投影操作是從列的角度進(jìn)行運(yùn)算的。例例 3-5 3-5 查詢學(xué)生姓名及所在班級(jí),即求學(xué)生關(guān)系查詢學(xué)生姓名及所在班級(jí),即求學(xué)生關(guān)系StudentStudent中中Sname(Sname(姓名姓名)、class(class(班級(jí)號(hào)班級(jí)號(hào))兩個(gè)屬性的投影,其關(guān)系運(yùn)算表達(dá)式為:兩個(gè)屬性的投影,其關(guān)系運(yùn)算表達(dá)式為:投影結(jié)果關(guān)系如圖投影結(jié)果關(guān)系如圖3-7(a)3-7(a)所示。所示。例例 3-6 3-6 查詢學(xué)生關(guān)系查詢學(xué)生關(guān)系StudentStudent中都有哪些班級(jí),即查詢關(guān)系中都有哪些班級(jí),即查詢關(guān)系StudentStudent上所有上所有class(class(班級(jí)號(hào)班級(jí)號(hào))的投影。的投影。投影結(jié)果關(guān)系如圖投影結(jié)果關(guān)系如圖3-7(b)3-7(b)所示。所示。3.4 關(guān)系代數(shù) 3.3.連接連接(Join)(Join)連接運(yùn)算是一個(gè)二目運(yùn)算,它是從二個(gè)關(guān)系的笛卡兒積中選取滿足一定連接條件連接運(yùn)算是一個(gè)二目運(yùn)算,它是從二個(gè)關(guān)系的笛卡兒積中選取滿足一定連接條件的元組,記作:的元組,記作:其中其中A A和和B B分別為分別為R R和和S S上度數(shù)相同且可比的屬性組。是比較運(yùn)算符。連接運(yùn)算從上度數(shù)相同且可比的屬性組。是比較運(yùn)算符。連接運(yùn)算從R R和和S S的笛卡兒積的笛卡兒積RSRS中選取中選取R R關(guān)系在關(guān)系在A A屬性組上的值與屬性組上的值與S S關(guān)系在關(guān)系在B B屬性組上值滿足比較屬性組上值滿足比較關(guān)系的元組。關(guān)系的元組。連接運(yùn)算中有兩種最為重要、也最為常用的連接:一種是等值連接連接運(yùn)算中有兩種最為重要、也最為常用的連接:一種是等值連接(Equivalent(Equivalent join)join),另一種是自然連接,另一種是自然連接(Natural join)(Natural join)。當(dāng)為。當(dāng)為“=”=”時(shí),連接運(yùn)算稱為等值時(shí),連接運(yùn)算稱為等值連接。等值連接是從關(guān)系連接。等值連接是從關(guān)系R R和和S S的笛卡爾積中選取的笛卡爾積中選取A A和和B B屬性值相同的那些元組。屬性值相同的那些元組。等值連接表示為:等值連接表示為:一般的連接操作是從行的角度進(jìn)行運(yùn)算的,但自然連接還需要取消重復(fù)列,所一般的連接操作是從行的角度進(jìn)行運(yùn)算的,但自然連接還需要取消重復(fù)列,所以它是同時(shí)從行和列兩種角度進(jìn)行運(yùn)算的。以它是同時(shí)從行和列兩種角度進(jìn)行運(yùn)算的。3.4 關(guān)系代數(shù) 4.4.除運(yùn)算除運(yùn)算(Division)(Division)除法運(yùn)算是一個(gè)復(fù)合的二目運(yùn)算,如果把笛卡爾積看作除法運(yùn)算是一個(gè)復(fù)合的二目運(yùn)算,如果把笛卡爾積看作“乘法乘法”運(yùn)算,則除法運(yùn)運(yùn)算,則除法運(yùn)算可以看作這個(gè)算可以看作這個(gè)“乘法乘法”的逆運(yùn)算,故而稱它為除法運(yùn)算。的逆運(yùn)算,故而稱它為除法運(yùn)算。給定關(guān)系給定關(guān)系R(XR(X,Y)Y)和和S(YS(Y,Z)Z),其中,其中X X、Y Y、Z Z為屬性組。為屬性組。R R中的中的Y Y與與S S中的中的Y Y可以有不可以有不同的屬性名,但必須出自相同的域集。同的屬性名,但必須出自相同的域集。R R與與S S的除運(yùn)算得到一個(gè)新的關(guān)系的除運(yùn)算得到一個(gè)新的關(guān)系P(X)P(X),P P是是R R中滿足下列條件的元組在中滿足下列條件的元組在X X屬性列上的投影:元組在屬性列上的投影:元組在X X上的分量值上的分量值x x的像集的像集YXYX包含包含S S在在Y Y上投影的集合。記作上投影的集合。記作其中為其中為x x在在R R中的像集,中的像集,x=x=。顯然,除操作是同時(shí)從行和列的角度進(jìn)行運(yùn)算。顯然,除操作是同時(shí)從行和列的角度進(jìn)行運(yùn)算。根據(jù)關(guān)系運(yùn)算的除法定義,我們可以得出它的運(yùn)算步驟。根據(jù)關(guān)系運(yùn)算的除法定義,我們可以得出它的運(yùn)算步驟。將被除關(guān)系的屬性分為像集屬性和結(jié)果屬性兩部分;與除關(guān)系相同的屬性屬將被除關(guān)系的屬性分為像集屬性和結(jié)果屬性兩部分;與除關(guān)系相同的屬性屬于像集屬性;不相同的屬性屬于結(jié)果屬性。于像集屬性;不相同的屬性屬于結(jié)果屬性。在除關(guān)系中,對(duì)像集屬性投影,得到除目標(biāo)數(shù)據(jù)集。在除關(guān)系中,對(duì)像集屬性投影,得到除目標(biāo)數(shù)據(jù)集。將被除關(guān)系分組。分組原則是:結(jié)果屬性值一樣的元組分為一組。將被除關(guān)系分組。分組原則是:結(jié)果屬性值一樣的元組分為一組。逐一考察每個(gè)組,如果它的像集屬性值中包括目標(biāo)數(shù)據(jù)集,則對(duì)應(yīng)的結(jié)果屬逐一考察每個(gè)組,如果它的像集屬性值中包括目標(biāo)數(shù)據(jù)集,則對(duì)應(yīng)的結(jié)果屬性應(yīng)屬于該除法運(yùn)算結(jié)果集。性應(yīng)屬于該除法運(yùn)算結(jié)果集。主要內(nèi)容3.1 關(guān)系模型的基本概念15.3 概念數(shù)據(jù)模型設(shè)計(jì)15.4 物理數(shù)據(jù)模型設(shè)計(jì)15.2 PowerDesigner的安裝3.3 關(guān)系操作3.4 關(guān)系代數(shù)3.2 關(guān)系的完整性3.5 關(guān)系演算3.5 關(guān)系演算 3.5.1 3.5.1 元組關(guān)系演算元組關(guān)系演算在元組關(guān)系演算中,元組演算的表達(dá)式的一般形式為在元組關(guān)系演算中,元組演算的表達(dá)式的一般形式為其中,其中,t t為元組變量,是由原子公式和運(yùn)算符組成的公式。為元組變量,是由原子公式和運(yùn)算符組成的公式。1.1.原子公式原子公式元組演算中的原子公式包含下列元組演算中的原子公式包含下列3 3種形式:種形式:(1):R(1):R是關(guān)系名,是關(guān)系名,t t是元組變量;該公式表示是元組變量;該公式表示t t是關(guān)系是關(guān)系R R的元組。的元組。(2):t(2):t和和u u是元組變量,是算術(shù)比較符;該公式表示元組的第一個(gè)分量與是元組變量,是算術(shù)比較符;該公式表示元組的第一個(gè)分量與元組的第個(gè)分量之間滿足運(yùn)算。例如,元組的第個(gè)分量之間滿足運(yùn)算。例如,t1u2t1 算術(shù)比較算術(shù)比較 存在量詞、全存在量詞、全稱量詞稱量詞 邏輯非、與、或。邏輯非、與、或。域關(guān)系演算公式是有限次應(yīng)用上述規(guī)則的公式,其他公式不是域關(guān)系演算公域關(guān)系演算公式是有限次應(yīng)用上述規(guī)則的公式,其他公式不是域關(guān)系演算公式。式。3.3.元組演算表達(dá)式到域演算表達(dá)式的轉(zhuǎn)換元組演算表達(dá)式到域演算表達(dá)式的轉(zhuǎn)換元組演算表達(dá)式到域演算表達(dá)式的轉(zhuǎn)換規(guī)則如下:元組演算表達(dá)式到域演算表達(dá)式的轉(zhuǎn)換規(guī)則如下:(1)(1)對(duì)于對(duì)于k k元的元組變量元的元組變量t t,可引入,可引入k k個(gè)域變量個(gè)域變量t1tkt1tk,在公式中,在公式中t t用用t1tkt1tk替換,替換,元組分量元組分量titi用用titi替換。替換。(2)(2)對(duì)于每個(gè)量詞對(duì)于每個(gè)量詞(u)(u)或或(u)(u),若,若u u是是m m元的元組變量,則引入元的元組變量,則引入m m個(gè)新的域變量個(gè)新的域變量u1umu1um。在量詞的轄域內(nèi),。在量詞的轄域內(nèi),u u用用u1umu1um替換,替換,uiui用用uiui替換,替換,(u)(u)用用(u1)(u1)(um)um)替換,替換,(u)(u)用用(u1)(um)(u1)(um)替換。替換。本章小結(jié)關(guān)關(guān)系系數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)系系統(tǒng)統(tǒng)是是本本書書的的重重點(diǎn)點(diǎn)。這這是是因因?yàn)闉殛P(guān)關(guān)系系數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)系系統(tǒng)統(tǒng)是是目目前前使使用用最最廣廣泛泛的的數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)系系統(tǒng)統(tǒng),它它與與非非關(guān)關(guān)系系數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)系系統(tǒng)統(tǒng)的的區(qū)區(qū)別別是是,關(guān)關(guān)系系系系統(tǒng)統(tǒng)只只有有“表表”這這一一種種數(shù)數(shù)據(jù)據(jù)結(jié)結(jié)構(gòu)構(gòu);而而非非關(guān)關(guān)系系數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)系系統(tǒng)統(tǒng)還還有有其其它它數(shù)數(shù)據(jù)據(jù)結(jié)結(jié)構(gòu)構(gòu),以以及及對(duì)對(duì)這這些些數(shù)數(shù)據(jù)據(jù)結(jié)構(gòu)的操作。結(jié)構(gòu)的操作。本本章章系系統(tǒng)統(tǒng)介介紹紹了了關(guān)關(guān)系系數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)的的相相關(guān)關(guān)概概念念,包包括括關(guān)關(guān)系系模模型型的的數(shù)數(shù)據(jù)據(jù)結(jié)結(jié)構(gòu)構(gòu),關(guān)關(guān)系系操操作作及及關(guān)關(guān)系系的的三三類類完完整整性性約約束束,從從具具體體到到抽抽象象,介介紹紹了了用用關(guān)關(guān)系系代代數(shù)數(shù)方方式式和和邏邏輯方式來(lái)表達(dá)的關(guān)系語(yǔ)言即關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)系演算等。輯方式來(lái)表達(dá)的關(guān)系語(yǔ)言即關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)系演算等。思 考 練 習(xí)l(1)(1)試述關(guān)系模型的三個(gè)組成部分。試述關(guān)系模型的三個(gè)組成部分。l(2)(2)解釋下列術(shù)語(yǔ)的含義:解釋下列術(shù)語(yǔ)的含義:l 笛卡爾積;笛卡爾積;主碼;主碼;候選碼;候選碼;外碼;外碼;關(guān)系;關(guān)系;關(guān)系模式;關(guān)系模式;關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)l(3)(3)關(guān)系數(shù)據(jù)庫(kù)的三個(gè)完整性約束是什么?各是什么含義?關(guān)系數(shù)據(jù)庫(kù)的三個(gè)完整性約束是什么?各是什么含義?l(4)(4)連接運(yùn)算有哪些?等值連接和自然連接的區(qū)別是什么?連接運(yùn)算有哪些?等值連接和自然連接的區(qū)別是什么?l(5)(5)對(duì)參與并、交、差運(yùn)算的兩個(gè)關(guān)系對(duì)參與并、交、差運(yùn)算的兩個(gè)關(guān)系R R、S S有什么要求?有什么要求?l(6)(6)關(guān)系代數(shù)運(yùn)算分為哪兩大類?說(shuō)明每種運(yùn)算的操作含義。關(guān)系代數(shù)運(yùn)算分為哪兩大類?說(shuō)明每種運(yùn)算的操作含義。
收藏
編號(hào):48760729
類型:共享資源
大?。?span id="ievbyqtbdd" class="font-tahoma">10.02MB
格式:ZIP
上傳時(shí)間:2022-01-14
30
積分
- 關(guān) 鍵 詞:
-
數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用
數(shù)據(jù)庫(kù)技術(shù)
應(yīng)用
電子
課件
- 資源描述:
-
《數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用》電子課件,數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用,數(shù)據(jù)庫(kù)技術(shù),應(yīng)用,電子,課件
展開閱讀全文
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請(qǐng)勿作他用。