數(shù)據(jù)庫系統(tǒng)概論 - 課程名稱數(shù)據(jù)庫系統(tǒng)概論 課 時(shí)72_第1頁
數(shù)據(jù)庫系統(tǒng)概論 - 課程名稱數(shù)據(jù)庫系統(tǒng)概論 課 時(shí)72_第2頁
數(shù)據(jù)庫系統(tǒng)概論 - 課程名稱數(shù)據(jù)庫系統(tǒng)概論 課 時(shí)72_第3頁
數(shù)據(jù)庫系統(tǒng)概論 - 課程名稱數(shù)據(jù)庫系統(tǒng)概論 課 時(shí)72_第4頁
數(shù)據(jù)庫系統(tǒng)概論 - 課程名稱數(shù)據(jù)庫系統(tǒng)概論 課 時(shí)72_第5頁
已閱讀5頁,還剩1063頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

總學(xué)時(shí):64學(xué)時(shí)

講授:何文斌

聯(lián)系:EMAIL:

數(shù)據(jù)庫系統(tǒng)概論AnIntroductiontoDatabaseSystem東莞理工學(xué)院計(jì)算機(jī)學(xué)院

學(xué)習(xí)目標(biāo)掌握數(shù)據(jù)庫根本理論結(jié)合一種主流語言,進(jìn)行數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)掌握至少一種大型數(shù)據(jù)庫了解數(shù)據(jù)庫新技術(shù)教材及參考書?數(shù)據(jù)庫系統(tǒng)概論?(第四版),薩師煊,王珊。高等教育出版社。?數(shù)據(jù)庫系統(tǒng)教程(第二版)?,施伯樂,丁寶康,汪衛(wèi)編著。高等教育出版社。?數(shù)據(jù)庫原理及設(shè)計(jì)?,陶宏才,清華大學(xué)出版社。?數(shù)據(jù)庫系統(tǒng)概念?,楊冬青,唐世渭譯。機(jī)械工業(yè)出版社。?數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用教程?。苗雪蘭,劉瑞興,宋會(huì)群編著。機(jī)械工業(yè)出版社。內(nèi)容安排(1)根底篇第一章:緒論第二章:關(guān)系數(shù)據(jù)庫第三章:關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL第四章:數(shù)據(jù)庫平安性第五章:數(shù)據(jù)庫完整性設(shè)計(jì)應(yīng)用與開發(fā)篇第六章:關(guān)系數(shù)據(jù)理論第七章:數(shù)據(jù)庫設(shè)計(jì)第八章:數(shù)據(jù)庫編程內(nèi)容安排(2)系統(tǒng)篇第九章:關(guān)系查詢處理與查詢優(yōu)化第十章:數(shù)據(jù)庫恢復(fù)技術(shù)第十一章:并發(fā)控制第十二章:數(shù)據(jù)庫管理系統(tǒng)新技術(shù)篇數(shù)據(jù)庫技術(shù)新開展第一章緒論1.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫系統(tǒng)的組成1.5小結(jié)1.1

數(shù)據(jù)庫系統(tǒng)概述1.1.1數(shù)據(jù)庫的地位1.1.2四個(gè)根本概念1.1.3數(shù)據(jù)管理技術(shù)的產(chǎn)生與開展數(shù)據(jù)庫的地位數(shù)據(jù)庫技術(shù)產(chǎn)生于六十年代末,是數(shù)據(jù)管理的最新技術(shù),是計(jì)算機(jī)科學(xué)的重要分支數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的核心和根底,它的出現(xiàn)極大地促進(jìn)了計(jì)算機(jī)應(yīng)用向各行各業(yè)的滲透數(shù)據(jù)庫的建設(shè)規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個(gè)國家信息化程度的重要標(biāo)志1.1數(shù)據(jù)庫系統(tǒng)概述1.1.1數(shù)據(jù)庫的地位1.1.2四個(gè)根本概念1.1.3數(shù)據(jù)管理技術(shù)的產(chǎn)生與開展1.1.2四個(gè)根本概念數(shù)據(jù)(Data)數(shù)據(jù)庫(Database)數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫系統(tǒng)(DBS)一、數(shù)據(jù)數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲(chǔ)的根本對(duì)象數(shù)據(jù)的定義描述事物的符號(hào)記錄數(shù)據(jù)的種類文字、圖形、圖象、聲音數(shù)據(jù)的特點(diǎn)數(shù)據(jù)與其語義是不可分的數(shù)據(jù)舉例學(xué)生檔案中的學(xué)生記錄〔李明,男,1972,江蘇,計(jì)算機(jī)系,1990〕數(shù)據(jù)的形式不能完全表達(dá)其內(nèi)容數(shù)據(jù)的解釋語義:學(xué)生姓名、性別、出生年月、籍貫、所在系別、入學(xué)時(shí)間解釋:李明是個(gè)大學(xué)生,1972年出生,江蘇人,1990年考入計(jì)算機(jī)系請(qǐng)給出另一個(gè)解釋和語義二、數(shù)據(jù)庫〔舉例〕二、數(shù)據(jù)庫(續(xù))人們收集并抽取出一個(gè)應(yīng)用所需要的大量數(shù)據(jù)之后,應(yīng)將其保存起來以供進(jìn)一步加工處理,進(jìn)一步抽取有用信息數(shù)據(jù)庫的定義數(shù)據(jù)庫(Database,簡稱DB)是長期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)集合二、數(shù)據(jù)庫(續(xù))數(shù)據(jù)庫的特征數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存可為各種用戶共享冗余度較小數(shù)據(jù)獨(dú)立性較高易擴(kuò)展三、數(shù)據(jù)庫管理系統(tǒng)什么是DBMS數(shù)據(jù)庫管理系統(tǒng)〔DatabaseManagementSystem,簡稱DBMS〕是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。DBMS的用途科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)DBMS的主要功能數(shù)據(jù)定義功能提供數(shù)據(jù)定義語言(DDL)定義數(shù)據(jù)庫中的數(shù)據(jù)對(duì)象數(shù)據(jù)組織、存儲(chǔ)和管理實(shí)現(xiàn)高效、方便存取數(shù)據(jù)操縱功能:提供數(shù)據(jù)操縱語言(DML)操縱數(shù)據(jù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的根本操作(查詢、插入、刪除和修改)DBMS的主要功能數(shù)據(jù)庫的運(yùn)行管理 保證數(shù)據(jù)的平安性、完整性、 多用戶對(duì)數(shù)據(jù)的并發(fā)使用 發(fā)生故障后的系統(tǒng)恢復(fù)數(shù)據(jù)庫的建立和維護(hù)功能(實(shí)用程序) 數(shù)據(jù)庫數(shù)據(jù)批量裝載 數(shù)據(jù)庫轉(zhuǎn)儲(chǔ) 介質(zhì)故障恢復(fù) 數(shù)據(jù)庫的重組織 性能監(jiān)視等四、數(shù)據(jù)庫系統(tǒng)什么是數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)〔DatabaseSystem,簡稱DBS〕是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成。在不引起混淆的情況下常常把數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)庫。數(shù)據(jù)庫系統(tǒng)的構(gòu)成由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)〔及其開發(fā)工具〕、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員〔和用戶〕構(gòu)成。數(shù)據(jù)庫系統(tǒng)(續(xù))數(shù)據(jù)庫系統(tǒng)構(gòu)成圖示參看教材page_6圖1.1數(shù)據(jù)庫系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的地位圖示參看教材page_6圖1.21.1數(shù)據(jù)庫系統(tǒng)概述1.1.1數(shù)據(jù)庫的地位1.1.2四個(gè)根本概念1.1.3數(shù)據(jù)管理技術(shù)的產(chǎn)生與開展1.1.3數(shù)據(jù)管理技術(shù)的產(chǎn)生和開展什么是數(shù)據(jù)管理對(duì)數(shù)據(jù)進(jìn)行分類、組織、編碼、存儲(chǔ)、檢索和維護(hù),是數(shù)據(jù)處理的中心問題數(shù)據(jù)管理技術(shù)的開展過程人工管理階段(40年代中--50年代中)文件系統(tǒng)階段(50年代末--60年代中)數(shù)據(jù)庫系統(tǒng)階段(60年代末--現(xiàn)在)數(shù)據(jù)管理技術(shù)的產(chǎn)生和開展(續(xù))數(shù)據(jù)管理技術(shù)的開展動(dòng)力應(yīng)用需求的推動(dòng)計(jì)算機(jī)硬件的開展計(jì)算機(jī)軟件的開展一、人工管理時(shí)期40年代中--50年代中產(chǎn)生的背景應(yīng)用需求 科學(xué)計(jì)算 硬件水平 無直接存取存儲(chǔ)設(shè)備 軟件水平 沒有操作系統(tǒng) 處理方式 批處理 人工管理(續(xù))特點(diǎn)數(shù)據(jù)的管理者:應(yīng)用程序,數(shù)據(jù)不保存。數(shù)據(jù)面向的對(duì)象:某一應(yīng)用程序數(shù)據(jù)的共享程度:無共享、冗余度極大數(shù)據(jù)的獨(dú)立性:不獨(dú)立,完全依賴于程序數(shù)據(jù)的結(jié)構(gòu)化:無結(jié)構(gòu)數(shù)據(jù)控制能力:應(yīng)用程序自己控制應(yīng)用程序與數(shù)據(jù)的對(duì)應(yīng)關(guān)系(人工管理)

應(yīng)用程序1數(shù)據(jù)集1應(yīng)用程序2數(shù)據(jù)集2應(yīng)用程序n數(shù)據(jù)集n...…...…二、文件系統(tǒng)時(shí)期50年代末--60年代中產(chǎn)生的背景應(yīng)用需求 科學(xué)計(jì)算、管理 硬件水平 磁盤、磁鼓 軟件水平 有文件系統(tǒng) 處理方式 聯(lián)機(jī)實(shí)時(shí)處理、批處理

