




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)模型第2章教學(xué)目標(biāo)理解數(shù)據(jù)模型的基本概念01掌握E-R模型的概念和原理02掌握關(guān)系模型的概念和原理03掌握關(guān)系代數(shù)運(yùn)算規(guī)則,能夠進(jìn)行簡(jiǎn)單關(guān)系運(yùn)算04§2.1數(shù)據(jù)模型概述模型,尤其是具體的模型,對(duì)我們來說并不陌生。一個(gè)建筑設(shè)計(jì)沙盤,一張地圖,一個(gè)精致汽車模型等,都是具體模型,看到這些模型就會(huì)聯(lián)想到現(xiàn)實(shí)生活中相關(guān)事物。數(shù)據(jù)模型也是一種模型,它是對(duì)現(xiàn)實(shí)生活中數(shù)據(jù)特征的抽象。計(jì)算機(jī)是處理數(shù)據(jù)的主要工具,但是計(jì)算機(jī)不能對(duì)現(xiàn)實(shí)世界事物進(jìn)行直接處理,需要將現(xiàn)實(shí)世界轉(zhuǎn)換成計(jì)算機(jī)世界。這個(gè)過程可以分兩步實(shí)現(xiàn),面向不同對(duì)象和應(yīng)用分別用到了以下兩種數(shù)據(jù)模型:概念模型和組織模型。
現(xiàn)實(shí)世界信息世界機(jī)器世界抽象轉(zhuǎn)換概念模型組織模型§2.1數(shù)據(jù)模型概述2.1.1概念模型概念模型又稱為信息模型,它通過對(duì)現(xiàn)實(shí)世界中的事物及事物之間的聯(lián)系進(jìn)行模擬和抽象。概念模型按照用戶的觀點(diǎn)對(duì)數(shù)據(jù)和信息建模,是數(shù)據(jù)庫開發(fā)人員與用戶進(jìn)行交流之后對(duì)現(xiàn)實(shí)世界認(rèn)識(shí)結(jié)果的體現(xiàn)。概念模型的表示方法有很多,其中最常用的是實(shí)體-聯(lián)系(Entity-Relationship)方法,用這種方法創(chuàng)建的概念模型稱為E-R模型。E-R模型將現(xiàn)實(shí)世界抽象為實(shí)體與實(shí)體之間的聯(lián)系,共包含三部分內(nèi)容:實(shí)體(Entity)、屬性(Attribute)和聯(lián)系(Relationship)。§2.1數(shù)據(jù)模型概述2.1.1概念模型概念模型所表達(dá)的信息世界中的基本概念:1)實(shí)體??陀^世界中存在的可互相區(qū)分的客觀對(duì)象或抽象概念。實(shí)體可以是具體的人、事或者物,也可以是抽象的概念或聯(lián)系。如:一位客戶、一名學(xué)生、一種商品、學(xué)生的一次選課、客戶的一次訂單等都可以用實(shí)體表達(dá)。2)實(shí)體集。同一類型實(shí)體的集合稱為實(shí)體集。例如,全體客戶和全體商品都是實(shí)體集。3)屬性。實(shí)體特征的抽象稱為屬性。實(shí)體需要使用屬性進(jìn)行刻畫。例如,可以通過“編號(hào)”、“姓名”、“電話”和“注冊(cè)日期”等屬性刻畫客戶實(shí)體。4)碼。能夠唯一標(biāo)識(shí)實(shí)體的一個(gè)(組)屬性,稱為實(shí)體集的碼。在客戶實(shí)體中,每一位客戶都有一個(gè)編號(hào),如果編號(hào)不同則客戶也不相同,因此編號(hào)能夠唯一標(biāo)識(shí)客戶,編號(hào)就是客戶實(shí)體集的碼?!?.1數(shù)據(jù)模型概述2.1.1概念模型5)實(shí)體型。用實(shí)體名及描述實(shí)體的屬性的集合來抽象和描述同類實(shí)體稱為實(shí)體型。如:客戶(編號(hào),姓名,電話,注冊(cè)日期)就是一個(gè)實(shí)體型6)聯(lián)系。實(shí)體集之間的關(guān)聯(lián)稱為聯(lián)系?,F(xiàn)實(shí)世界事物之間是有關(guān)聯(lián)的,這些關(guān)聯(lián)在信息世界中反映為實(shí)體集(或?qū)嶓w型)之間的聯(lián)系。實(shí)體集之間的聯(lián)系類型分為:一對(duì)一的聯(lián)系,如班長(zhǎng)和班級(jí)之間的聯(lián)系;一對(duì)多的聯(lián)系,如客戶和訂單之間的聯(lián)系;多對(duì)多的聯(lián)系,如客戶和商品之間的聯(lián)系?!?.1數(shù)據(jù)模型概述2.1.2組織模型可以通過組織模型實(shí)現(xiàn)從信息世界到機(jī)器世界的轉(zhuǎn)換。組織模型是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模。在數(shù)據(jù)庫理論研究和應(yīng)用實(shí)踐中,先后出現(xiàn)的組織模型主要有:1. 層次模型層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型。它采用樹形結(jié)構(gòu)來表示實(shí)體及實(shí)體之間的聯(lián)系。這種結(jié)構(gòu)方式在現(xiàn)實(shí)世界中普遍存在,如單位組織結(jié)構(gòu)、家族結(jié)構(gòu)等。§2.1數(shù)據(jù)模型概述2.1.2組織模型層次模型特點(diǎn):整個(gè)模型中有且僅有一個(gè)節(jié)點(diǎn)沒有父節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)稱為樹的根節(jié)點(diǎn)。其余的節(jié)點(diǎn)必須有且僅有一個(gè)父節(jié)點(diǎn)。層次模型的數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、清晰,基于層次模型的數(shù)據(jù)庫查詢效率也很高。但是現(xiàn)實(shí)世界中,有很多聯(lián)系是非層次性的。例如,當(dāng)節(jié)點(diǎn)之間是多對(duì)多的聯(lián)系時(shí),就不適合用層次模型來表達(dá);層次模型只能表達(dá)一對(duì)一或者一對(duì)多的聯(lián)系?!?.1數(shù)據(jù)模型概述2.1.2組織模型2.網(wǎng)狀模型對(duì)于現(xiàn)實(shí)世界事物間非層次性多對(duì)多的聯(lián)系,網(wǎng)狀模型可以描述。用圖的結(jié)構(gòu)表示實(shí)體和實(shí)體之間聯(lián)系的組織模型稱為網(wǎng)狀模型。網(wǎng)狀模型中節(jié)點(diǎn)之間的對(duì)應(yīng)聯(lián)系不再是一對(duì)一或者是一對(duì)多,而是多對(duì)多的聯(lián)系。下圖是使用網(wǎng)狀模型描述的某大學(xué)學(xué)院組織結(jié)構(gòu)圖。§2.1數(shù)據(jù)模型概述2.1.2組織模型3.關(guān)系模型所有的組織模型中,最具有里程碑意義的是關(guān)系模型。在關(guān)系模型中,實(shí)體集和實(shí)體集之間的聯(lián)系用二維表來表達(dá),列代表實(shí)體的屬性,行代表每一個(gè)實(shí)體具體的數(shù)據(jù)。關(guān)系模型結(jié)構(gòu)清晰,易于理解,解決了層次模型和網(wǎng)狀模型的弊病。例如網(wǎng)絡(luò)購物系統(tǒng)中,客戶實(shí)體集就可以用客戶表customers表示,客戶購買商品產(chǎn)生的訂單用訂單表orders表示?!?.1數(shù)據(jù)模型概述2.1.2組織模型客戶表customers訂單表orders商品表items§2.1數(shù)據(jù)模型概述2.1.2組織模型關(guān)系模型是目前最常見的一種組織模型。現(xiàn)在使用的數(shù)據(jù)庫系統(tǒng)幾乎都支持關(guān)系模型,非關(guān)系數(shù)據(jù)庫管理系統(tǒng)也大都加上了關(guān)系接口。§2.2關(guān)系模型2.1.2組織模型1970年,美國IBM公司SanJose研究室的研究員E.F.Codd首次提出了數(shù)據(jù)庫系統(tǒng)的關(guān)系模型,開創(chuàng)了數(shù)據(jù)庫關(guān)系方法和關(guān)系數(shù)據(jù)理論的研究。關(guān)系模型有相應(yīng)的數(shù)學(xué)理論支撐,它以二維表的形式來表達(dá)數(shù)據(jù)的邏輯結(jié)構(gòu)。采用關(guān)系模型的數(shù)據(jù)庫管理系統(tǒng)稱為關(guān)系數(shù)據(jù)庫管理系統(tǒng),著名的關(guān)系數(shù)據(jù)庫管理系統(tǒng)有Oracle、MySQL、SQLServer、PostgreSQL等?!?.2關(guān)系模型1970年,美國IBM公司SanJose研究室的研究員E.F.Codd首次提出了數(shù)據(jù)庫系統(tǒng)的關(guān)系模型,開創(chuàng)了數(shù)據(jù)庫關(guān)系方法和關(guān)系數(shù)據(jù)理論的研究。關(guān)系模型有相應(yīng)的數(shù)學(xué)理論支撐,它以二維表的形式來表達(dá)數(shù)據(jù)的邏輯結(jié)構(gòu)。采用關(guān)系模型的數(shù)據(jù)庫管理系統(tǒng)稱為關(guān)系數(shù)據(jù)庫管理系統(tǒng),著名的關(guān)系數(shù)據(jù)庫管理系統(tǒng)有Oracle、MySQL、SQLServer、PostgreSQL等。關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作和關(guān)系完整性約束三部分組成。2.1.2組織模型§2.2關(guān)系模型關(guān)系數(shù)據(jù)結(jié)構(gòu)是指關(guān)系模型的邏輯結(jié)構(gòu)。關(guān)系模型由一組關(guān)系組成,每個(gè)關(guān)系的數(shù)據(jù)結(jié)構(gòu)是一張二維表。下面以網(wǎng)絡(luò)購物系統(tǒng)為例,介紹關(guān)系模型的一些術(shù)語。1)關(guān)系關(guān)系是具有相同屬性集的元組的集合。一個(gè)關(guān)系對(duì)應(yīng)一張二維表,如表2.1customers就是一個(gè)關(guān)系。2)關(guān)系模式對(duì)關(guān)系的邏輯結(jié)構(gòu)和特征的描述稱為關(guān)系模式。設(shè)某關(guān)系名為R,其屬性分別為A1、A2、···An,則關(guān)系可以描述為R(A1,A2,···,An),如表2.1所示:customers(customer_id,name,gender,registration_date,phone)就是一個(gè)關(guān)系模式。2.2.1關(guān)系數(shù)據(jù)結(jié)構(gòu)§2.2關(guān)系模型關(guān)系實(shí)際上就是關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容。關(guān)系模式是穩(wěn)定的,而關(guān)系是動(dòng)態(tài)的。在實(shí)際生活中,常常把關(guān)系模式和關(guān)系統(tǒng)稱為關(guān)系,讀者可以從上下文中加以區(qū)別。3)元組表中的一行稱為一個(gè)元組,也稱為一條記錄,它描述的是實(shí)體集中的一個(gè)實(shí)體。例如表2.1中('101'
,'薛為民','男','2012-12-27','16800001111')就是一個(gè)元組,它描述的是薛為民這個(gè)實(shí)體。4)屬性二維表中的一列即為一個(gè)屬性,也稱為一個(gè)字段。如表2.1所示,關(guān)系customers共有5個(gè)屬性,即:customer_id、name、gender、registration_date、phone。屬性的個(gè)數(shù)稱為關(guān)系的元或度。每一列中具體的數(shù)據(jù)稱為屬性值。2.2.1關(guān)系數(shù)據(jù)結(jié)構(gòu)§2.2關(guān)系模型5)域一組具有相同數(shù)據(jù)類型的值的集合。例如:整數(shù)、日期、{'男','女'}、大于等于0且小于等于100的整數(shù)等都是域。6)候選鍵一個(gè)關(guān)系中,能夠唯一標(biāo)識(shí)一個(gè)元組的屬性(集)稱為候選鍵,又稱為候選碼。一個(gè)關(guān)系中可以有多個(gè)候選鍵。訂單表orders中的order_id值不同,對(duì)應(yīng)的購買記錄也就不同,它能夠唯一標(biāo)識(shí)一條購買記錄,所以它是該關(guān)系的一個(gè)候選鍵。同時(shí),如果知道了客戶編號(hào)、商品編號(hào)和訂單日期,也能夠確定一條訂單記錄。因此,屬性(customer_id,item_id,order_date)也能夠唯一標(biāo)識(shí)orders的一個(gè)元組,它也是該關(guān)系的一個(gè)候選鍵。2.2.1關(guān)系數(shù)據(jù)結(jié)構(gòu)§2.2關(guān)系模型7)主鍵被選為元組標(biāo)識(shí)的一個(gè)候選鍵稱為主鍵,也稱為主碼。每個(gè)表只能有一個(gè)主鍵,且主鍵不能為空。在訂單表orders中,可以指定order_id為主鍵,也可以根據(jù)情況指定(customer_id,item_id,order_date)作為該關(guān)系的一個(gè)主鍵,但不可以同時(shí)指定多個(gè)主鍵。2.2.1關(guān)系數(shù)據(jù)結(jié)構(gòu)§2.2關(guān)系模型關(guān)系模型使用二維表表達(dá)數(shù)據(jù)的邏輯結(jié)構(gòu),我們可以根據(jù)需求從一張二維表中獲取某些元組和列的內(nèi)容,也可以利用二維表之間的聯(lián)系,從兩張或多張二維表中獲取相關(guān)元組和列的內(nèi)容,也可以在表中增加、修改、刪除一些內(nèi)容,這些操作都是基于關(guān)系模型的關(guān)系操作。關(guān)系操作整體上可分為查詢操作和更新操作兩類。查詢操作是關(guān)系操作的最重要的部分,可以細(xì)分為選擇、投影、連接、并、交、差、笛卡爾積等。更新操作包括插入、刪除、修改等。2.2.2關(guān)系操作§2.2關(guān)系模型關(guān)系操作的對(duì)象是一張張二維表,操作之后的結(jié)果也是以二維表的形式進(jìn)行表達(dá),因此,關(guān)系的操作對(duì)象和操作結(jié)果都是關(guān)系的集合。集合操作方式是關(guān)系操作的特點(diǎn)。早期的關(guān)系操作通過關(guān)系代數(shù)和關(guān)系演算實(shí)現(xiàn)。關(guān)系代數(shù)與關(guān)系演算之間,還有一種結(jié)構(gòu)化查詢語言(StructuredQueryLanguage,SQL)。SQL是一種高級(jí)的非過程化語言。它不要求用戶指定對(duì)數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,這些都由數(shù)據(jù)庫管理系統(tǒng)優(yōu)化機(jī)制來完成。2.2.2關(guān)系操作§2.2關(guān)系模型為了防止不符合規(guī)范的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫,確保數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)正確、有效、相容,關(guān)系模型必須滿足關(guān)系的完整性約束條件。完整性約束條件主要包括:實(shí)體完整性、參照完整性和用戶定義完整性。1. 實(shí)體完整性實(shí)體完整性規(guī)定關(guān)系數(shù)據(jù)庫中所有的表都必須有主鍵,并且主鍵值不允許為空,也不能存在重復(fù)值。這樣可以保證關(guān)系中每一個(gè)元組都能夠唯一標(biāo)識(shí)。下面?zhèn)z表都不符合實(shí)體完整性約束。2.2.2完整性約束§2.2關(guān)系模型2.2.2完整性約束存在主鍵值為空的關(guān)系表存在主鍵值重復(fù)的關(guān)系表§2.2關(guān)系模型2.2.2完整性約束具備實(shí)體完整性的關(guān)系表§2.2關(guān)系模型2.參照完整性參照完整性也稱為引用完整性。信息世界中,實(shí)體之間存在一定的聯(lián)系,因此關(guān)系模型中自然就存在著關(guān)系表之間數(shù)據(jù)的參照和引用。例如,items和orders關(guān)系可以用以下關(guān)系模式表示:items(item_id,item_name,category,cost,priceinventory,is_online)orders(order_id,customer_id,item_id,address,city,order_date,shipping_date)2.2.2完整性約束§2.2關(guān)系模型這兩個(gè)關(guān)系模式之間存在著屬性的引用,其中,orders引用items中的item_id屬性描述了商品的銷售情況。因此,關(guān)系orders中的item_id的值要么為空,要么必須是在items中的item_id屬性中確實(shí)存在的值。這種限制一個(gè)關(guān)系中某屬性的取值受另外一個(gè)關(guān)系中某屬性的取值范圍約束的情況就稱為參照完整性。參照完整性可以通過定義外鍵來實(shí)現(xiàn)。2.2.2完整性約束§2.2關(guān)系模型外鍵:設(shè)P是關(guān)系R的一個(gè)或一組屬性,如果P與關(guān)系S的主鍵(屬性L)相對(duì)應(yīng),則稱P是關(guān)系R的外鍵,并稱R為參照關(guān)系,S為被參照關(guān)系(關(guān)系中的主鍵用橫線進(jìn)行了標(biāo)注)。2.2.2完整性約束外鍵應(yīng)該滿足如下條件:或者值為空?;蛘咧蹬c被參照關(guān)系中的對(duì)應(yīng)的主鍵值相同?!?.2關(guān)系模型3.用戶定義完整性不同的關(guān)系數(shù)據(jù)庫應(yīng)用系統(tǒng)根據(jù)其應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性即是針對(duì)某個(gè)關(guān)系數(shù)據(jù)庫的特定約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。例如:商品實(shí)體中,商品數(shù)量數(shù)據(jù)類型應(yīng)為整型,商品購買折扣取值范圍介于0和1之間,客戶注冊(cè)時(shí)間為當(dāng)前日期,客戶的性別取值應(yīng)為“男”或者“女”等。2.2.2完整性約束關(guān)系模型是以關(guān)系代數(shù)為基礎(chǔ)構(gòu)造的數(shù)據(jù)模型。關(guān)系代數(shù)通過對(duì)關(guān)系的運(yùn)算表達(dá)查詢,是一種抽象的查詢語言。運(yùn)算對(duì)象、運(yùn)算符和運(yùn)算結(jié)果是運(yùn)算的三大要素。關(guān)系運(yùn)算的運(yùn)算對(duì)象是一個(gè)個(gè)關(guān)系,運(yùn)算的結(jié)果也是以關(guān)系的形式呈現(xiàn)。關(guān)系代數(shù)的運(yùn)算符整體上可以分為兩類。根據(jù)運(yùn)算符的不同。
關(guān)系代數(shù)可以分為傳統(tǒng)的集合運(yùn)算和專門的關(guān)系運(yùn)算兩類?!?.3關(guān)系代數(shù)傳統(tǒng)的集合運(yùn)算包括并、交、差、笛卡爾積等四種運(yùn)算。設(shè)關(guān)系R和關(guān)系S具有相同的目n(即兩個(gè)關(guān)系都有n個(gè)屬性),且相應(yīng)的屬性取自同一個(gè)域,t是元組變量,t∈R表示t是R的一個(gè)元組。1.并關(guān)系R與關(guān)系S的并記作:R∪S={t|t∈R∨t∈S}∨:析取符,表示邏輯“或”。與運(yùn)算結(jié)果仍是n目關(guān)系,由屬于R或者S的元組組成?!?.3關(guān)系代數(shù)2.3.1傳統(tǒng)的集合運(yùn)算例:customers_a與customers_b兩個(gè)關(guān)系的并運(yùn)算結(jié)果?!?.3關(guān)系代數(shù)2.3.1傳統(tǒng)的集合運(yùn)算customers_acustomers_bcustomer_a∪customers_b
2.差關(guān)系R與關(guān)系S的差記作:R-S={t|t∈R∧t?S}∧合取符,表示邏輯“與”。差運(yùn)算結(jié)果仍為n目關(guān)系,由屬于R而不屬于S的元組組成。下表顯示了customers_a與表customers_b兩個(gè)關(guān)系的差運(yùn)算結(jié)果?!?.3關(guān)系代數(shù)2.3.1傳統(tǒng)的集合運(yùn)算例:customers_a與customers_b兩個(gè)關(guān)系的差運(yùn)算結(jié)果?!?.3關(guān)系代數(shù)2.3.1傳統(tǒng)的集合運(yùn)算customers_acustomers_bcustomer_a-customers_b
3.交關(guān)系R與關(guān)系S的交記作:R∩S={t|t∈R∧t∈S}其結(jié)果關(guān)系仍為n目關(guān)系,由既屬于R又屬于S的元組組成。下表顯示了customers_a與表customers_b兩個(gè)關(guān)系的交運(yùn)算結(jié)果?!?.3關(guān)系代數(shù)2.3.1傳統(tǒng)的集合運(yùn)算例:customers_a與customers_b兩個(gè)關(guān)系的交運(yùn)算結(jié)果?!?.3關(guān)系代數(shù)2.3.1傳統(tǒng)的集合運(yùn)算customers_acustomers_bcustomer_a∩customers_b⒋.笛卡爾積兩個(gè)分別為m目和n目的關(guān)系R和S的笛卡爾積是一個(gè)(m+n)列的元組集合。元組的前n列是關(guān)系R的一個(gè)元組,后m列是關(guān)系S的一個(gè)元組。若R有k1個(gè)元組,S有k2個(gè)元組,則關(guān)系R和關(guān)系S的笛卡爾積有k1×k2個(gè)元組,記作:R×S={trts|tr∈R∧ts∈S}trts:元組tr與ts的連接,下圖為笛卡爾積的操作示意圖?!?.3關(guān)系代數(shù)2.3.1傳統(tǒng)的集合運(yùn)算例:R與S兩個(gè)關(guān)系的笛卡爾積運(yùn)算結(jié)果?!?.3關(guān)系代數(shù)2.3.1傳統(tǒng)的集合運(yùn)算×RSR×S專門的關(guān)系運(yùn)算包括選擇、投影、連接等。其中,選擇和投影為一元操作,而連接為二元操作。為了敘述方便先介紹幾個(gè)符號(hào):1)設(shè)關(guān)系模式R(A1,A2,…An),它的一個(gè)關(guān)系為R,t∈R表示t是R的一個(gè)元組。t[Ai]表示元組t中相應(yīng)于屬性Ai的一個(gè)分量。
2)R和S分別為n目和m目關(guān)系,tr∈R,ts∈S,trts稱為元組的連接或元組的串接。它是一個(gè)n+m列的元組,前n個(gè)分量為R的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組?!?.3關(guān)系代數(shù)
2.3.2專門的關(guān)系運(yùn)算1.選擇選擇又稱為限制,它是在關(guān)系R中選出滿足給定條件的某些元組,形成一個(gè)新的關(guān)系。選擇運(yùn)算記作:σF(R)={t|t∈R∧F(t)='真'}其中,F(xiàn)表示選擇條件,它是一個(gè)條件表達(dá)式,取邏輯值為“真”或“假”。選擇運(yùn)算實(shí)際上是從R中選取使條件表達(dá)式F值為真的元組,它是從行的角度進(jìn)行的運(yùn)算?!?.3關(guān)系代數(shù)
2.3.2專門的關(guān)系運(yùn)算例:查詢姓名為“劉麗梅”的客戶信息。σname=‘劉麗梅’(customers)§2.3關(guān)系代數(shù)2.3.2專門的關(guān)系運(yùn)算customers
運(yùn)算結(jié)果2.投影投影是在關(guān)系R上選擇某些列,形成一個(gè)新的關(guān)系。投影運(yùn)算記作:ΠA(R)={t[A]|t∈R}Π是投影運(yùn)算符,A為R中的屬性列,它是被投影的屬性或?qū)傩越M,t[A]表示t這個(gè)元組中對(duì)應(yīng)屬性(集)A的分量。投影實(shí)際上是從R中選取屬性列A組成新的關(guān)系,它從列的角度進(jìn)行的運(yùn)算?!?.3關(guān)系代數(shù)
2.3.2專門的關(guān)系運(yùn)算例:查詢表order中客戶的編號(hào)和城市。
Πcustomer_id,city(orders)§2.3關(guān)系代數(shù)2.3.2專門的關(guān)系運(yùn)算
orders
運(yùn)算結(jié)果為什么是2行數(shù)據(jù),而不是3行?3.連接連接也稱為θ連接,它是從兩個(gè)關(guān)系笛卡兒積中選取屬性間滿足一定條件元組。記作:
其中A和B分別為R和S上列數(shù)相等且可比的屬性組,θ是比較運(yùn)算符。連接運(yùn)算是從R和S的笛卡兒積R×S中選取R關(guān)系在A屬性組上的值與S關(guān)系在B屬性組上的值滿足比較關(guān)系θ的元組。連接運(yùn)算中有兩種最為重要也最為常用的連接:等值連接和自然連接?!?.3關(guān)系代數(shù)
2.3.2專門的關(guān)系運(yùn)算當(dāng)θ為“=”時(shí)的連接稱為等值連接,它是從關(guān)系R與S的笛卡兒積中選取A和B屬性值相等的那些元組,等值連接為:自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是同名的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,即若R和S具有相同的屬性組B,則自然連接可記作:
§2.3關(guān)系代數(shù)
2.3.2專門的關(guān)系運(yùn)算例:對(duì)customers和orders,分別進(jìn)行等值連接和自然連接運(yùn)算?!?.3關(guān)系代數(shù)2.3.2專門的關(guān)系運(yùn)算customers
等值連接運(yùn)算結(jié)果
orderscustomer_idnamegenderregistration_datephoneorder_idcustomer_iditem_idcityorder_dateshipping_date101薛為民男2012-01-09168000011111101b001北京市2019-12-3112:10:202020-1-110:29:35101薛為民男2012-01-09168000011113101b002北京市2019-03-2512:10:29NULL105Adrian男2017-11-10168666677772105f001天津市2018-9-818:00:022018-9-1016:40:26§2.3關(guān)系代數(shù)2.3.2專門的關(guān)系運(yùn)算customers
自然連接運(yùn)算結(jié)果
orderscustomer_idnamegenderregistration_datephoneorder_iditem_idcityorder_dateshipping_date101薛為民男2012-01-09168000011111b001北京市2019-12-3112:10:202020-1-110:29:35101薛為民男2012-01-09168000011113b002北京市2019-03-2512:10:29NULL105Adrian男2017-11-10168666677772f001天津市2018-9-818:00:022018-9-1016:40:26以上介紹的連接運(yùn)算,兩個(gè)表中只有連接字段值相匹配的行才能出現(xiàn)在結(jié)果集中。此外,還有一種特殊的連接,稱為外連接,在外連接中可以只限制一個(gè)表,而對(duì)另外一個(gè)表不加限制(所有的行都出現(xiàn)在結(jié)果集中)。外連接分為左外連接、右外連接。1.左外連接是對(duì)連接條件中左邊的表不加限制,即在結(jié)果集中保留連接表達(dá)式左表中的所有記錄。右表中與左表不匹配的字段值為NULL。2.右外連接是對(duì)連接條件中右邊的表不加限制即在結(jié)果集中保留連接表達(dá)式右表中的所有記錄。左表中與右表不匹配的字段值為NULL?!?.3關(guān)系代數(shù)
2.3.2專門的關(guān)系運(yùn)算例:查詢所有客戶購物情況??梢酝ㄟ^表customers與表orders進(jìn)行左外連接實(shí)現(xiàn)§2.3關(guān)系代數(shù)
customers
左外連接運(yùn)算結(jié)果
orderscustomer_idnamegenderregistration_datephoneorder_iditem_idcityorder_dateshipping_date101薛為民男2012-01-09168000011111b001北京市2019-12-3112:10:202020-1-110:29:35101薛為民男2012-01-0916800001
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《貴州豐采能源開發(fā)有限公司織金縣珠藏鎮(zhèn)宏發(fā)煤礦(變更)礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評(píng)審意見
- 統(tǒng)編版小學(xué)語文二年級(jí)下冊(cè)第4課《鄧小平爺爺植樹》精美課件
- 近視手術(shù)后護(hù)理
- 2025年呼和浩特a2貨運(yùn)從業(yè)資格證模擬考試
- 2025年石家莊從業(yè)資格貨運(yùn)資格考試題庫答案解析
- 2025年萍鄉(xiāng)經(jīng)營性道路客貨運(yùn)輸駕駛員從業(yè)資格考試
- 2025年唐山貨運(yùn)從業(yè)資格證考試題及答案
- 2025年銀川貨運(yùn)上崗證考試題
- 治酒工藝知識(shí)培訓(xùn)課件
- 四川省瀘州市2024-2025學(xué)年高一上學(xué)期期末考試歷史試題(解析版)
- 參與感(小米口碑營銷內(nèi)部手冊(cè))
- 2024年蘇州市職業(yè)大學(xué)單招職業(yè)適應(yīng)性測(cè)試題庫各版本
- DZ∕T 0287-2015 礦山地質(zhì)環(huán)境監(jiān)測(cè)技術(shù)規(guī)程(正式版)
- (高清版)WST 225-2024 臨床化學(xué)檢驗(yàn)血液標(biāo)本的采集與處理
- 我的動(dòng)物朋友習(xí)作省公開課一等獎(jiǎng)新名師課比賽一等獎(jiǎng)?wù)n件
- 《智能變電站施工技術(shù)規(guī)范》
- 基坑工程安全風(fēng)險(xiǎn)辨識(shí)
- 親愛的旅人啊二部合唱簡(jiǎn)譜
- 快速康復(fù)外科理念在圍術(shù)期應(yīng)用
- 人工智能訓(xùn)練師(中級(jí)數(shù)據(jù)標(biāo)注員)理論考試題庫大全(含答案)
- 臨床護(hù)理技術(shù)操作常見并發(fā)癥的預(yù)防與處理規(guī)范
評(píng)論
0/150
提交評(píng)論