文件系統(tǒng)(續(xù))特點(diǎn)數(shù)據(jù)的管理者:文件系統(tǒng),數(shù)據(jù)可長期保存數(shù)據(jù)面向的對(duì)象:某一應(yīng)用程序數(shù)據(jù)的共享程度:共享性差、冗余度大數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu)數(shù)據(jù)的獨(dú)立性:獨(dú)立性差,數(shù)據(jù)的邏輯結(jié)構(gòu)改變必須修改應(yīng)用程序數(shù)據(jù)控制能力:應(yīng)用程序自己控制應(yīng)用程序與數(shù)據(jù)的對(duì)應(yīng)關(guān)系(文件系統(tǒng))應(yīng)用程序1文件1應(yīng)用程序2文件2應(yīng)用程序n文件n存取方法...…...…文件系統(tǒng)中數(shù)據(jù)的結(jié)構(gòu)記錄內(nèi)有結(jié)構(gòu)。數(shù)據(jù)的結(jié)構(gòu)是靠程序定義和解釋的。數(shù)據(jù)只能是定長的??梢蚤g接實(shí)現(xiàn)數(shù)據(jù)變長要求,但訪問相應(yīng)數(shù)據(jù)的應(yīng)用程序復(fù)雜了。文件間是獨(dú)立的,因此數(shù)據(jù)整體無結(jié)構(gòu)??梢蚤g接實(shí)現(xiàn)數(shù)據(jù)整體的有結(jié)構(gòu),但必須在應(yīng)用程序中對(duì)描述數(shù)據(jù)間的聯(lián)系。數(shù)據(jù)的最小存取單位是記錄。三、數(shù)據(jù)庫系統(tǒng)時(shí)期60年代末以來產(chǎn)生的背景應(yīng)用背景 大規(guī)模管理 硬件背景 大容量磁盤 軟件背景 有數(shù)據(jù)庫管理系統(tǒng) 處理方式 聯(lián)機(jī)實(shí)時(shí)處理,分布處理,批處理 數(shù)據(jù)庫系統(tǒng)(續(xù))特點(diǎn)數(shù)據(jù)的管理者:DBMS數(shù)據(jù)面向的對(duì)象:現(xiàn)實(shí)世界 數(shù)據(jù)的共享程度:共享性高 數(shù)據(jù)的獨(dú)立性:高度的物理獨(dú)立性和一定的邏輯獨(dú)立性 數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化數(shù)據(jù)控制能力:由DBMS統(tǒng)一管理和控制應(yīng)用程序與數(shù)據(jù)的對(duì)應(yīng)關(guān)系(數(shù)據(jù)庫系統(tǒng))DBMS應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫…數(shù)據(jù)的高共享性的好處降低數(shù)據(jù)的冗余度,節(jié)省存儲(chǔ)空間防止數(shù)據(jù)間的不一致性使系統(tǒng)易于擴(kuò)充數(shù)據(jù)獨(dú)立性物理獨(dú)立性指用戶的應(yīng)用程序與存儲(chǔ)在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨(dú)立的。當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(yīng)用程序不用改變。邏輯獨(dú)立性指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。數(shù)據(jù)結(jié)構(gòu)化整體數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫的主要特征之一。數(shù)據(jù)庫中實(shí)現(xiàn)的是數(shù)據(jù)的真正結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)用數(shù)據(jù)模型描述,無需程序定義和解釋。數(shù)據(jù)可以變長。數(shù)據(jù)的最小存取單位是數(shù)據(jù)項(xiàng)。DBMS對(duì)數(shù)據(jù)的控制功能數(shù)據(jù)的平安性〔Security〕保護(hù)使每個(gè)用戶只能按指定方式使用和處理指定數(shù)據(jù),保護(hù)數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。數(shù)據(jù)的完整性〔Integrity〕檢查將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。DBMS對(duì)數(shù)據(jù)的控制功能并發(fā)〔Concurrency〕控制對(duì)多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯(cuò)誤的結(jié)果。數(shù)據(jù)庫恢復(fù)〔Recovery〕將數(shù)據(jù)庫從錯(cuò)誤狀態(tài)恢復(fù)到某一的正確狀態(tài)。數(shù)據(jù)模型在數(shù)據(jù)庫中用數(shù)據(jù)模型這個(gè)工具來抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。通俗地講數(shù)據(jù)模型就是現(xiàn)實(shí)世界的模擬數(shù)據(jù)模型應(yīng)滿足三方面要求能比較真實(shí)地模擬現(xiàn)實(shí)世界容易為人所理解便于在計(jì)算機(jī)上實(shí)現(xiàn)數(shù)據(jù)模型(續(xù))數(shù)據(jù)模型分成兩個(gè)不同的層次(1)概念模型也稱信息模型,它是按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息建模。(2)數(shù)據(jù)模型主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等,它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模。數(shù)據(jù)模型(續(xù))客觀對(duì)象的抽象過程兩步抽象現(xiàn)實(shí)世界中的客觀對(duì)象抽象為概念模型;把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。

概念模型是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。1.2數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的組成要素1.2.2概念模型1.2.3常用數(shù)據(jù)模型1.2.4層次模型1.2.5網(wǎng)狀模型1.2.6關(guān)系模型1.2.1數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作數(shù)據(jù)的約束條件1.數(shù)據(jù)結(jié)構(gòu)什么是數(shù)據(jù)結(jié)構(gòu)對(duì)象類型的集合兩類對(duì)象與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對(duì)象與數(shù)據(jù)之間聯(lián)系有關(guān)的對(duì)象數(shù)據(jù)結(jié)構(gòu)是對(duì)系統(tǒng)靜態(tài)特性的描述2.數(shù)據(jù)操作數(shù)據(jù)操作對(duì)數(shù)據(jù)庫中各種對(duì)象〔型〕的實(shí)例〔值〕允許執(zhí)行的操作及有關(guān)的操作規(guī)那么數(shù)據(jù)操作的類型檢索更新〔包括插入、刪除、修改〕數(shù)據(jù)操作(續(xù))數(shù)據(jù)模型對(duì)操作的定義操作確實(shí)切含義操作符號(hào)操作規(guī)那么〔如優(yōu)先級(jí)〕實(shí)現(xiàn)操作的語言數(shù)據(jù)操作是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。3.數(shù)據(jù)的約束條件數(shù)據(jù)的約束條件一組完整性規(guī)那么的集合。完整性規(guī)那么是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲(chǔ)存規(guī)那么,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。數(shù)據(jù)的約束條件(續(xù))數(shù)據(jù)模型對(duì)約束條件的定義反映和規(guī)定本數(shù)據(jù)模型必須遵守的根本的通用的完整性約束條件。例如在關(guān)系模型中,任何關(guān)系必須滿足實(shí)體完整性和參照完整性兩個(gè)條件。提供定義完整性約束條件的機(jī)制,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。1.2.2概念模型1.概念模型2.信息世界中的根本概念3.概念模型的表示方法1.概念模型概念模型的用途概念模型用于信息世界的建模是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次是數(shù)據(jù)庫設(shè)計(jì)的有力工具數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言對(duì)概念模型的根本要求較強(qiáng)的語義表達(dá)能力,能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識(shí)簡單、清晰、易于用戶理解。2.信息世界中的根本概念(1)實(shí)體〔Entity〕客觀存在并可相互區(qū)別的事物稱為實(shí)體。可以是具體的人、事、物或抽象的概念。(2)屬性〔Attribute〕實(shí)體所具有的某一特性稱為屬性。一個(gè)實(shí)體可以由假設(shè)干個(gè)屬性來刻畫。(3)碼〔Key〕唯一標(biāo)識(shí)實(shí)體的屬性集稱為碼。信息世界中的根本概念(續(xù))(4)域〔Domain〕屬性的取值范圍稱為該屬性的域。(5)實(shí)體型〔EntityType〕用實(shí)體名及其屬性名集合來抽象和刻畫同類實(shí)體稱為實(shí)體型(6)實(shí)體集〔EntitySet〕同型實(shí)體的集合稱為實(shí)體集信息世界中的根本概念(續(xù))(7)聯(lián)系〔Relationship〕現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系實(shí)體型間聯(lián)系兩個(gè)實(shí)體型一對(duì)一聯(lián)系〔1:1〕三個(gè)實(shí)體型一對(duì)多聯(lián)系〔1:n〕一個(gè)實(shí)體型多對(duì)多聯(lián)系〔m:n〕兩個(gè)實(shí)體型間的聯(lián)系實(shí)體型1聯(lián)系名實(shí)體型2111:1聯(lián)系實(shí)體型1聯(lián)系名實(shí)體型2mnm:n聯(lián)系實(shí)體型1聯(lián)系名實(shí)體型21n1:n聯(lián)系兩個(gè)實(shí)體型間的聯(lián)系一對(duì)一聯(lián)系如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之聯(lián)系,反之亦然,那么稱實(shí)體集A與實(shí)體集B具有一對(duì)一聯(lián)系。記為1:1。實(shí)例班級(jí)與班長之間的聯(lián)系:一個(gè)班級(jí)只有一個(gè)正班長一個(gè)班長只在一個(gè)班中任職兩個(gè)實(shí)體型間的聯(lián)系(續(xù))一對(duì)多聯(lián)系如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體〔n≥0〕與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,那么稱實(shí)體集A與實(shí)體集B有一對(duì)多聯(lián)系記為1:n實(shí)例班級(jí)與學(xué)生之間的聯(lián)系:一個(gè)班級(jí)中有假設(shè)干名學(xué)生,每個(gè)學(xué)生只在一個(gè)班級(jí)中學(xué)習(xí)兩個(gè)實(shí)體型間的聯(lián)系(續(xù))多對(duì)多聯(lián)系〔m:n〕如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體〔n≥0〕與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體〔m≥0〕與之聯(lián)系,那么稱實(shí)體集A與實(shí)體B具有多對(duì)多聯(lián)系。記為m:n實(shí)例課程與學(xué)生之間的聯(lián)系:一門課程同時(shí)有假設(shè)干個(gè)學(xué)生選修一個(gè)學(xué)生可以同時(shí)選修多門課程多個(gè)實(shí)體型間的聯(lián)系(續(xù))多個(gè)實(shí)體型間的一對(duì)多聯(lián)系假設(shè)實(shí)體集E1,E2,...,En存在聯(lián)系,對(duì)于實(shí)體集Ej〔j=1,2,...,i-1,i+1,...,n〕中的給定實(shí)體,最多只和Ei中的一個(gè)實(shí)體相聯(lián)系,那么我們說Ei與E1,E2,...,Ei-1,Ei+1,...,En之間的聯(lián)系是一對(duì)多的。

多個(gè)實(shí)體型間的聯(lián)系(續(xù))實(shí)例課程、教師與參考書三個(gè)實(shí)體型如果一門課程可以有假設(shè)干個(gè)教師講授,使用假設(shè)干本參考書,每一個(gè)教師只講授一門課程,每一本參考書只供一門課程使用課程與教師、參考書之間的聯(lián)系是一對(duì)多的多個(gè)實(shí)體型間的一對(duì)一聯(lián)系多個(gè)實(shí)體型間的多對(duì)多聯(lián)系同一實(shí)體集內(nèi)各實(shí)體間的聯(lián)系一對(duì)多聯(lián)系實(shí)例職工實(shí)體集內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系某一職工〔干部〕“領(lǐng)導(dǎo)〞假設(shè)干名職工一個(gè)職工僅被另外一個(gè)職工直接領(lǐng)導(dǎo)這是一對(duì)多的聯(lián)系一對(duì)一聯(lián)系多對(duì)多聯(lián)系3.概念模型的表示方法概念模型的表示方法很多實(shí)體-聯(lián)系方法(E-R方法)用E-R圖來描述現(xiàn)實(shí)世界的概念模型E-R方法也稱為E-R模型E-R圖實(shí)體型用矩形表示,矩形框內(nèi)寫明實(shí)體名。學(xué)生教師E-R圖(續(xù))屬性用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來,其中作為碼的屬性在屬性名下加下劃線。學(xué)生學(xué)號(hào)年齡性別姓名E-R圖(續(xù))聯(lián)系聯(lián)系本身:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型〔1:1、1:n或m:n〕聯(lián)系的屬性:聯(lián)系本身也是一種實(shí)體型,也可以有屬性。如果一個(gè)聯(lián)系具有屬性,那么這些屬性也要用無向邊與該聯(lián)系連接起來聯(lián)系的表示方法實(shí)體型1聯(lián)系名實(shí)體型2111:1聯(lián)系實(shí)體型1聯(lián)系名實(shí)體型2mnm:n聯(lián)系實(shí)體型1聯(lián)系名實(shí)體型21n1:n聯(lián)系聯(lián)系的表示方法(續(xù))實(shí)體型1聯(lián)系名mn同一實(shí)體型內(nèi)部的m:n聯(lián)系實(shí)體型1聯(lián)系名實(shí)體型21m多個(gè)實(shí)體型間的1:n聯(lián)系實(shí)體型3n聯(lián)系的表示方法例如班級(jí)班級(jí)-班長班長111:1聯(lián)系課程選修學(xué)生mnm:n聯(lián)系班級(jí)組成學(xué)生1n1:n聯(lián)系聯(lián)系的表示方法例如(續(xù))職工領(lǐng)導(dǎo)1n同一實(shí)體型內(nèi)部的1:n聯(lián)系課程講授教師1m多個(gè)實(shí)體型間的1:n聯(lián)系參考書n聯(lián)系屬性的表示方法課程選修學(xué)生mn成績利用ER模型的概念數(shù)據(jù)庫設(shè)計(jì)利用ERM進(jìn)行概念DB設(shè)計(jì),關(guān)鍵是確定以下內(nèi)容:一個(gè)概念用實(shí)體還是屬性表示?一個(gè)概念用實(shí)體還是聯(lián)系表示?兩個(gè)實(shí)體之間的聯(lián)系,還是兩個(gè)以上實(shí)體間的聯(lián)系?一、實(shí)體與屬性的取舍一般情況下,一個(gè)概念用實(shí)體描述還是用屬性描述是比較明確的。只是在少數(shù)情況下,較難取舍。用屬性表示例如:對(duì)“地址〞這個(gè)概念,如果每個(gè)員工只需記錄一個(gè)地址,那么將其作為員工實(shí)體的屬性是適宜的。用實(shí)體而非屬性以下情況之一,那么可以考慮使用實(shí)體:需記錄多個(gè)值:如,員工在同一部門的不同“地點(diǎn)〞工作。需表達(dá)其結(jié)構(gòu)或作細(xì)分查詢:如,“地址〞分成國家、省、市、區(qū)、街道等。二、屬性在實(shí)體與聯(lián)系間的取舍一個(gè)概念是作實(shí)體的屬性還是聯(lián)系的屬性?例如,部門經(jīng)理與所管理部門間的“管理〞聯(lián)系中,“經(jīng)費(fèi)〞這個(gè)屬性是作實(shí)體的屬性還是作聯(lián)系的屬性?用作實(shí)體的屬性假定:某個(gè)部門經(jīng)理可能會(huì)同時(shí)管理多個(gè)部門,且其可支配的經(jīng)費(fèi)是所有管理部門經(jīng)費(fèi)之和。員工

部門

起始期部門號(hào)

姓名

生日

部門名

員工號(hào)

管理

經(jīng)費(fèi)二、屬性在實(shí)體與聯(lián)系間的取舍〔續(xù)〕2.用作聯(lián)系的屬性假定:某個(gè)部門經(jīng)理可能會(huì)同時(shí)管理多個(gè)部門,且要求各部門經(jīng)費(fèi)必須分開管理。

員工部門

起始期部門號(hào)

姓名生日部門名

員工號(hào)

管理經(jīng)費(fèi)三、二元聯(lián)系與三元聯(lián)系的取舍1.用一個(gè)三元聯(lián)系例如:客戶、產(chǎn)品及供給商3個(gè)實(shí)體間,如果規(guī)定:(1).一個(gè)客戶可購置多種產(chǎn)品;(2).一種產(chǎn)品可由多個(gè)供給商提供;(3).一個(gè)客戶與多個(gè)供給商有業(yè)務(wù)往來。問題:假設(shè)要表達(dá)某客戶從特定供給商購置某產(chǎn)品,那么三個(gè)實(shí)體間的聯(lián)系,用一個(gè)三元聯(lián)系,還是用3個(gè)二元聯(lián)系?用一個(gè)三元聯(lián)系〔續(xù)〕方案1:假定用3個(gè)二元聯(lián)系,分別表示為:。一個(gè)供給商能“供給〞某種產(chǎn)品;。一個(gè)客戶“需要〞某種產(chǎn)品;。一個(gè)客戶與某個(gè)供給商的“業(yè)務(wù)往來〞分析:只能表示客戶從供給商購置產(chǎn)品,不能表示特定要求;。不能表達(dá)出所購置的數(shù)量關(guān)系用一個(gè)三元聯(lián)系〔續(xù)〕方案2:假定用一個(gè)三元聯(lián)系“合同〞表示。

客戶

合同

產(chǎn)品

簽訂日期

編號(hào)

名稱

銀行帳號(hào)

地址

編號(hào)

名稱

供應(yīng)商

規(guī)格

性能

訂貨數(shù)量

合同編號(hào)

編號(hào)

名稱

銀行帳號(hào)

地址

2.用二元聯(lián)系例如:客戶、擔(dān)保人與貸款3個(gè)實(shí)體,如果規(guī)定:(1).一個(gè)客戶可有多筆貸款;(2).每筆貸款有且僅有一個(gè)客戶;(3).一筆貸款可有多個(gè)擔(dān)保人,但一個(gè)擔(dān)保人只能擔(dān)保一筆貸款。問題:如何用ER圖表示3個(gè)實(shí)體間的關(guān)系?用二元聯(lián)系〔續(xù)〕方案:由于未對(duì)客戶和擔(dān)保人進(jìn)行約束,故可分別用兩個(gè)二元聯(lián)系來描述,并圖示如下。

借款

擔(dān)保

家庭住址

姓名

性別

身份證號(hào)

工作單位

客戶

姓名

性別

身份證號(hào)

工作單位

經(jīng)濟(jì)狀況

擔(dān)保人

期限

數(shù)量

貸款編號(hào)

貸款

借款日期

1nn1大型系統(tǒng)的概念數(shù)據(jù)庫設(shè)計(jì)方法利用ERM進(jìn)行大型系統(tǒng)DB設(shè)計(jì),一般有兩種方法,即:自頂向下和自底向上.1.自頂向下〔Top-to-Bottom〕思想:先全局后局部。也就是說,先了解企業(yè)中的全局需求,然后再考慮各部門用戶的局部需要,并解決各局部需要中的沖突,生成一個(gè)包含整個(gè)企業(yè)中所有數(shù)據(jù)和應(yīng)用的邏輯模式。特點(diǎn):由于企業(yè)越大,其全局需要也越難把握,因此,這種方法采用得較少。2.自底向上〔Bottom-to-Top〕思想:先局部后全局。也就是說,先為各部門每個(gè)用戶生成一個(gè)各自的概念模式、然后集成之。綜合時(shí),應(yīng)考慮解決各種沖突,如命名、域不匹配、度量單位等。特點(diǎn):由于企業(yè)各部門的局部需要較容易把握,因此,大多數(shù)情況下,根本采用這種方法。概念數(shù)據(jù)庫設(shè)計(jì)實(shí)例實(shí)例任務(wù) 本實(shí)例以一個(gè)小型部門為背景,說明如何利用ERM來完成此部門的數(shù)據(jù)抽象與描述工作。其任務(wù)是:利用ERM,完成某工程公司原材料庫房管理系統(tǒng)的概念數(shù)據(jù)庫設(shè)計(jì)。系統(tǒng)調(diào)研(1).公司有多個(gè)原材料庫房,每個(gè)庫房分布在不同的地方,每個(gè)庫房有不同的編號(hào),公司對(duì)這些庫房進(jìn)行統(tǒng)一管理。(2).每個(gè)庫房可以存放多種不同的原材料,為了便于管理,各種原材料分類存放,同一種原材料集中存放在同一個(gè)庫房中。(3).每一個(gè)庫房可安排一名或多名員工在庫房工作,在這些庫房,每一個(gè)管理員有且僅有一名員工是他的直接領(lǐng)導(dǎo)。(4).同一種原材料可以供給多個(gè)不同的工程工程,同一個(gè)工程工程要使用多種不同的原材料。(5).同一種原材料可由多個(gè)不同的廠家供給,同一個(gè)生產(chǎn)廠家可供給多種不同的原材料。概念數(shù)據(jù)庫設(shè)計(jì)對(duì)調(diào)研結(jié)果進(jìn)行分析,可以歸納出相應(yīng)的實(shí)體型、聯(lián)系型及其屬性。庫房實(shí)體型:具有庫房號(hào)、地點(diǎn)、庫房面積、庫房類型等屬性。原材料實(shí)體型:具有材料號(hào)、名稱、規(guī)格、單價(jià)、說明等屬性。員工實(shí)體型:具有員工號(hào)、姓名、性別、出生日期、職稱等屬性。工程工程實(shí)體型:具有工程號(hào)、預(yù)算資金、開工日期、竣工日期等屬性生產(chǎn)廠家實(shí)體型:具有廠家號(hào)、廠家名稱、通信地址、聯(lián)系等屬性。工作聯(lián)系型:是1:n型聯(lián)系。領(lǐng)導(dǎo)聯(lián)系型:是1:n型聯(lián)系,且是一種遞歸聯(lián)系型。存放聯(lián)系型:是m:n型聯(lián)系,且具有“庫存量〞屬性。供給聯(lián)系型:是一個(gè)三元聯(lián)系型,且具有“供給量〞屬性。ER模式建立分析并設(shè)計(jì)出對(duì)應(yīng)的實(shí)體型、聯(lián)系型及其屬性后,畫出ER圖庫存號(hào)地點(diǎn)庫房面積庫房類型員工號(hào)姓名性別職稱庫房工作員工1n存放1原材料n庫存量庫存號(hào)名稱規(guī)格單價(jià)說明供應(yīng)供應(yīng)量生產(chǎn)廠家mp廠家號(hào)廠家名稱通信地址聯(lián)系電話工程項(xiàng)目n項(xiàng)目號(hào)竣工日期開工日期預(yù)算資金領(lǐng)導(dǎo)1n1.2.3常用數(shù)據(jù)模型非關(guān)系模型層次模型〔HierarchicalModel〕數(shù)據(jù)結(jié)構(gòu):以根本層次聯(lián)系為根本單位根本層次聯(lián)系:兩個(gè)記錄以及它們之間的一對(duì)多〔包括一對(duì)一)的聯(lián)系網(wǎng)狀模型(NetworkModel)數(shù)據(jù)結(jié)構(gòu):網(wǎng)關(guān)系模型(RelationalModel)數(shù)據(jù)結(jié)構(gòu):表面向?qū)ο竽P?ObjectOrientedModel〕數(shù)據(jù)結(jié)構(gòu):對(duì)象1.2數(shù)據(jù)模型

1.2.1數(shù)據(jù)模型的組成要素1.2.2概念模型1.2.3常用數(shù)據(jù)模型1.2.4層次模型1.2.5網(wǎng)狀模型1.2.6關(guān)系模型1.2.4層次模型1.層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)2.層次數(shù)據(jù)模型的數(shù)據(jù)操縱3.層次數(shù)據(jù)模型的與完整性約束4.層次數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)5.層次數(shù)據(jù)模型的優(yōu)缺點(diǎn)

6.典型的層次數(shù)據(jù)庫系統(tǒng)1.層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)層次模型滿足下面兩個(gè)條件的根本層次聯(lián)系的集合為層次模型。1.有且只有一個(gè)結(jié)點(diǎn)沒有雙親結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱為根結(jié)點(diǎn)2.根以外的其它結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn)層次模型中的幾個(gè)術(shù)語根結(jié)點(diǎn),雙親結(jié)點(diǎn),兄弟結(jié)點(diǎn),葉結(jié)點(diǎn)層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)〕根結(jié)點(diǎn)兄弟結(jié)點(diǎn)

葉結(jié)點(diǎn)兄弟結(jié)點(diǎn)

葉結(jié)點(diǎn)葉結(jié)點(diǎn)R4R5R2R3R1層次數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu)實(shí)例PRO#MONEYLEADERSEC#SNAMEPHONEDEPT#DNAMELOCATIONFA#FNAMETITLECO#CNAMEPROJECTSECTIONCOURSEFACULTYDEPTT層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)〕表示方法實(shí)體型:用記錄類型描述。每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類型。屬性:用字段描述。每個(gè)記錄類型可包含假設(shè)干個(gè)字段。聯(lián)系:用結(jié)點(diǎn)之間的連線表示記錄〔類〕型之間的一對(duì)多的聯(lián)系實(shí)例:教員-學(xué)生數(shù)據(jù)模型〔P23〕層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)〕特點(diǎn)結(jié)點(diǎn)的雙親是唯一的只能直接處理一對(duì)多的實(shí)體聯(lián)系每個(gè)記錄類型定義一個(gè)排序字段,也稱為碼字段任何記錄值只有按其路徑查看時(shí),才能顯出它的全部意義沒有一個(gè)子女記錄值能夠脫離雙親記錄值而獨(dú)立存在層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)〕多對(duì)多聯(lián)系在層次模型中的表示用層次模型間接表示多對(duì)多聯(lián)系方法將多對(duì)多聯(lián)系分解成一對(duì)多聯(lián)系分解方法冗余結(jié)點(diǎn)法虛擬結(jié)點(diǎn)法2.層次模型的數(shù)據(jù)操縱查詢插入刪除更新3.層次模型的完整性約束無相應(yīng)的雙親結(jié)點(diǎn)值就不能插入子女結(jié)點(diǎn)值如果刪除雙親結(jié)點(diǎn)值,那么相應(yīng)的子女結(jié)點(diǎn)值也被同時(shí)刪除更新操作時(shí),應(yīng)更新所有相應(yīng)記錄,以保證數(shù)據(jù)的一致性4.層次數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實(shí)現(xiàn)層次順序鏈接法用指引元來反映數(shù)據(jù)之間的層次聯(lián)系子女-兄弟鏈接法P26層次序列鏈接法P265.層次模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)層次數(shù)據(jù)模型簡單,對(duì)具有一對(duì)多的層次關(guān)系的部門描述自然、直觀,容易理解性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型層次數(shù)據(jù)模型提供了良好的完整性支持缺點(diǎn)多對(duì)多聯(lián)系表示不自然對(duì)插入和刪除操作的限制多查詢子女結(jié)點(diǎn)必須通過雙親結(jié)點(diǎn)層次命令趨于程序化6.典型的層次數(shù)據(jù)庫系統(tǒng)IMS數(shù)據(jù)庫管理系統(tǒng)第一個(gè)大型商用DBMS1968年推出IBM公司研制1.2數(shù)據(jù)模型1.2.1概念模型1.2.2數(shù)據(jù)模型的組成要素1.2.3最常用的數(shù)據(jù)模型1.2.4層次模型1.2.5網(wǎng)狀模型1.2.6關(guān)系模型1.2.5網(wǎng)狀模型1.網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)2.網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)操縱3.網(wǎng)狀數(shù)據(jù)模型的完整性約束4.網(wǎng)狀數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)5.網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點(diǎn)6.典型的網(wǎng)狀數(shù)據(jù)庫系統(tǒng)1.網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)網(wǎng)狀模型滿足下面兩個(gè)條件的根本層次聯(lián)系的集合為網(wǎng)狀模型。1.允許一個(gè)以上的結(jié)點(diǎn)無雙親;2.一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親。網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)L1L2

L3L1L2L4

R3R1R2R2R1R4R5R3網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)〕表示方法〔與層次數(shù)據(jù)模型相同〕實(shí)體型:用記錄類型描述。每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類型。屬性:用字段描述。每個(gè)記錄類型可包含假設(shè)干個(gè)字段。聯(lián)系:用結(jié)點(diǎn)之間的連線表示記錄〔類〕型之間的一對(duì)多的父子聯(lián)系。網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)〕特點(diǎn)只能直接處理一對(duì)多的實(shí)體聯(lián)系每個(gè)記錄類型定義一個(gè)排序字段,也稱為碼字段任何記錄值只有按其路徑查看時(shí),才能顯出它的全部意義網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)〕網(wǎng)狀模型與層次模型的區(qū)別網(wǎng)狀模型允許多個(gè)結(jié)點(diǎn)沒有雙親結(jié)點(diǎn)網(wǎng)狀模型允許結(jié)點(diǎn)有多個(gè)雙親結(jié)點(diǎn)網(wǎng)狀模型允許兩個(gè)結(jié)點(diǎn)之間有多種聯(lián)系〔復(fù)合聯(lián)系〕網(wǎng)狀模型可以更直接地去描述現(xiàn)實(shí)世界層次模型實(shí)際上是網(wǎng)狀模型的一個(gè)特例網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)〕

L1L2R3R1R2

L3L1L2L4

R2R1R4R5R3

L1L2

R2R1網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)〕學(xué)生宿舍學(xué)生教研室系教師網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)〕父母人子女樹種植砍伐養(yǎng)育贍養(yǎng)網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)〕多對(duì)多聯(lián)系在網(wǎng)狀模型中的表示用網(wǎng)狀模型間接表示多對(duì)多聯(lián)系方法將多對(duì)多聯(lián)系直接分解成一對(duì)多聯(lián)系2.網(wǎng)狀模型的數(shù)據(jù)操縱查詢插入刪除更新3.網(wǎng)狀數(shù)據(jù)模型的完整性約束網(wǎng)狀數(shù)據(jù)庫系統(tǒng)〔如DBTG〕對(duì)數(shù)據(jù)操縱加了一些限制,提供了一定的完整性約束碼雙親結(jié)點(diǎn)與子女結(jié)點(diǎn)之間是一對(duì)多聯(lián)系屬籍類別參加類別(自動(dòng)的,手工的)移出類別(固定的,必須的,隨意的)3.網(wǎng)狀數(shù)據(jù)模型的完整性約束完整性約束條件允許插入尚未確定雙親結(jié)點(diǎn)值的子女結(jié)點(diǎn)值允許只刪除雙親結(jié)點(diǎn)值4.網(wǎng)狀數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)關(guān)鍵實(shí)現(xiàn)記錄之間的聯(lián)系常用方法單向鏈接雙向鏈接環(huán)狀鏈接向首鏈接例:P275.網(wǎng)狀模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)能夠更為直接地描述現(xiàn)實(shí)世界,如一個(gè)結(jié)點(diǎn)可以有多個(gè)雙親具有良好的性能,存取效率較高缺點(diǎn)結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴(kuò)大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握DDL、DML語言復(fù)雜,用戶不容易使用6.典型的網(wǎng)狀數(shù)據(jù)庫系統(tǒng)DBTG系統(tǒng),亦稱CODASYL系統(tǒng)由DBTG提出的一個(gè)系統(tǒng)方案奠定了數(shù)據(jù)庫系統(tǒng)的根本概念、方法和技術(shù)70年代推出實(shí)際系統(tǒng)CullinetSoftwareInc.公司的IDMSUnivac公司的DMS1100Honeywell公司的IDS/2HP公司的IMAGE1.2數(shù)據(jù)模型1.2.1概念模型1.2.2數(shù)據(jù)模型的組成要素1.2.3最常用的數(shù)據(jù)模型1.2.4層次模型1.2.5網(wǎng)狀模型1.2.6關(guān)系模型1.2.6關(guān)系模型1.關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)2.關(guān)系數(shù)據(jù)模型的操縱3.關(guān)系數(shù)據(jù)模型的完整性約束4.關(guān)系數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)5.關(guān)系數(shù)據(jù)模型的優(yōu)缺點(diǎn)6.典型的關(guān)系數(shù)據(jù)庫系統(tǒng)

關(guān)系模型最重要的一種數(shù)據(jù)模型。也是目前主要采用的數(shù)據(jù)模型1970年由美國IBM公司SanJose研究室的研究員提出本課程的重點(diǎn)關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)在用戶觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。學(xué)生登記表學(xué)

號(hào)姓

名年

令性

別系

名年

級(jí)95004王小明19女社會(huì)學(xué)9595006黃大鵬20男商品學(xué)9595008張文斌18女法律學(xué)95………………關(guān)系模型的根本概念關(guān)系〔Relation〕一個(gè)關(guān)系對(duì)應(yīng)通常說的一張表。元組〔Tuple〕表中的一行即為一個(gè)元組。屬性〔Attribute〕表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱即屬性名。關(guān)系模型的根本概念主鍵〔Key〕表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組。域〔Domain〕屬性的取值范圍。分量元組中的一個(gè)屬性值。關(guān)系模式對(duì)關(guān)系的描述關(guān)系名〔屬性1,屬性2,…,屬性n〕學(xué)生〔學(xué)號(hào),姓名,年齡,性別,系,年級(jí)〕關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)〕在關(guān)系模型中,實(shí)體以及實(shí)體間的聯(lián)系都是用關(guān)系來表示。例如學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系在關(guān)系模型中可以如下表示:學(xué)生〔學(xué)號(hào),姓名,年齡,性別,系號(hào),年級(jí)〕課程〔課程號(hào),課程名,授課教師,學(xué)分〕選修〔學(xué)號(hào),課程號(hào),成績〕關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)〕關(guān)系必須是標(biāo)準(zhǔn)化的,滿足一定的標(biāo)準(zhǔn)條件最根本的標(biāo)準(zhǔn)條件:關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng)。工

資扣

除職

工號(hào)姓名職稱基

本工

齡職

務(wù)房

租水

電實(shí)發(fā)86051陳

平講

師1059.515612115.5...........................2.關(guān)系模型的數(shù)據(jù)操縱查詢、插入、刪除、更新數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系,即假設(shè)干元組的集合存取路徑對(duì)用戶隱蔽,用戶只要指出“干什么〞,不必詳細(xì)說明“怎么干〞3.關(guān)系模型的完整性約束實(shí)體完整性參照完整性用戶定義的完整性4.關(guān)系數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)表以文件形式存儲(chǔ)有的DBMS一個(gè)表對(duì)應(yīng)一個(gè)操作系統(tǒng)文件有的DBMS自己設(shè)計(jì)文件結(jié)構(gòu)5.關(guān)系模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)建立在嚴(yán)格的數(shù)學(xué)概念的根底上概念單一,數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用實(shí)體和各類聯(lián)系都用關(guān)系來表示。對(duì)數(shù)據(jù)的檢索結(jié)果也是關(guān)系。關(guān)系模型的存取路徑對(duì)用戶透明具有更高的數(shù)據(jù)獨(dú)立性,更好的平安保密性簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作缺點(diǎn)存取路徑對(duì)用戶透明導(dǎo)致查詢效率往往不如非關(guān)系數(shù)據(jù)模型6.典型的關(guān)系數(shù)據(jù)庫系統(tǒng)ORACLESYBASEINFORMIXDB/2SQLSERVERCOBASEPBASEEasyBaseDM/2OpenBase1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)內(nèi)部的模式結(jié)構(gòu)從數(shù)據(jù)庫管理系統(tǒng)角度看外模式模式內(nèi)模式數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu)從數(shù)據(jù)庫最終用戶角度看單用戶結(jié)構(gòu)主從式結(jié)構(gòu)分布式結(jié)構(gòu)客戶/效勞器結(jié)構(gòu)瀏覽器/應(yīng)用效勞器/數(shù)據(jù)庫效勞器結(jié)構(gòu)1.3.1數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)“型〞和“值〞的概念型〔Type〕對(duì)某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說明值〔Value〕是型的一個(gè)具體賦值例如:學(xué)生記錄記錄型:〔學(xué)號(hào),姓名,性別,系別,年齡,籍貫〕該記錄型的一個(gè)記錄值:〔900201,李明,男,計(jì)算機(jī),22,江蘇〕數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)

應(yīng)用A應(yīng)用B應(yīng)用C應(yīng)用D應(yīng)用E外模式1外模式2外模式3外模式/模式映象模式模式/內(nèi)模式映象內(nèi)模式數(shù)據(jù)庫DB數(shù)據(jù)庫系統(tǒng)模式的概念模式〔Schema〕數(shù)據(jù)庫中全體數(shù)據(jù)邏輯結(jié)構(gòu)和特征的描述是型的描述反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系模式是相對(duì)穩(wěn)定的模式的一個(gè)實(shí)例〔Instance〕模式的一個(gè)具體值反映數(shù)據(jù)庫某一時(shí)刻的狀態(tài)同一個(gè)模式可以有很多實(shí)例實(shí)例隨數(shù)據(jù)庫中的數(shù)據(jù)的更新而變動(dòng)1.模式〔Schema〕模式〔也稱邏輯模式〕數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述所有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的需求一個(gè)數(shù)據(jù)庫只有一個(gè)模式模式的地位:是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層與數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境無關(guān)與具體的應(yīng)用程序、開發(fā)工具及高級(jí)程序設(shè)計(jì)語言無關(guān)模式的定義數(shù)據(jù)的邏輯結(jié)構(gòu)〔數(shù)據(jù)項(xiàng)的名字、類型、取值范圍等〕數(shù)據(jù)之間的聯(lián)系數(shù)據(jù)有關(guān)的平安性、完整性要求2.外模式〔ExternalSchema〕外模式〔也稱子模式或用戶模式〕數(shù)據(jù)庫用戶〔包括應(yīng)用程序員和最終用戶〕使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示外模式〔續(xù)〕外模式的地位:介于模式與應(yīng)用之間模式與外模式的關(guān)系:一對(duì)多外模式通常是模式的子集一個(gè)數(shù)據(jù)庫可以有多個(gè)外模式。反映了不同的用戶的應(yīng)用需求、看待數(shù)據(jù)的方式、對(duì)數(shù)據(jù)保密的要求對(duì)模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類型、長度、保密級(jí)別等都可以不同外模式與應(yīng)用的關(guān)系:一對(duì)多同一外模式也可以為某一用戶的多個(gè)應(yīng)用系統(tǒng)所使用,但一個(gè)應(yīng)用程序只能使用一個(gè)外模式。外模式的用途保證數(shù)據(jù)庫平安性的一個(gè)有力措施。每個(gè)用戶只能看見和訪問所對(duì)應(yīng)的外模式中的數(shù)據(jù)3.內(nèi)模式〔InternalSchema〕內(nèi)模式〔也稱存儲(chǔ)模式〕是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式記錄的存儲(chǔ)方式〔順序存儲(chǔ),按照B樹結(jié)構(gòu)存儲(chǔ),按hash方法存儲(chǔ)〕索引的組織方式數(shù)據(jù)是否壓縮存儲(chǔ)數(shù)據(jù)是否加密數(shù)據(jù)存儲(chǔ)記錄結(jié)構(gòu)的規(guī)定一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式1.3.1數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫的二級(jí)映象功能與數(shù)據(jù)獨(dú)立性數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)應(yīng)用A應(yīng)用B應(yīng)用C應(yīng)用D應(yīng)用E外模式1外模式2外模式3外模式/模式映象模式模式/內(nèi)模式映象內(nèi)模式數(shù)據(jù)庫DB1.外模式/模式映象定義外模式與模式之間的對(duì)應(yīng)關(guān)系每一個(gè)外模式都對(duì)應(yīng)一個(gè)外模式/模式映象映象定義通常包含在各自外模式的描述中外模式/模式映象的用途保證數(shù)據(jù)的邏輯獨(dú)立性當(dāng)模式改變時(shí),數(shù)據(jù)庫管理員修改有關(guān)的外模式/模式映象,使外模式保持不變應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡稱數(shù)據(jù)的邏輯獨(dú)立性。2.模式/內(nèi)模式映象模式/內(nèi)模式映象定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。例如,說明邏輯記錄和字段在內(nèi)部是如何表示的數(shù)據(jù)庫中模式/內(nèi)模式映象是唯一的該映象定義通常包含在模式描述中模式/內(nèi)模式映象的用途保證數(shù)據(jù)的物理獨(dú)立性當(dāng)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)改變了〔例如選用了另一種存儲(chǔ)結(jié)構(gòu)〕,數(shù)據(jù)庫管理員修改模式/內(nèi)模式映象,使模式保持不變應(yīng)用程序不受影響。保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡稱數(shù)據(jù)的物理獨(dú)立性。1.3.2數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu)單用戶結(jié)構(gòu)主從式結(jié)構(gòu)分布式結(jié)構(gòu)客戶/效勞器結(jié)構(gòu)瀏覽器/應(yīng)用效勞器/數(shù)據(jù)庫效勞器結(jié)構(gòu)1.單用戶數(shù)據(jù)庫系統(tǒng)整個(gè)數(shù)據(jù)庫系統(tǒng)(應(yīng)用程序、DBMS、數(shù)據(jù))裝在一臺(tái)計(jì)算機(jī)上,為一個(gè)用戶獨(dú)占,不同機(jī)器之間不能共享數(shù)據(jù)。早期的最簡單的數(shù)據(jù)庫系統(tǒng)2.主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)一個(gè)主機(jī)帶多個(gè)終端的多用戶結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng),包括應(yīng)用程序、DBMS、數(shù)據(jù),都集中存放在主機(jī)上,所有處理任務(wù)都由主機(jī)來完成各個(gè)用戶通過主機(jī)的終端并發(fā)地存取數(shù)據(jù)庫,共享數(shù)據(jù)資源主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)主機(jī)終端主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)(續(xù)〕優(yōu)點(diǎn)易于管理、控制與維護(hù)。缺點(diǎn)當(dāng)終端用戶數(shù)目增加到一定程度后,主機(jī)的任務(wù)會(huì)過分繁重,成為瓶頸,從而使系統(tǒng)性能下降。系統(tǒng)的可靠性依賴主機(jī),當(dāng)主機(jī)出現(xiàn)故障時(shí),整個(gè)系統(tǒng)都不能使用。3.分布式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)在邏輯上是一個(gè)整體,但物理地分布在計(jì)算機(jī)網(wǎng)絡(luò)的不同結(jié)點(diǎn)上。網(wǎng)絡(luò)中的每個(gè)結(jié)點(diǎn)都可以獨(dú)立處理本地?cái)?shù)據(jù)庫中的數(shù)據(jù),執(zhí)行局部應(yīng)用同時(shí)也可以同時(shí)存取和處理多個(gè)異地?cái)?shù)據(jù)庫中的數(shù)據(jù),執(zhí)行全局應(yīng)用優(yōu)點(diǎn)適應(yīng)了地理上分散的公司、團(tuán)體和組織對(duì)于數(shù)據(jù)庫應(yīng)用的需求。缺點(diǎn)數(shù)據(jù)的分布存放給數(shù)據(jù)的處理、管理與維護(hù)帶來困難。當(dāng)用戶需要經(jīng)常訪問遠(yuǎn)程數(shù)據(jù)時(shí),系統(tǒng)效率會(huì)明顯地受到網(wǎng)絡(luò)傳輸?shù)闹萍s。4.客戶/效勞器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)把DBMS功能和應(yīng)用分開網(wǎng)絡(luò)中某個(gè)〔些〕結(jié)點(diǎn)上的計(jì)算機(jī)專門用于執(zhí)行DBMS功能,稱為數(shù)據(jù)庫效勞器,簡稱效勞器其他結(jié)點(diǎn)上的計(jì)算機(jī)安裝DBMS的外圍應(yīng)用開發(fā)工具,用戶的應(yīng)用系統(tǒng),稱為客戶機(jī)客戶/效勞器數(shù)據(jù)庫系統(tǒng)的種類集中的效勞器結(jié)構(gòu)一臺(tái)數(shù)據(jù)庫效勞器,多臺(tái)客戶機(jī)分布的效勞器結(jié)構(gòu)在網(wǎng)絡(luò)中有多臺(tái)數(shù)據(jù)庫效勞器分布的效勞器結(jié)構(gòu)是客戶/效勞器與分布式數(shù)據(jù)庫的結(jié)合客戶/效勞器結(jié)構(gòu)的優(yōu)點(diǎn)客戶端的用戶請(qǐng)求被傳送到數(shù)據(jù)庫效勞器,數(shù)據(jù)庫效勞器進(jìn)行處理后,只將結(jié)果返回給用戶,從而顯著減少了數(shù)據(jù)傳輸量數(shù)據(jù)庫更加開放客戶與效勞器一般都能在多種不同的硬件和軟件平臺(tái)上運(yùn)行可以使用不同廠商的數(shù)據(jù)庫應(yīng)用開發(fā)工具客戶/效勞器結(jié)構(gòu)的缺點(diǎn)“胖客戶〞問題:系統(tǒng)安裝復(fù)雜,工作量大。應(yīng)用維護(hù)困難,難于保密,造成平安性差。相同的應(yīng)用程序要重復(fù)安裝在每一臺(tái)客戶機(jī)上,從系統(tǒng)總體來看,大大浪費(fèi)了系統(tǒng)資源。系統(tǒng)規(guī)模到達(dá)數(shù)百數(shù)千臺(tái)客戶機(jī),它們的硬件配置、操作系統(tǒng)又常常不同,要為每一個(gè)客戶機(jī)安裝應(yīng)用程序和相應(yīng)的工具模塊,其安裝維護(hù)代價(jià)便不可接受了。瀏覽器/應(yīng)用效勞器/數(shù)據(jù)庫效勞器結(jié)構(gòu)客戶端:瀏覽器軟件、用戶界面瀏覽器的界面統(tǒng)一,廣闊用戶容易掌握大大減少了培訓(xùn)時(shí)間與費(fèi)用。效勞器端分為兩局部:Web效勞器、應(yīng)用效勞器數(shù)據(jù)庫效勞器等大大減少了系統(tǒng)開發(fā)和維護(hù)代價(jià)能夠支持?jǐn)?shù)萬甚至更多的用戶智能卡移動(dòng)通信計(jì)算機(jī)外設(shè)機(jī)頂盒零售設(shè)備印刷機(jī)復(fù)印機(jī)互聯(lián)網(wǎng)服務(wù)器電話交換設(shè)備嵌入式數(shù)據(jù)管理系統(tǒng)的結(jié)構(gòu)1.4數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)〔及其開發(fā)工具〕應(yīng)用系統(tǒng)數(shù)據(jù)庫管理員〔用戶〕一、硬件平臺(tái)及數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)對(duì)硬件資源的要求(1)足夠大的內(nèi)存操作系統(tǒng)DBMS的核心模塊數(shù)據(jù)緩沖區(qū)應(yīng)用程序(2)足夠大的外存磁盤操作系統(tǒng)DBMS應(yīng)用程序數(shù)據(jù)庫及其備份光盤、磁帶、軟盤數(shù)據(jù)備份(3)較高的通道能力,提高數(shù)據(jù)傳送率二、軟件DBMS操作系統(tǒng)與數(shù)據(jù)庫接口的高級(jí)語言及其編譯系統(tǒng)以DBMS為核心的應(yīng)用開發(fā)工具為特定應(yīng)用環(huán)境開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng)三、人員數(shù)據(jù)庫管理員系統(tǒng)分析員數(shù)據(jù)庫設(shè)計(jì)人員應(yīng)用程序員(最終用戶)1.數(shù)據(jù)庫管理員(DBA)決定數(shù)據(jù)庫中的信息內(nèi)容和結(jié)構(gòu)決定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)和存取策略定義數(shù)據(jù)的平安性要求和完整性約束條件監(jiān)控?cái)?shù)據(jù)庫的使用和運(yùn)行周期性轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫數(shù)據(jù)文件日志文件系統(tǒng)故障恢復(fù)介質(zhì)故障恢復(fù)監(jiān)視審計(jì)文件數(shù)據(jù)庫的改進(jìn)和重組性能監(jiān)控和調(diào)優(yōu)數(shù)據(jù)重組數(shù)據(jù)庫重構(gòu)2.系統(tǒng)分析員負(fù)責(zé)應(yīng)用系統(tǒng)的需求分析和標(biāo)準(zhǔn)說明與用戶及DBA協(xié)商,確定系統(tǒng)的硬軟件配置參與數(shù)據(jù)庫系統(tǒng)的概要設(shè)計(jì)3.數(shù)據(jù)庫設(shè)計(jì)人員參加用戶需求調(diào)查和系統(tǒng)分析確定數(shù)據(jù)庫中的數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)庫各級(jí)模式4.應(yīng)用程序員設(shè)計(jì)和編寫應(yīng)用系統(tǒng)的程序模塊進(jìn)行調(diào)試和安裝5.用戶偶然用戶企業(yè)或組織機(jī)構(gòu)的高中級(jí)管理人員簡單用戶銀行的職員、機(jī)票預(yù)定人員、旅館總臺(tái)效勞員復(fù)雜用戶工程師、科學(xué)家、經(jīng)濟(jì)學(xué)家、科技工作者等直接使用數(shù)據(jù)庫語言訪問數(shù)據(jù)庫,甚至能夠基于數(shù)據(jù)庫管理系統(tǒng)的API編制自己的應(yīng)用程序小結(jié)數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫的根本概念數(shù)據(jù)管理的開展過程數(shù)據(jù)模型數(shù)據(jù)模型的三要素概念模型,E-R模型三種主要數(shù)據(jù)模型數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的組成第二章關(guān)系數(shù)據(jù)庫2.1關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2關(guān)系操作2.3關(guān)系的完整性2.4關(guān)系代數(shù)2.5關(guān)系演算2.6小結(jié)關(guān)系數(shù)據(jù)庫簡介系統(tǒng)而嚴(yán)格地提出關(guān)系模型的是美國IBM公司的E.F.Codd1970年提出關(guān)系數(shù)據(jù)模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks〞,?CommunicationoftheACM?,1970之后,提出了關(guān)系代數(shù)和關(guān)系演算的概念1972年提出了關(guān)系的第一、第二、第三范式1974年提出了關(guān)系的BC范式80年代后,關(guān)系數(shù)據(jù)庫系統(tǒng)成為最重要、最流行的數(shù)據(jù)庫系統(tǒng)關(guān)系數(shù)據(jù)庫簡介典型實(shí)驗(yàn)系統(tǒng)SystemRUniversityINGRES典型商用系統(tǒng)ORACLESYBASEINFORMIXDB2INGRES2.1關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義關(guān)系數(shù)據(jù)庫系統(tǒng)是支持關(guān)系模型的數(shù)據(jù)庫系統(tǒng)關(guān)系模型的組成關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系操作集合關(guān)系完整性約束1.關(guān)系數(shù)據(jù)結(jié)構(gòu)單一的數(shù)據(jù)結(jié)構(gòu)關(guān)系現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來表示數(shù)據(jù)的邏輯結(jié)構(gòu)二維表從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。2.關(guān)系操作集合1)常用的關(guān)系操作2)關(guān)系操作的特點(diǎn)3)關(guān)系數(shù)據(jù)語言的種類4)關(guān)系數(shù)據(jù)語言的特點(diǎn)關(guān)系操作集合(續(xù)〕1)常用的關(guān)系操作查詢選擇、投影、連接、除、并、交、差數(shù)據(jù)更新插入、刪除、修改查詢的表達(dá)能力是其中最主要的局部關(guān)系操作集合〔續(xù)〕2)關(guān)系操作的特點(diǎn)集合操作方式,即操作的對(duì)象和結(jié)果都是集合。非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操作方式:一次一記錄文件系統(tǒng)的數(shù)據(jù)操作方式關(guān)系操作集合〔續(xù)〕3)關(guān)系數(shù)據(jù)語言的種類關(guān)系代數(shù)語言用對(duì)關(guān)系的運(yùn)算來表達(dá)查詢要求典型代表:ISBL關(guān)系操作集合〔續(xù)〕關(guān)系數(shù)據(jù)語言的種類〔續(xù)〕關(guān)系演算語言:用謂詞來表達(dá)查詢要求元組關(guān)系演算語言謂詞變?cè)母緦?duì)象是元組變量典型代表:APLHA,QUEL域關(guān)系演算語言謂詞變?cè)母緦?duì)象是域變量典型代表:QBE具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語言典型代表:SQL關(guān)系操作集合〔續(xù)〕4)關(guān)系數(shù)據(jù)語言的特點(diǎn)關(guān)系語言是一種高度非過程化的語言存取路徑的選擇由DBMS的優(yōu)化機(jī)制來完成用戶不必用循環(huán)結(jié)構(gòu)就可以完成數(shù)據(jù)操作能夠嵌入高級(jí)語言中使用關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)系演算三種語言在表達(dá)能力上完全等價(jià)3.關(guān)系的三類完整性約束實(shí)體完整性通常由關(guān)系系統(tǒng)自動(dòng)支持參照完整性早期系統(tǒng)不支持,目前大型系統(tǒng)能自動(dòng)支持用戶定義的完整性反映應(yīng)用領(lǐng)域需要遵循的約束條件,表達(dá)了具體領(lǐng)域中的語義約束用戶定義后由系統(tǒng)支持2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系模型建立在集合代數(shù)的根底上關(guān)系數(shù)據(jù)結(jié)構(gòu)的根本概念關(guān)系關(guān)系模式關(guān)系數(shù)據(jù)庫2.2.1關(guān)系⒈域〔Domain〕2.笛卡爾積〔CartesianProduct〕3.關(guān)系〔Relation〕⒈域〔Domain〕域是一組具有相同數(shù)據(jù)類型的值的集合。例:整數(shù)實(shí)數(shù)介于某個(gè)取值范圍的整數(shù)長度指定長度的字符串集合{‘男’,‘女’}介于某個(gè)取值范圍的日期2.笛卡爾積〔CartesianProduct〕1)笛卡爾積給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:D1×D2×…×Dn={〔d1,d2,…,dn〕|diDi,i=1,2,…,n}所有域的所有取值的一個(gè)組合不能重復(fù)笛卡爾積〔續(xù))例給出三個(gè)域:D1=SUPERVISOR={張清玫,劉逸}D2=SPECIALITY={計(jì)算機(jī)專業(yè),信息專業(yè)}D3=POSTGRADUATE={李勇,劉晨,王敏}那么D1,D2,D3的笛卡爾積為:D1×D2×D3={(張清玫,計(jì)算機(jī)專業(yè),李勇),(張清玫,計(jì)算機(jī)專業(yè),劉晨),(張清玫,計(jì)算機(jī)專業(yè),王敏),(張清玫,信息專業(yè),李勇),(張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王敏),(劉逸,計(jì)算機(jī)專業(yè),李勇),(劉逸,計(jì)算機(jī)專業(yè),劉晨),(劉逸,計(jì)算機(jī)專業(yè),王敏),(劉逸,信息專業(yè),李勇),(劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏)}笛卡爾積〔續(xù))2)元組〔Tuple〕笛卡爾積中每一個(gè)元素〔d1,d2,…,dn〕叫作一個(gè)n元組〔n-tuple〕或簡稱元組。

3)分量〔Component〕笛卡爾積元素〔d1,d2,…,dn〕中的每一個(gè)值di叫作一個(gè)分量。

笛卡爾積〔續(xù))4)基數(shù)〔Cardinalnumber〕假設(shè)Di〔i=1,2,…,n〕為有限集,其基數(shù)為mi〔i=1,2,…,n〕,那么D1×D2×…×Dn的基數(shù)M為:在上例中,基數(shù):2×2×3=12,即D1×D2×D3共有2×2×3=12個(gè)元組笛卡爾積〔續(xù))5)笛卡爾積的表示方法笛卡爾積可表示為一個(gè)二維表。表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(yīng)一個(gè)域。在上例中,12個(gè)元組可列成一張二維表

表2.1D1,D2,D3的笛卡爾積SUPERVISORSPECIALITYPOSTGRADUATE張清玫計(jì)算機(jī)專業(yè)李勇張清玫計(jì)算機(jī)專業(yè)劉晨張清玫計(jì)算機(jī)專業(yè)王敏張清玫信息專業(yè)李勇張清玫信息專業(yè)劉晨張清玫信息專業(yè)王敏劉逸計(jì)算機(jī)專業(yè)李勇劉逸計(jì)算機(jī)專業(yè)劉晨劉逸計(jì)算機(jī)專業(yè)王敏劉逸信息專業(yè)李勇劉逸信息專業(yè)劉晨劉逸信息專業(yè)王敏3.關(guān)系〔Relation〕1)關(guān)系D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關(guān)系,表示為R〔D1,D2,…,Dn〕R:關(guān)系名n:關(guān)系的目或度〔Degree〕關(guān)系〔續(xù)〕注意:關(guān)系是笛卡爾積的有限子集。無限關(guān)系在數(shù)據(jù)庫系統(tǒng)中是無意義的。由于笛卡爾積不滿足交換律,即(d1,d2,…,dn)≠(d2,d1,…,dn)但關(guān)系滿足交換律,即(d1,d2,…,di,dj,…,dn〕=〔d1,d2,…,dj,di,…,dn〕〔i,j=1,2,…,n〕解決方法:為關(guān)系的每個(gè)列附加一個(gè)屬性名以取消關(guān)系元組的有序性關(guān)系〔續(xù)〕例在表2.1的笛卡爾積中取出有實(shí)際意義的元組來構(gòu)造關(guān)系關(guān)系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)關(guān)系名,屬性名假設(shè):導(dǎo)師與專業(yè):1:1,導(dǎo)師與研究生:1:n于是:SAP關(guān)系可以包含三個(gè)元組{(張清玫,信息專業(yè),李勇),

(張清玫,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏)}

關(guān)系〔續(xù)〕2)元組關(guān)系中的每個(gè)元素是關(guān)系中的元組,通常用t表示。3)單元關(guān)系與二元關(guān)系當(dāng)n=1時(shí),稱該關(guān)系為單元關(guān)系〔Unaryrelation〕。當(dāng)n=2時(shí),稱該關(guān)系為二元關(guān)系〔Binaryrelation〕。關(guān)系〔續(xù)〕4)關(guān)系的表示關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域。表2.2

SAP關(guān)系SUPERVISORSPECIALITYPOSTGRADUATE張清玫信息專業(yè)李勇張清玫信息專業(yè)劉晨劉逸信息專業(yè)王敏關(guān)系〔續(xù)〕5)屬性關(guān)系中不同列可以對(duì)應(yīng)相同的域,為了加以區(qū)分,必須對(duì)每列起一個(gè)名字,稱為屬性〔Attribute〕。n目關(guān)系必有n個(gè)屬性。關(guān)系〔續(xù)〕6)碼候選碼〔Candidatekey〕假設(shè)關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,那么稱該屬性組為候選碼在最簡單的情況下,候選碼只包含一個(gè)屬性。在最極端的情況下,關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候選碼,稱為全碼〔All-key〕關(guān)系〔續(xù)〕碼(續(xù))主碼假設(shè)一個(gè)關(guān)系有多個(gè)候選碼,那么選定其中一個(gè)為主碼〔Primarykey〕主碼的諸屬性稱為主屬性〔Primeattribute〕。不包含在任何侯選碼中的屬性稱為非碼屬性〔Non-keyattribute〕關(guān)系〔續(xù)〕7)三類關(guān)系根本關(guān)系〔根本表或基表〕實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示查詢表查詢結(jié)果對(duì)應(yīng)的表視圖表由根本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)8)根本關(guān)系的性質(zhì)①列是同質(zhì)的〔Homogeneous〕每一列中的分量是同一類型的數(shù)據(jù),來自同一個(gè)域②不同的列可出自同一個(gè)域其中的每一列稱為一個(gè)屬性不同的屬性要給予不同的屬性名根本關(guān)系的性質(zhì)(續(xù))上例中也可以只給出兩個(gè)域:人〔PERSON〕=張清玫,劉逸,李勇,劉晨,王敏專業(yè)〔SPECIALITY〕=計(jì)算機(jī)專業(yè),信息專業(yè)SAP關(guān)系的導(dǎo)師屬性和研究生屬性都從PERSON域中取值為了防止混淆,必須給這兩個(gè)屬性取不同的屬性名,而不能直接使用域名。例如定義:導(dǎo)師屬性名為SUPERVISOR-PERSON〔或SUPERVISOR〕研究生屬性名為POSTGRADUATE-PERSON〔或POSTGRADUATE〕根本關(guān)系的性質(zhì)(續(xù))③列的順序無所謂列的次序可以任意交換遵循這一性質(zhì)的數(shù)據(jù)庫產(chǎn)品(如ORACLE),增加新屬性時(shí),永遠(yuǎn)是插至最后一列但也有許多關(guān)系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了屬性順序根本關(guān)系的性質(zhì)(續(xù))④任意兩個(gè)元組不能完全相同由笛卡爾積的性質(zhì)決定但許多關(guān)系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質(zhì)。例如:Oracle,F(xiàn)oxPro等都允許關(guān)系表中存在兩個(gè)完全相同的元組,除非用戶特別定義了相應(yīng)的約束條件。根本關(guān)系的性質(zhì)(續(xù))⑤行的順序無所謂行的次序可以任意交換遵循這一性質(zhì)的數(shù)據(jù)庫產(chǎn)品(如ORACLE),插入一個(gè)元組時(shí)永遠(yuǎn)插至最后一行但也有許多關(guān)系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了元組的順序根本關(guān)系的性質(zhì)(續(xù))⑥分量必須取原子值每一個(gè)分量都必須是不可分的數(shù)據(jù)項(xiàng)。這是標(biāo)準(zhǔn)條件中最根本的一條表2.3

非規(guī)范化關(guān)系POSTGRADUATESUPERVISORSPECIALITYPG1PG2張清玫信息專業(yè)李勇劉晨劉逸信息專業(yè)王敏2.2.2關(guān)系模式1.什么是關(guān)系模式2.定義關(guān)系模式3.關(guān)系模式與關(guān)系1.什么是關(guān)系模式關(guān)系模式〔RelationSchema〕是型關(guān)系是值關(guān)系模式是對(duì)關(guān)系的描述元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來自的域?qū)傩耘c域之間的映象關(guān)系元組語義以及完整性約束條件屬性間的數(shù)據(jù)依賴關(guān)系集合2.定義關(guān)系模式關(guān)系模式可以形式化地表示為: R〔U,D,dom,F(xiàn)〕 R關(guān)系名 U組成該關(guān)系的屬性名集合 D屬性組U中屬性所來自的域 dom屬性向域的映象集合 F屬性間的數(shù)據(jù)依賴關(guān)系集合定義關(guān)系模式(續(xù))例:導(dǎo)師和研究生出自同一個(gè)域——人,取不同的屬性名,并在模式中定義屬性向域的映象,即說明它們分別出自哪個(gè)域:dom〔SUPERVISOR-PERSON〕=dom〔POSTGRADUATE-PERSON〕=PERSON定義關(guān)系模式(續(xù))關(guān)系模式通??梢院営洖?/p>

R(U)或

R(A1,A2,…,An)

R關(guān)系名A1,A2,…,An屬性名注:域名及屬性向域的映象常常直接說明為屬性的類型、長度3.關(guān)系模式與關(guān)系關(guān)系模式對(duì)關(guān)系的描述靜態(tài)的、穩(wěn)定的關(guān)系關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容動(dòng)態(tài)的、隨時(shí)間不斷變化的關(guān)系模式和關(guān)系往往統(tǒng)稱為關(guān)系通過上下文加以區(qū)別2.2.3關(guān)系數(shù)據(jù)庫1.關(guān)系數(shù)據(jù)庫2.關(guān)系數(shù)據(jù)庫的型與值1.關(guān)系數(shù)據(jù)庫在一個(gè)給定的應(yīng)用領(lǐng)域中,所有實(shí)體及實(shí)體之間聯(lián)系的關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫。2.關(guān)系數(shù)據(jù)庫的型與值關(guān)系數(shù)據(jù)庫也有型和值之分關(guān)系數(shù)據(jù)庫的型稱為關(guān)系數(shù)據(jù)庫模式,是對(duì)關(guān)系數(shù)據(jù)庫的描述假設(shè)干域的定義在這些域上定義的假設(shè)干關(guān)系模式關(guān)系數(shù)據(jù)庫的值是這些關(guān)系模式在某一時(shí)刻對(duì)應(yīng)的關(guān)系的集合,通常簡稱為關(guān)系數(shù)據(jù)庫2.3關(guān)系的完整性關(guān)系模型的完整性規(guī)那么是對(duì)關(guān)系的某種約束條件。關(guān)系模型中三類完整性約束:實(shí)體完整性參照完整性用戶定義的完整性實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱作是關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持。2.3.1實(shí)體完整性實(shí)體完整性規(guī)那么〔EntityIntegrity〕假設(shè)屬性A是根本關(guān)系R的主屬性,那么屬性A不能取空值例SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE屬性為主碼〔假設(shè)研究生不會(huì)重名〕,那么其不能取空值實(shí)體完整性(續(xù))關(guān)系模型必須遵守實(shí)體完整性規(guī)那么的原因(1)實(shí)體完整性規(guī)那么是針對(duì)根本關(guān)系而言的。一個(gè)根本表通常對(duì)應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集或多對(duì)多聯(lián)系。(2)現(xiàn)實(shí)世界中的實(shí)體和實(shí)體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí)。(3)相應(yīng)地,關(guān)系模型中以主碼作為唯一性標(biāo)識(shí)。(4)主碼中的屬性即主屬性不能取空值。空值就是“不知道〞或“無意義〞的值。主屬性取空值,就說明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,即存在不可區(qū)分的實(shí)體,這與第〔2〕點(diǎn)相矛盾,因此這個(gè)規(guī)那么稱為實(shí)體完整性。實(shí)體完整性(續(xù))注意:實(shí)體完整性規(guī)那么規(guī)定根本關(guān)系的所有主屬性都不能取空值例選修〔學(xué)號(hào),課程號(hào),成績〕“學(xué)號(hào)、課程號(hào)〞為主碼,那么兩個(gè)屬性都不能取空值。2.3.2參照完整性1.關(guān)系間的引用2.外碼3.參照完整性規(guī)那么1.關(guān)系間的引用在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來描述的,因此可能存在著關(guān)系與關(guān)系間的引用。例1學(xué)生實(shí)體、專業(yè)實(shí)體以及專業(yè)與學(xué)生間的一對(duì)多聯(lián)系學(xué)生〔學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡〕專業(yè)〔專業(yè)號(hào),專業(yè)名〕

學(xué)號(hào)姓名性別專業(yè)號(hào)年齡801張三女0119802李四男0120803王五男0120804趙六女0220805錢七男0219學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)專業(yè)號(hào)專業(yè)名01信息02數(shù)學(xué)03計(jì)算機(jī)專業(yè)(專業(yè)號(hào),專業(yè)名)關(guān)系間的引用(續(xù))例2學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系學(xué)生〔學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡〕課程〔課程號(hào),課程名,學(xué)分〕選修〔學(xué)號(hào),課程號(hào),成績〕

課程號(hào)課程名學(xué)分01數(shù)據(jù)庫402數(shù)據(jù)結(jié)構(gòu)403編譯404PASCAL2學(xué)號(hào)姓名性別專業(yè)號(hào)年齡801張三女0119802李四男0120803王五男0120804趙六女0220805錢七男0219學(xué)生學(xué)生選課課程學(xué)號(hào)課程號(hào)成績801049280103788010285802038280204908030488關(guān)系間的引用(續(xù))例3學(xué)生實(shí)體及其內(nèi)部的領(lǐng)導(dǎo)聯(lián)系(一對(duì)多)學(xué)生〔學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長〕學(xué)號(hào)姓名性別專業(yè)號(hào)年齡班長801張三女0119802802李四男0120803王五男0120802804趙六女0220805805錢七男02192.外碼〔ForeignKey〕設(shè)F是根本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與根本關(guān)系S的主碼Ks相對(duì)應(yīng),那么稱F是根本關(guān)系R的外碼根本關(guān)系R稱為參照關(guān)系〔ReferencingRelation〕根本關(guān)系S稱為被參照關(guān)系〔ReferencedRelation〕或目標(biāo)關(guān)系〔TargetRelation〕。外碼(續(xù))說明關(guān)系R和S不一定是不同的關(guān)系目標(biāo)關(guān)系S的主碼Ks和參照關(guān)系的外碼F必須定義在同一個(gè)〔或一組〕域上外碼并不一定要與相應(yīng)的主碼同名當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時(shí),往往取相同的名字,以便于識(shí)別3.參照完整性規(guī)那么假設(shè)屬性〔或?qū)傩越M〕F是根本關(guān)系R的外碼它與根本關(guān)系S的主碼Ks相對(duì)應(yīng)〔根本關(guān)系R和S不一定是不同的關(guān)系〕,那么對(duì)于R中每個(gè)元組在F上的值必須為:或者取空值〔F的每個(gè)屬性值均為空值〕或者等于S中某個(gè)元組的主碼值。參照完整性規(guī)那么(續(xù))學(xué)生關(guān)系中每個(gè)元組的“專業(yè)號(hào)〞屬性只取下面兩類值:〔1〕空值,表示尚未給該學(xué)生分配專業(yè)〔2〕非空值,這時(shí)該值必須是專業(yè)關(guān)系中某個(gè)元組的“專業(yè)號(hào)〞值,表示該學(xué)生不可能分配到一個(gè)不存在的專業(yè)中參照完整性規(guī)那么(續(xù))選修〔學(xué)號(hào),課程號(hào),成績〕“學(xué)號(hào)〞和“課程號(hào)〞是選修關(guān)系中的主屬性按照實(shí)體完整性和參照完整性規(guī)那么,它們只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值參照完整性規(guī)那么(續(xù))學(xué)生〔學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長〕“班長〞屬性值可以取兩類值:〔1〕空值,表示該學(xué)生所在班級(jí)尚未選出班長,或該學(xué)生本人即是班長;〔2〕非空值,這時(shí)該值必須是本關(guān)系中某個(gè)元組的學(xué)號(hào)值2.3.3用戶定義的完整性用戶定義的完整性是針對(duì)某一具體關(guān)系數(shù)據(jù)庫的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能。用戶定義的完整性(續(xù))例: 課程(課程號(hào),課程名,學(xué)分)“課程名〞屬性必須取唯一值非主屬性“課程名〞也不能取空值“學(xué)分〞屬性只能取值{1,2,3,4}2.4關(guān)系代數(shù)

概述

傳統(tǒng)的集合運(yùn)算專門的關(guān)系運(yùn)算概述1.關(guān)系代數(shù)2.運(yùn)算的三要素3.關(guān)系代數(shù)運(yùn)算的三個(gè)要素4.關(guān)系代數(shù)運(yùn)算的分類5.表示記號(hào)概述1.關(guān)系代數(shù) 一種抽象的查詢語言 用對(duì)關(guān)系的運(yùn)算來表達(dá)查詢概述(續(xù))2.關(guān)系代數(shù)運(yùn)算的三個(gè)要素運(yùn)算對(duì)象:關(guān)系運(yùn)算結(jié)果:關(guān)系運(yùn)算符:四類概述(續(xù))集合運(yùn)算符將關(guān)系看成元組的集合運(yùn)算是從關(guān)系的“水平〞方向即行的角度來進(jìn)行并、差、交、廣義笛卡爾積專門的關(guān)系運(yùn)算符不僅涉及行而且涉及列選擇、投影、連接、除算術(shù)比較符輔助專門的關(guān)系運(yùn)算符進(jìn)行操作邏輯運(yùn)算符輔助專門的關(guān)系運(yùn)算符進(jìn)行操作大于大于等于小于小于等于等于不等于>≥<≤=≠比較運(yùn)算符并差交廣義笛卡爾積∪-∩×集合運(yùn)算符含義運(yùn)算符含義運(yùn)算符表2.4關(guān)系代數(shù)運(yùn)算符

概述(續(xù))非與或

∧∨邏輯運(yùn)算符選擇投影連接除σπ

÷專門的關(guān)系運(yùn)算符含義運(yùn)算符含義運(yùn)算符表2.4關(guān)系代數(shù)運(yùn)算符〔續(xù)〕概述(續(xù))概述(續(xù))5.表示記號(hào)〔1〕R,tR,t[Ai]設(shè)關(guān)系模式為R(A1,A2,…,An)它的一個(gè)關(guān)系設(shè)為R。tR表示t是R的一個(gè)元組t[Ai]那么表示元組t中相應(yīng)于屬性Ai的一個(gè)分量概述(續(xù))〔2〕A,t[A],A假設(shè)A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一局部,那么A稱為屬性列或域列。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元組t在屬性列A上諸分量的集合。A那么表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的屬性組。概述(續(xù))〔3〕trtsR為n目關(guān)系,S為m目關(guān)系。trR,tsS,trts稱為元組的連接。它是一個(gè)n+m列的元組,前n個(gè)分量為R中的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組。概述(續(xù))4〕象集Zx給定一個(gè)關(guān)系R〔X,Z〕,X和Z為屬性組。當(dāng)t[X]=x時(shí),x在R中的象集〔ImagesSet〕為: Zx={t[Z]|tR,t[X]=x} 它表示R中屬性組X上值為x的諸元組在Z上分量的集合。2.4.1傳統(tǒng)的集合運(yùn)算并差交廣義笛卡爾積1.并〔Union〕R和S具有相同的目n〔即兩個(gè)關(guān)系都有n個(gè)屬性〕相應(yīng)的屬性取自同一個(gè)域R∪S仍為n目關(guān)系,由屬于R或?qū)儆赟的元組組成R∪S={t|tR∨tS}對(duì)應(yīng)SQL語言中的UNION并(續(xù))c1b2a2c2b2a1c1b1a1CBAc2b3a1c1b2a2c2b2a1c1b1a1CBAc1b2a2c2b3a1c2b2a1CBARSR∪S

2.差〔Difference〕R和S具有相同的目n相應(yīng)的屬性取自同一個(gè)域R-S

仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成

R-S={

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論