




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一章緒論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數(shù)據(jù)庫技術(shù)的研究領(lǐng)域1.6小結(jié)1.1
數(shù)據(jù)庫系統(tǒng)概述
1.1.1數(shù)據(jù)庫的地位
1.1.2四個基本概念
1.1.3數(shù)據(jù)管理技術(shù)的產(chǎn)生與發(fā)展引言1963年,美國Honeywell公司的IDS(IntegratedDataStore)系統(tǒng)投入運行,揭開了數(shù)據(jù)庫技術(shù)的序幕。20世紀(jì)70年代是數(shù)據(jù)庫蓬勃發(fā)展的年代,網(wǎng)狀系統(tǒng)和層次系統(tǒng)占據(jù)了整個數(shù)據(jù)庫商用市場,而關(guān)系系統(tǒng)僅處于實驗階段。20世紀(jì)80年代,關(guān)系系統(tǒng)由于使用簡便以及硬件性能的改善,逐步代替網(wǎng)狀系統(tǒng)和層次系統(tǒng)占領(lǐng)了市場。20世紀(jì)90年代,關(guān)系數(shù)據(jù)庫已成為數(shù)據(jù)庫技術(shù)的主流。進入21世紀(jì)以后,無論是市場的需求還是技術(shù)條件的成熟,對象數(shù)據(jù)庫技術(shù)、網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)的推廣和普及已成定局。數(shù)據(jù)庫的地位數(shù)據(jù)庫技術(shù)是數(shù)據(jù)管理的最新技術(shù),是計算機科學(xué)的重要分支數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的核心和基礎(chǔ),它的出現(xiàn)極大地促進了計算機應(yīng)用向各行各業(yè)的滲透數(shù)據(jù)庫的建設(shè)規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標(biāo)志1.1數(shù)據(jù)庫系統(tǒng)概述1.1.1數(shù)據(jù)庫的地位
1.1.2四個基本概念
1.1.3數(shù)據(jù)管理技術(shù)的產(chǎn)生與發(fā)展1.1.2四個基本概念數(shù)據(jù)(Data)數(shù)據(jù)庫(Database)數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫系統(tǒng)(DBS)一、數(shù)據(jù)數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象信息與數(shù)據(jù)之間存在著固有的聯(lián)系:數(shù)據(jù)是信息的符號表示或稱為載體;信息則是數(shù)據(jù)的內(nèi)涵,是對數(shù)據(jù)語義的解釋數(shù)據(jù)的定義描述事物的符號記錄數(shù)據(jù)的種類文字、圖形、圖象、聲音數(shù)據(jù)的特點數(shù)據(jù)與其語義是不可分的數(shù)據(jù)舉例學(xué)生檔案中的學(xué)生記錄(李明,男,1972,江蘇,計算機系,1990)數(shù)據(jù)的形式不能完全表達其內(nèi)容數(shù)據(jù)的解釋語義:學(xué)生姓名、性別、出生年月、籍貫、所在系別、入學(xué)時間解釋:李明是個大學(xué)生,1972年出生,江蘇人,1990年考入計算機系請給出另一個解釋和語義二、數(shù)據(jù)庫(舉例)二、數(shù)據(jù)庫(續(xù))人們收集并抽取出一個應(yīng)用所需要的大量數(shù)據(jù)之后,應(yīng)將其保存起來以供進一步加工處理,進一步抽取有用信息數(shù)據(jù)庫的定義數(shù)據(jù)庫(Database,簡稱DB)是長期儲存在計算機內(nèi)、有組織的、可共享的數(shù)據(jù)集合二、數(shù)據(jù)庫(續(xù))數(shù)據(jù)庫的特征數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存可為各種用戶共享冗余度較小數(shù)據(jù)獨立性較高易擴展三、數(shù)據(jù)庫管理系統(tǒng)什么是DBMS數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,簡稱DBMS)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。為用戶或應(yīng)用程序提供訪問DB的方法基于不同的數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關(guān)系型和面向?qū)ο笮偷?。DBMS的用途科學(xué)地組織和存儲數(shù)據(jù)、高效地獲取和維護數(shù)據(jù)DBMS的主要功能數(shù)據(jù)定義功能
提供數(shù)據(jù)定義語言(DDL)
定義數(shù)據(jù)庫中的數(shù)據(jù)對象數(shù)據(jù)操縱功能:提供數(shù)據(jù)操縱語言(DML)
操縱數(shù)據(jù)實現(xiàn)對數(shù)據(jù)庫的基本操作
(查詢、插入、刪除和修改)DBMS的主要功能數(shù)據(jù)庫的運行管理
保證數(shù)據(jù)的安全性、完整性、 多用戶對數(shù)據(jù)的并發(fā)使用 發(fā)生故障后的系統(tǒng)恢復(fù)數(shù)據(jù)庫的建立和維護功能(實用程序)
數(shù)據(jù)庫數(shù)據(jù)批量裝載 數(shù)據(jù)庫轉(zhuǎn)儲 介質(zhì)故障恢復(fù) 數(shù)據(jù)庫的重組織 性能監(jiān)視等四、數(shù)據(jù)庫系統(tǒng)什么是數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,簡稱DBS)是實現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù)、方便多用戶訪問的計算機硬件、軟件和數(shù)據(jù)資源組成的系統(tǒng),即它是采用數(shù)據(jù)庫技術(shù)的計算機系統(tǒng)。在不引起混淆的情況下常常把數(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_5圖1.1數(shù)據(jù)庫操作系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具
用戶
用戶
用戶
數(shù)據(jù)庫管理員圖1.1數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(續(xù))數(shù)據(jù)庫系統(tǒng)在計算機系統(tǒng)中的位置圖示參看教材page_5圖1.2硬件OSDBMS、編譯系統(tǒng)應(yīng)用開發(fā)工具應(yīng)用系統(tǒng)圖1.2數(shù)據(jù)庫在計算機系統(tǒng)中的地位1.1數(shù)據(jù)庫系統(tǒng)概述1.1.1數(shù)據(jù)庫的地位
1.1.2四個基本概念
1.1.3數(shù)據(jù)管理技術(shù)的產(chǎn)生與發(fā)展1.1.3數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展什么是數(shù)據(jù)管理對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和維護,是數(shù)據(jù)處理的中心問題數(shù)據(jù)管理技術(shù)的發(fā)展過程人工管理階段(40年代中--50年代中)文件系統(tǒng)階段(50年代末--60年代中)數(shù)據(jù)庫系統(tǒng)階段(60年代末--現(xiàn)在)數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展(續(xù))數(shù)據(jù)管理技術(shù)的發(fā)展動力應(yīng)用需求的推動計算機硬件的發(fā)展計算機軟件的發(fā)展時間(年)19561965197119781981198519952003容量(MB/軸)5301006001200500010000180000磁盤容量的發(fā)展一、人工管理時期40年代中--50年代中產(chǎn)生的背景應(yīng)用需求 科學(xué)計算 硬件水平 無直接存取存儲設(shè)備 軟件水平 沒有操作系統(tǒng) 處理方式 批處理 人工管理(續(xù))特點數(shù)據(jù)的管理者:應(yīng)用程序,數(shù)據(jù)不保存。數(shù)據(jù)面向的對象:某一應(yīng)用程序數(shù)據(jù)的共享程度:無共享、冗余度極大數(shù)據(jù)的獨立性:不獨立,完全依賴于程序數(shù)據(jù)的結(jié)構(gòu)化:無結(jié)構(gòu)數(shù)據(jù)控制能力:應(yīng)用程序自己控制應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(人工管理)
應(yīng)用程序1數(shù)據(jù)集1應(yīng)用程序2數(shù)據(jù)集2應(yīng)用程序n數(shù)據(jù)集n...…...…二、文件系統(tǒng)時期50年代末--60年代中產(chǎn)生的背景應(yīng)用需求 科學(xué)計算、管理 硬件水平 磁盤、磁鼓 軟件水平 有文件系統(tǒng) 處理方式 聯(lián)機實時處理、批處理
文件系統(tǒng)(續(xù))特點數(shù)據(jù)的管理者:文件系統(tǒng),數(shù)據(jù)可長期保存數(shù)據(jù)面向的對象:某一應(yīng)用程序數(shù)據(jù)的共享程度:共享性差、冗余度大數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu)數(shù)據(jù)的獨立性:獨立性差,數(shù)據(jù)的邏輯結(jié)構(gòu)改變必須修改應(yīng)用程序數(shù)據(jù)控制能力:應(yīng)用程序自己控制應(yīng)用程序與數(shù)據(jù)的對應(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ù)只能是定長的。可以間接實現(xiàn)數(shù)據(jù)變長要求,但訪問相應(yīng)數(shù)據(jù)的應(yīng)用程序復(fù)雜了。文件間是獨立的,因此數(shù)據(jù)整體無結(jié)構(gòu)。可以間接實現(xiàn)數(shù)據(jù)整體的有結(jié)構(gòu),但必須在應(yīng)用程序中描述數(shù)據(jù)間的聯(lián)系。數(shù)據(jù)的最小存取單位是記錄。學(xué)生人事記錄學(xué)號姓名性別系別年齡政治面貌家庭出生籍貫家庭成員獎懲情況學(xué)號姓名性別系別年齡政治面貌家庭出生籍貫學(xué)號與本人關(guān)系詳細情況日期獎懲條目圖1.6(a)主記錄——詳細記錄格式式例家庭成員記錄獎懲情況記錄1301001張三男計科系21共青團員干部四川成都張二父子……王一母子……張五兄弟……2001一等獎學(xué)金2001院級三好學(xué)生家庭成員記錄獎懲情況記錄圖1.6(b)學(xué)生張三記錄示例三、數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)管理技術(shù)進入數(shù)據(jù)庫階段的標(biāo)志是20世紀(jì)60年代末的三件大事:
1968年美國IBM公司推出層次模型的IMS系統(tǒng)。1969年美國CODASYL組織發(fā)布了DBTG報告,總結(jié)了當(dāng)時各式各樣的數(shù)據(jù)庫,提出網(wǎng)狀模型。1970年美國IBM公司的E.F.Codd連續(xù)發(fā)表論文,提出關(guān)系模型,奠定了關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)。產(chǎn)生的背景應(yīng)用背景 大規(guī)模管理 硬件背景 大容量磁盤 軟件背景 有數(shù)據(jù)庫管理系統(tǒng) 處理方式 聯(lián)機實時處理,分布處理,批處理 數(shù)據(jù)庫階段信息處理方式的演變
高級數(shù)據(jù)庫技術(shù)階段(一)分布式數(shù)據(jù)庫系統(tǒng)主要有下面三個特點數(shù)據(jù)庫的數(shù)據(jù)物理上分布在各個場地,但邏輯上是一個整體。每個場地既可以執(zhí)行局部應(yīng)用(訪問本地DB),也可以執(zhí)行全局應(yīng)用(訪問異地DB)。各地的計算機由數(shù)據(jù)通信網(wǎng)絡(luò)相聯(lián)系。本地計算機單獨不能勝任的處理任務(wù),可以通過通信網(wǎng)絡(luò)取得其它DB和計算機的支持。高級數(shù)據(jù)庫技術(shù)階段(二)分布式數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(續(xù))特點數(shù)據(jù)的管理者:DBMS數(shù)據(jù)面向的對象:現(xiàn)實世界 數(shù)據(jù)的共享程度:共享性高 數(shù)據(jù)的獨立性:高度的物理獨立性和一定的邏輯獨立性 數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化數(shù)據(jù)控制能力:由DBMS統(tǒng)一管理和控制應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(數(shù)據(jù)庫系統(tǒng))DBMS應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫…數(shù)據(jù)的高共享性的好處降低數(shù)據(jù)的冗余度,節(jié)省存儲空間避免數(shù)據(jù)間的不一致性使系統(tǒng)易于擴充數(shù)據(jù)獨立性物理獨立性指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。邏輯獨立性指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。數(shù)據(jù)結(jié)構(gòu)化整體數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫的主要特征之一。數(shù)據(jù)庫中實現(xiàn)的是數(shù)據(jù)的真正結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)用數(shù)據(jù)模型描述,無需程序定義和解釋。數(shù)據(jù)可以變長。數(shù)據(jù)的最小存取單位是數(shù)據(jù)項。DBMS對數(shù)據(jù)的控制功能數(shù)據(jù)的安全性(Security)保護使每個用戶只能按指定方式使用和處理指定數(shù)據(jù),保護數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。數(shù)據(jù)的完整性(Integrity)檢查將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。DBMS對數(shù)據(jù)的控制功能并發(fā)(Concurrency)控制對多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯誤的結(jié)果。數(shù)據(jù)庫恢復(fù)(Recovery)將數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)文件系統(tǒng)階段信息處理的傳統(tǒng)方式數(shù)據(jù)庫階段信息處理方式的演變第一章緒論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數(shù)據(jù)庫技術(shù)的研究領(lǐng)域1.6小結(jié)數(shù)據(jù)模型在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。通俗地講數(shù)據(jù)模型就是現(xiàn)實世界的模擬數(shù)據(jù)模型應(yīng)滿足三方面要求能比較真實地模擬現(xiàn)實世界容易為人所理解便于在計算機上實現(xiàn)數(shù)據(jù)模型(續(xù))數(shù)據(jù)模型分成兩個不同的層次(1)概念模型也稱信息模型,它是按用戶的觀點來對數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫的設(shè)計。(2)數(shù)據(jù)模型主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等,它是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,主要用于DBMS的實現(xiàn)。數(shù)據(jù)模型(續(xù))客觀對象的抽象過程兩步抽象現(xiàn)實世界中的客觀對象抽象為概念模型;把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。
概念模型是現(xiàn)實世界到機器世界的一個中間層次。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ù)模型的組成要素數(shù)據(jù)結(jié)構(gòu)(靜態(tài)特性)數(shù)據(jù)操作(動態(tài)特性)數(shù)據(jù)的完整性約束條件1.數(shù)據(jù)結(jié)構(gòu)什么是數(shù)據(jù)結(jié)構(gòu)對象類型的集合兩類對象與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對象與數(shù)據(jù)之間聯(lián)系有關(guān)的對象數(shù)據(jù)結(jié)構(gòu)是對系統(tǒng)靜態(tài)特性的描述2.數(shù)據(jù)操作數(shù)據(jù)操作對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作及有關(guān)的操作規(guī)則數(shù)據(jù)操作的類型檢索更新(包括插入、刪除、修改)
數(shù)據(jù)操作(續(xù))數(shù)據(jù)模型對操作的定義操作的確切含義操作符號操作規(guī)則(如優(yōu)先級)實現(xiàn)操作的語言數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述。3.數(shù)據(jù)的約束條件數(shù)據(jù)的約束條件一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。
數(shù)據(jù)的約束條件(續(xù))數(shù)據(jù)模型對約束條件的定義反映和規(guī)定本數(shù)據(jù)模型必須遵守的基本的通用的完整性約束條件。例如在關(guān)系模型中,任何關(guān)系必須滿足實體完整性和參照完整性兩個條件。提供定義完整性約束條件的機制,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。1.2.2概念模型1.概念模型2.信息世界中的基本概念3.概念模型的表示方法1.概念模型概念模型的用途概念模型用于信息世界的建模是現(xiàn)實世界到機器世界的一個中間層次是數(shù)據(jù)庫設(shè)計的有力工具數(shù)據(jù)庫設(shè)計人員和用戶之間進行交流的語言對概念模型的基本要求較強的語義表達能力,能夠方便、直接地表達應(yīng)用中的各種語義知識簡單、清晰、易于用戶理解。2.信息世界中的基本概念
(1)實體(Entity)客觀存在并可相互區(qū)別的事物稱為實體??梢允蔷唧w的人、事、物或抽象的概念。(2)屬性(Attribute)實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。
(3)碼(Key)唯一標(biāo)識實體的屬性集稱為碼。
信息世界中的基本概念(續(xù))(4)域(Domain)屬性的取值范圍稱為該屬性的域。(5)實體型(EntityType)用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型(6)實體集(EntitySet)同型實體的集合稱為實體集信息世界中的基本概念(續(xù))(7)聯(lián)系(Relationship)現(xiàn)實世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系實體型間聯(lián)系兩個實體型一對一聯(lián)系(1:1)三個實體型一對多聯(lián)系(1:n)一個實體型多對多聯(lián)系(m:n)
兩個實體型間的聯(lián)系實體型1聯(lián)系名實體型2111:1聯(lián)系實體型1聯(lián)系名實體型2mnm:n聯(lián)系實體型1聯(lián)系名實體型21n1:n聯(lián)系兩個實體型間的聯(lián)系一對一聯(lián)系如果對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系。記為1:1。
實例(乘客與座位)班級與班長之間的聯(lián)系:一個班級只有一個正班長一個班長只在一個班中任職兩個實體型間的聯(lián)系(續(xù))一對多聯(lián)系如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系記為1:n實例(車間與工人)班級與學(xué)生之間的聯(lián)系:一個班級中有若干名學(xué)生,每個學(xué)生只在一個班級中學(xué)習(xí)兩個實體型間的聯(lián)系(續(xù))多對多聯(lián)系(m:n)如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體B具有多對多聯(lián)系。記為m:n實例課程與學(xué)生之間的聯(lián)系:一門課程同時有若干個學(xué)生選修一個學(xué)生可以同時選修多門課程多個實體型間的聯(lián)系(續(xù))多個實體型間的一對多聯(lián)系若實體集E1,E2,...,En存在聯(lián)系,對于實體集Ej(j=1,2,...,i-1,i+1,...,n)中的給定實體,最多只和Ei中的一個實體相聯(lián)系,則我們說Ei與E1,E2,...,Ei-1,Ei+1,...,En之間的聯(lián)系是一對多的。多個實體型間的聯(lián)系(續(xù))實例
課程、教師與參考書三個實體型如果一門課程可以有若干個教師講授,使用若干本參考書,每一個教師只講授一門課程,每一本參考書只供一門課程使用課程與教師、參考書之間的聯(lián)系是一對多的多個實體型間的一對一聯(lián)系多個實體型間的多對多聯(lián)系同一實體集內(nèi)各實體間的聯(lián)系一對多聯(lián)系實例
職工實體集內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系某一職工(干部)“領(lǐng)導(dǎo)”若干名職工一個職工僅被另外一個職工直接領(lǐng)導(dǎo)這是一對多的聯(lián)系一對一聯(lián)系多對多聯(lián)系3.概念模型的表示方法概念模型的表示方法很多實體-聯(lián)系方法(E-R方法)用E-R圖來描述現(xiàn)實世界的概念模型E-R方法也稱為E-R模型E-R圖實體型用矩形表示,矩形框內(nèi)寫明實體名。學(xué)生教師E-R圖(續(xù))屬性用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來學(xué)生學(xué)號年齡性別姓名E-R圖(續(xù))聯(lián)系聯(lián)系本身:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型(1:1、1:n或m:n)聯(lián)系的屬性:聯(lián)系本身也是一種實體型,也可以有屬性。如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來
聯(lián)系的表示方法實體型1聯(lián)系名實體型2111:1聯(lián)系實體型1聯(lián)系名實體型2mnm:n聯(lián)系實體型1聯(lián)系名實體型21n1:n聯(lián)系聯(lián)系的表示方法(續(xù))實體型1聯(lián)系名mn同一實體型內(nèi)部的m:n聯(lián)系實體型1聯(lián)系名實體型21m多個實體型間的1:n聯(lián)系實體型3n聯(lián)系的表示方法示例班級班級-班長班長111:1聯(lián)系課程選修學(xué)生mnm:n聯(lián)系班級組成學(xué)生1n1:n聯(lián)系聯(lián)系的表示方法示例(續(xù))職工領(lǐng)導(dǎo)1n同一實體型內(nèi)部的1:n聯(lián)系課程講授教師1m多個實體型間的1:n聯(lián)系參考書n聯(lián)系屬性的表示方法課程選修學(xué)生mn成績舉例說明用E-R圖來表示某個工廠的物資管理的概念模型
(1)物資管理涉及的實體
A、倉庫。屬性有倉庫號,倉庫面積,電話號碼。
B、零件。屬性有零件號,名稱,規(guī)格,單價,描述。
C、供應(yīng)商。屬性有供應(yīng)商號,姓名,地址,電話號碼,帳號。
D、項目。屬性有項目號,預(yù)算,開工日期。
E、職工。屬性有職工號,姓名,年齡,職稱。
(2)這些實體之間的聯(lián)系
A、一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中。因此,倉庫和零件具有多對多的聯(lián)系。
B、一個倉庫有多個職工當(dāng)倉庫保管員,一個職工只能在一個倉庫工作。因此,倉庫和職工之間是一對多的聯(lián)系。
C、職工之間具有領(lǐng)導(dǎo)和被領(lǐng)導(dǎo)關(guān)系。因此,職工實體中具有一對多的聯(lián)系。
D、供應(yīng)商、項目和零件三者之間具有多對多的聯(lián)系。倉庫號面積電話號職工號姓名年齡職稱倉庫職工零件號名稱規(guī)格單價描述項目號預(yù)算開工日期零件項目
(a)實體及其屬性圖
(3)該工廠的物資管理E-R圖供應(yīng)商項目零件供應(yīng)量倉庫庫存量職工mpnm1nn1n
(b)
某工廠物資管理實體及其聯(lián)系圖(E-R圖)供應(yīng)庫存工作領(lǐng)導(dǎo)供應(yīng)商號姓名地址電話號帳號供應(yīng)商(a)實體及其屬性圖E-R圖(續(xù))完整的E-R圖實體聯(lián)系模型(二)首先確定實體類型。本問題有三個實體類型:零件PART,工程項目PROJECT,零件供應(yīng)商SUPPLIER。確定聯(lián)系類型。PROJECT和PART之間是M:N聯(lián)系,PART和SUPPLIER之間也是M:N聯(lián)系,分別命名為P_P和P_S.把實體類型和聯(lián)系類型組合成ER圖。確定實體類型和聯(lián)系類型的屬性。確定實體類型的鍵,在ER圖中屬于碼的屬性名下畫一條橫線。實體聯(lián)系模型(三)實體聯(lián)系模型(四)作業(yè):為某百貨公司設(shè)計一個E-R模型:
該百貨公司管轄若干個連鎖店,每家店經(jīng)營若干商品,每家商店有若干職工,但每個職工只有服務(wù)于一家店。1.2.3常用數(shù)據(jù)模型非關(guān)系模型層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)數(shù)據(jù)結(jié)構(gòu):以基本層次聯(lián)系為基本單位
基本層次聯(lián)系:兩個記錄以及它們之間的一對多(包括一對一)的聯(lián)系常用數(shù)據(jù)模型(續(xù))關(guān)系模型(RelationalModel)數(shù)據(jù)結(jié)構(gòu):表面向?qū)ο竽P?ObjectOrientedModel)數(shù)據(jù)結(jié)構(gòu):對象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ù)模型的存儲結(jié)構(gòu)5.層次數(shù)據(jù)模型的優(yōu)缺點
6.典型的層次數(shù)據(jù)庫系統(tǒng)1.層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)層次模型
滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型1.有且只有一個結(jié)點沒有雙親結(jié)點,這個結(jié)點稱為根結(jié)點2.根以外的其它結(jié)點有且只有一個雙親結(jié)點層次模型中的幾個術(shù)語根結(jié)點,雙親結(jié)點,兄弟結(jié)點,葉結(jié)點層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))
R1
根結(jié)點
R2
兄弟結(jié)點
R3
葉結(jié)點
R4
兄弟結(jié)點
R5
葉結(jié)點
葉結(jié)點層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))表示方法實體型:用記錄類型描述。每個結(jié)點表示一個記錄類型。屬性:用字段描述。每個記錄類型可包含若干個字段。聯(lián)系:用結(jié)點之間的連線表示記錄(類)型之間的
一對多的聯(lián)系系編號系名辦公地點教研室編號教研室學(xué)號姓名成績職工號姓名研究方向教研室系教員學(xué)生
圖1.18教員學(xué)生數(shù)據(jù)庫模型層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))特點結(jié)點的雙親是唯一的只能直接處理一對多的實體聯(lián)系每個記錄類型定義一個排序字段,也稱為碼字段任何記錄值只有按其路徑查看時,才能顯出它的全部意義沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))多對多聯(lián)系在層次模型中的表示用層次模型間接表示多對多聯(lián)系方法將多對多聯(lián)系分解成一對多聯(lián)系分解方法冗余結(jié)點法虛擬結(jié)點法
二、多對多聯(lián)系在層次模型中的表示學(xué)號姓名成績課程號課程名S-C學(xué)號姓名成績學(xué)號姓名成績課程號課程名課程號課程名學(xué)生SSSCCmn(a)(b)(c)學(xué)號姓名成績課程號課程名SCV.CV.SCS圖1.20用層次模型表示多對多聯(lián)系2.層次模型的數(shù)據(jù)操縱
查詢插入刪除更新3.層次模型的完整性約束無相應(yīng)的雙親結(jié)點值就不能插入子女結(jié)點值如果刪除雙親結(jié)點值,則相應(yīng)的子女結(jié)點值也被同時刪除更新操作時,應(yīng)更新所有相應(yīng)記錄,以保證數(shù)據(jù)的一致性4.層次數(shù)據(jù)模型的存儲結(jié)構(gòu)鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現(xiàn)層次順序鏈接法用指引元來反映數(shù)據(jù)之間的層次聯(lián)系子女-兄弟鏈接法層次序列鏈接法1鄰接法ABCA1B1B4B6
C3C5C7C14C2C9C4C6C8(a)(b)圖1.21層次數(shù)據(jù)庫及實例A1B1C3C5C7C14B4C2C9B6C4C6C8A2……圖1.22鄰接法
2.鏈接法用指引元來反映數(shù)據(jù)之間的層次聯(lián)系.(1)子女—兄弟鏈接法A1··(2)層次序列鏈接法B1··B4··B6·*A2··C3·C5·C14*C7·C2·C9*C4·C6·C8*·B6·B4·B1·A1·C3·C14·C7·C5·C8·C9·C2·C6·C45.層次模型的優(yōu)缺點優(yōu)點層次數(shù)據(jù)模型簡單,對具有一對多的層次關(guān)系的部門描述自然、直觀,容易理解性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型層次數(shù)據(jù)模型提供了良好的完整性支持缺點多對多聯(lián)系表示不自然對插入和刪除操作的限制多查詢子女結(jié)點必須通過雙親結(jié)點層次命令趨于程序化第一章緒論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數(shù)據(jù)庫技術(shù)的研究領(lǐng)域1.6小結(jié)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ù)模型的存儲結(jié)構(gòu)5.網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點6.典型的網(wǎng)狀數(shù)據(jù)庫系統(tǒng)1.網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)網(wǎng)狀模型滿足下面兩個條件的基本層次聯(lián)系的集合為網(wǎng)狀模型。1.允許一個以上的結(jié)點無雙親;2.一個結(jié)點可以有多于一個的雙親。網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)
R1
R2
R3L1L2
R1
R2L3L1L2
R3L4
R4
R5
網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))表示方法(與層次數(shù)據(jù)模型相同)實體型:用記錄類型描述。每個結(jié)點表示一個記錄類型。屬性:用字段描述。每個記錄類型可包含若干個字段。聯(lián)系:用結(jié)點之間的連線表示記錄(類)型之間的一對多的父子聯(lián)系。網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))特點只能直接處理一對多的實體聯(lián)系支持記錄碼的概念,碼唯一標(biāo)識記錄的數(shù)據(jù)項的集合任何記錄值只有按其路徑查看時,才能顯出它的全部意義網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))網(wǎng)狀模型與層次模型的區(qū)別網(wǎng)狀模型允許多個結(jié)點沒有雙親結(jié)點網(wǎng)狀模型允許結(jié)點有多個雙親結(jié)點網(wǎng)狀模型允許兩個結(jié)點之間有多種聯(lián)系(復(fù)合聯(lián)系)網(wǎng)狀模型可以更直接地去描述現(xiàn)實世界層次模型實際上是網(wǎng)狀模型的一個特例網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))
R1
R2
R3L1L2
R1
R2L3L1L2
R3L4
R4
R5
網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))
R1
L1L2
R2父母人子女樹種植砍伐養(yǎng)育贍養(yǎng)網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))學(xué)生宿舍學(xué)生教研室系教師網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))多對多聯(lián)系在網(wǎng)狀模型中的表示用網(wǎng)狀模型間接表示多對多聯(lián)系方法引進聯(lián)結(jié)記錄
學(xué)號姓名系別課程號課程名學(xué)分
學(xué)號
課程號
成績學(xué)生課程選課S-SCC-SC圖1.25學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)庫模式2.網(wǎng)狀模型的數(shù)據(jù)操縱查詢插入刪除更新3.網(wǎng)狀數(shù)據(jù)模型的完整性約束網(wǎng)狀數(shù)據(jù)庫系統(tǒng)(如DBTG)對數(shù)據(jù)操縱加了一些限制,提供了一定的完整性約束碼一個聯(lián)系中雙親結(jié)點與子女結(jié)點之間是一對多聯(lián)系屬籍類別加入類別(自動的,手工的)移出類別(固定的,必須的,隨意的)3.網(wǎng)狀數(shù)據(jù)模型的完整性約束完整性約束條件允許插入尚未確定雙親結(jié)點值的子女結(jié)點值允許只刪除雙親結(jié)點值4.網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu)關(guān)鍵實現(xiàn)記錄之間的聯(lián)系常用方法單向鏈接雙向鏈接環(huán)狀鏈接向首鏈接例:P29S1
C1AS1
C2AS2
C1AS2
C3BS3
C1BS3
C2BS4
C1AS4
C2AS4
C3BS1S2S3S4C1C2C3圖1.26
學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)庫實例5.網(wǎng)狀模型的優(yōu)缺點優(yōu)點能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親具有良好的性能,存取效率較高缺點結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握DDL、DML語言復(fù)雜,用戶不容易使用記錄之間的聯(lián)系通過存取路徑實現(xiàn),編寫應(yīng)用程序如需訪問數(shù)據(jù)就必須考慮選擇適當(dāng)?shù)拇嫒÷窂揭垣@得較高的查詢效率6.典型的網(wǎng)狀數(shù)據(jù)庫系統(tǒng)DBTG系統(tǒng),亦稱CODASYL系統(tǒng)由DBTG提出的一個系統(tǒng)方案奠定了數(shù)據(jù)庫系統(tǒng)的基本概念、方法和技術(shù)70年代推出實際系統(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ù)模型的存儲結(jié)構(gòu)5.關(guān)系數(shù)據(jù)模型的優(yōu)缺點6.典型的關(guān)系數(shù)據(jù)庫系統(tǒng)
關(guān)系模型最重要的一種數(shù)據(jù)模型。也是目前主要采用的數(shù)據(jù)模型1970年由美國IBM公司SanJose研究室的研究員E.F.Codd提出本課程的重點關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)在用戶觀點下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。關(guān)系模型的基本概念關(guān)系(Relation)一個關(guān)系對應(yīng)通常說的一張表。元組(Tuple)表中的一行即為一個元組。屬性(Attribute)表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名。關(guān)系模型的基本概念主碼(Key)表中的某個屬性組,它可以唯一確定一個元組。域(Domain)屬性的取值范圍。分量元組中的一個屬性值。關(guān)系模式對關(guān)系的描述關(guān)系名(屬性1,屬性2,…,屬性n)學(xué)生(學(xué)號,姓名,年齡,性別,系,年級)關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))實體及實體間的聯(lián)系的表示方法實體型:直接用關(guān)系(表)表示。屬性:用屬性名表示。一對一聯(lián)系:隱含在實體對應(yīng)的關(guān)系中。一對多聯(lián)系:隱含在實體對應(yīng)的關(guān)系中。多對多聯(lián)系:直接用關(guān)系表示。關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))例1學(xué)生、系、系與學(xué)生之間的一對多聯(lián)系:學(xué)生(學(xué)號,姓名,年齡,性別,系號,年級)系(系號,系名,辦公地點)例2系、系主任、系與系主任間的一對一聯(lián)系關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))例3學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系:
學(xué)生(學(xué)號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學(xué)分)選修(學(xué)號,課程號,成績)關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))關(guān)系必須是規(guī)范化的,滿足一定的規(guī)范條件最基本的規(guī)范條件:關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項,不允許表中還有表。2.關(guān)系模型的數(shù)據(jù)操縱查詢、插入、刪除、更新數(shù)據(jù)操作是集合操作,操作對象和操作結(jié)果都是關(guān)系,即若干元組的集合存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細說明“怎么干”3.關(guān)系模型的完整性約束實體完整性參照完整性用戶定義的完整性4.關(guān)系數(shù)據(jù)模型的存儲結(jié)構(gòu)表以文件形式存儲有的DBMS一個表對應(yīng)一個操作系統(tǒng)文件有的DBMS自己設(shè)計文件結(jié)構(gòu)5.關(guān)系模型的優(yōu)缺點優(yōu)點建立在嚴格的數(shù)學(xué)概念的基礎(chǔ)上概念單一。數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用實體和各類聯(lián)系都用關(guān)系來表示。對數(shù)據(jù)的檢索結(jié)果也是關(guān)系。關(guān)系模型的存取路徑對用戶透明具有更高的數(shù)據(jù)獨立性,更好的安全保密性簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作關(guān)系模型的優(yōu)缺點(續(xù))缺點存取路徑對用戶透明導(dǎo)致查詢效率往往不如非關(guān)系數(shù)據(jù)模型為提高性能,必須對用戶的查詢請求進行優(yōu)化增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度6.典型的關(guān)系數(shù)據(jù)庫系統(tǒng)(RDBMS)ORACLEOracle軟件系統(tǒng)有限公司的產(chǎn)品.Oracle成立于1977年,總部設(shè)在加利福尼亞,是一家世界性的計算機軟件供應(yīng)商,向全球百余個國家的用戶提供大量的軟件產(chǎn)品和電子化信息服務(wù).ORACLE系列產(chǎn)品在數(shù)據(jù)庫領(lǐng)域一直居領(lǐng)先地位,它在我國的銷售份額占50%以上.它現(xiàn)在發(fā)展到了Oracle8I系列
SYBASESystem和Database相結(jié)合的含義.SYBASE公司是第一個提出并推出客戶/服務(wù)器(C/S)體系結(jié)構(gòu)的高性能數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)庫廠商,并促進了它的廣泛流行.1999年SYBASE公司率先在我國市場上發(fā)布企業(yè)門戶(EnterprisePortal,EP)技術(shù)INFORMIX是關(guān)系數(shù)據(jù)庫系統(tǒng)公司(RelationalDatabaseSystemInc)的注冊商標(biāo),總部設(shè)在美國加州.它的取名來自Information+UNIX,自1983年,在UNIX上推出第一個關(guān)系數(shù)據(jù)庫產(chǎn)品后,INFORMIX公司繼續(xù)開發(fā)了可以在UNIX、WINDOWS、NT、NetWare、Macintosh等多種操作環(huán)境下運行,具有很好的開放性
6.典型的關(guān)系數(shù)據(jù)庫系統(tǒng)DB/2DB2關(guān)系型數(shù)據(jù)庫家族產(chǎn)品是IBM公司的主要產(chǎn)品。80年代初DB2的發(fā)展重點放在大型的主機平臺。從80年代中期到90年代初DB2已發(fā)展到中、小型機,以及微機平臺。它適用于各種硬件平臺,其中包括基于Intel的微機、IBM的AS/400系統(tǒng)、大型并行處理機等
MicrosoftSQLServer是微軟公司的產(chǎn)品,它建立在MicrosoftWindowsNT操作系統(tǒng)基礎(chǔ)之上,提供了一個功能強大的客戶/服務(wù)器平臺,是能同時支持多個并發(fā)用戶的關(guān)系數(shù)據(jù)庫系統(tǒng).不象大型機和小型機數(shù)據(jù)庫,服務(wù)器數(shù)據(jù)庫是通過稱為客戶機的用戶訪問的,即是從其它計算機系統(tǒng)而不是從輸入/輸出(例如終端)進行訪問的.其最新產(chǎn)品是SQLSERVER7.0
INGRES
關(guān)系技術(shù)公司(RelationalTechnologyInc)的INGRES數(shù)據(jù)庫系統(tǒng)的多項技術(shù)直接采用了Berkeley大學(xué)的最新研究成果,因為關(guān)系數(shù)據(jù)庫技術(shù)最早源于Berkeley大學(xué),所以可謂關(guān)系數(shù)據(jù)庫技術(shù)之鼻祖.數(shù)據(jù)庫不僅能管理數(shù)據(jù),而且還能管理知識和對象,屬于技術(shù)上領(lǐng)先的智能型數(shù)據(jù)庫管理系統(tǒng)
第一章緒論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數(shù)據(jù)庫技術(shù)的研究領(lǐng)域1.6小結(jié)1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.3.1數(shù)據(jù)庫系統(tǒng)內(nèi)部的模式結(jié)構(gòu)從數(shù)據(jù)庫管理系統(tǒng)角度看三級模式結(jié)構(gòu)1.3.2數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu)從數(shù)據(jù)庫最終用戶角度看 集中式結(jié)構(gòu)、分布式結(jié)構(gòu)、客戶/服務(wù)器結(jié)構(gòu)和并行結(jié)構(gòu)1.3.1數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫的二級映象功能與數(shù)據(jù)獨立性數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)模型中“型”和“值”的概念型(Type)對某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說明值(Value)是型的一個具體賦值例如:學(xué)生記錄記錄型:(學(xué)號,姓名,性別,系別,年齡,籍貫)該記錄型的一個記錄值:(900201,李明,男,計算機,22,江蘇)數(shù)據(jù)庫系統(tǒng)模式的概念(續(xù))模式(Schema)數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述僅是型的描述,不涉及具體的值反映數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系模式是相對穩(wěn)定的模式的一個實例(Instance)模式的一個具體值反映數(shù)據(jù)庫某一時刻的狀態(tài)同一個模式可以有很多實例實例隨數(shù)據(jù)庫中的數(shù)據(jù)的更新而變動1.3.1數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫的二級映象功能與數(shù)據(jù)獨立性數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu):數(shù)據(jù)的三個抽象級別1.模式(Schema)模式(也稱邏輯模式)數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述所有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的需求一個數(shù)據(jù)庫只有一個模式模式的地位:是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層與數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境無關(guān)與具體的應(yīng)用程序、開發(fā)工具及高級程序設(shè)計語言無關(guān)模式的定義數(shù)據(jù)的邏輯結(jié)構(gòu)(數(shù)據(jù)項的名字、類型、取值范圍等)數(shù)據(jù)之間的聯(lián)系數(shù)據(jù)有關(guān)的安全性、完整性要求由DBMS提供的模式描述語言(模式DDL)實現(xià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)系:一對多外模式通常是模式的子集一個數(shù)據(jù)庫可以有多個外模式。反映了不同的用戶的應(yīng)用需求、看待數(shù)據(jù)的方式、對數(shù)據(jù)保密的要求對模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類型、長度、保密級別等都可以不同外模式與應(yīng)用的關(guān)系:一對多同一外模式也可以為某一用戶的多個應(yīng)用系統(tǒng)所使用,但一個應(yīng)用程序只能使用一個外模式。外模式(續(xù))外模式的用途保證數(shù)據(jù)庫安全性的一個有力措施。每個用戶只能看見和訪問所對應(yīng)的外模式中的數(shù)據(jù)由DBMS提供子模式描述語言定義3.內(nèi)模式(InternalSchema)內(nèi)模式(也稱存儲模式)是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式記錄的存儲方式(順序存儲,按照B樹結(jié)構(gòu)存儲,按hash方法存儲)索引的組織方式數(shù)據(jù)是否壓縮存儲數(shù)據(jù)是否加密數(shù)據(jù)存儲記錄結(jié)構(gòu)的規(guī)定一個數(shù)據(jù)庫只有一個內(nèi)模式由DBMS提供的內(nèi)模式描述語言定義1.3.1數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫的二級映象功能與數(shù)據(jù)獨立性三級模式與二級映象三級模式是對數(shù)據(jù)的三個抽象級別二級映象在DBMS內(nèi)部實現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.外模式/模式映象定義外模式與模式之間的對應(yīng)關(guān)系每一個外模式都對應(yīng)一個外模式/模式映象映象定義通常包含在各自外模式的描述中外模式/模式映象的用途保證數(shù)據(jù)的邏輯獨立性當(dāng)模式改變時,數(shù)據(jù)庫管理員修改有關(guān)的外模式/模式映象,使外模式保持不變應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。2.模式/內(nèi)模式映象模式/內(nèi)模式映象定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。例如,說明邏輯記錄和字段在內(nèi)部是如何表示的數(shù)據(jù)庫中模式/內(nèi)模式映象是唯一的該映象定義通常包含在模式描述中模式/內(nèi)模式映象的用途保證數(shù)據(jù)的物理獨立性當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了(例如選用了另一種存儲結(jié)構(gòu)),數(shù)據(jù)庫管理員修改模式/內(nèi)模式映象,使模式保持不變應(yīng)用程序不受影響。保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.3.1數(shù)據(jù)庫系統(tǒng)內(nèi)部的模式結(jié)構(gòu)從數(shù)據(jù)庫管理系統(tǒng)角度看1.3.2數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu)從數(shù)據(jù)庫最終用戶角度看1.3.2數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu)單用戶結(jié)構(gòu)主從式結(jié)構(gòu)分布式結(jié)構(gòu)客戶/服務(wù)器結(jié)構(gòu)瀏覽器/應(yīng)用服務(wù)器/數(shù)據(jù)庫服務(wù)器結(jié)構(gòu)第一章緒論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數(shù)據(jù)庫技術(shù)的研究領(lǐng)域1.6小結(jié)1.4數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)應(yīng)用系統(tǒng)數(shù)據(jù)庫管理員(用戶)數(shù)據(jù)表示外模式模式內(nèi)模式DB應(yīng)用系統(tǒng)DBMSOS用戶應(yīng)用程序員DBA,系統(tǒng)分析員
圖1.30各種人員的數(shù)據(jù)視圖數(shù)據(jù)抽象級別一、硬件平臺及數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)對硬件資源的要求(1)足夠大的內(nèi)存操作系統(tǒng)DBMS的核心模塊數(shù)據(jù)緩沖區(qū)應(yīng)用程序數(shù)據(jù)庫系統(tǒng)對硬件資源的要求(2)足夠大的外存磁盤操作系統(tǒng)DBMS應(yīng)用程序數(shù)據(jù)庫及其備份光盤、磁帶、軟盤數(shù)據(jù)備份(3)較高的通道能力,提高數(shù)據(jù)傳送率二、軟件DBMS操作系統(tǒng)與數(shù)據(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è)計人員應(yīng)用程序員最終用戶1.數(shù)據(jù)庫管理員(DBA)決定數(shù)據(jù)庫中的信息內(nèi)容和結(jié)構(gòu)決定數(shù)據(jù)庫的存儲結(jié)構(gòu)和存取策略定義數(shù)據(jù)的安全性要求和完整性約束條件數(shù)據(jù)庫管理員(續(xù))監(jiān)控數(shù)據(jù)庫的使用和運行周期性轉(zhuǎn)儲數(shù)據(jù)庫數(shù)據(jù)文件日志文件系統(tǒng)故障恢復(fù)介質(zhì)故障恢復(fù)監(jiān)視審計文件數(shù)據(jù)庫管理員(續(xù))數(shù)據(jù)庫的改進和重組性能監(jiān)控和調(diào)優(yōu)數(shù)據(jù)重組數(shù)據(jù)庫重構(gòu)2.系統(tǒng)分析員負責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)范說明與用戶及DBA協(xié)商,確定系統(tǒng)的硬軟件配置參與數(shù)據(jù)庫系統(tǒng)的概要設(shè)計3.數(shù)據(jù)庫設(shè)計人員參加用戶需求調(diào)查和系統(tǒng)分析確定數(shù)據(jù)庫中的數(shù)據(jù)設(shè)計數(shù)據(jù)庫各級模式4.應(yīng)用程序員設(shè)計和編寫應(yīng)用系統(tǒng)的程序模塊進行調(diào)試和安裝5.用戶偶然用戶企業(yè)或組織機構(gòu)的高中級管理人員簡單用戶銀行的職員、機票預(yù)定人員、旅館總臺服務(wù)員用戶(續(xù))復(fù)雜用戶工程師、科學(xué)家、經(jīng)濟學(xué)家、科技工作者等直接使用數(shù)據(jù)庫語言訪問數(shù)據(jù)庫,甚至能夠基于數(shù)據(jù)庫管理系統(tǒng)的API編制自己的應(yīng)用程序第一章緒論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數(shù)據(jù)庫技術(shù)的研究領(lǐng)域1.6小結(jié)1.5數(shù)據(jù)庫技術(shù)的研究領(lǐng)域數(shù)據(jù)庫管理系統(tǒng)軟件的研制數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫理論第一章緒論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數(shù)據(jù)庫技術(shù)的研究領(lǐng)域1.6小結(jié)小結(jié)數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫的基本概念數(shù)據(jù)管理的發(fā)展過程數(shù)據(jù)庫系統(tǒng)的研究領(lǐng)域數(shù)據(jù)模型數(shù)據(jù)模型的三要素概念模型,E-R模型三種主要數(shù)據(jù)模型第二章關(guān)系數(shù)據(jù)庫2.1關(guān)系模型概述2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)2.3關(guān)系的完整性2.4關(guān)系代數(shù)2.5關(guān)系演算2.6小結(jié)關(guān)系數(shù)據(jù)庫簡介系統(tǒng)而嚴格地提出關(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)系的BNF范式關(guān)系數(shù)據(jù)庫簡介關(guān)系數(shù)據(jù)庫應(yīng)用數(shù)學(xué)方法來處理數(shù)據(jù)庫中的數(shù)據(jù)80年代后,關(guān)系數(shù)據(jù)庫系統(tǒng)成為最重要、最流行的數(shù)據(jù)庫系統(tǒng)關(guān)系數(shù)據(jù)庫簡介典型實驗系統(tǒng)SystemRUniversityINGRES典型商用系統(tǒng)ORACLESYBASEINFORMIXDB2INGRES第二章關(guān)系數(shù)據(jù)庫2.1關(guān)系模型概述2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)2.3關(guān)系的完整性2.4關(guān)系代數(shù)2.5關(guān)系演算2.6小結(jié)2.1關(guān)系模型概述關(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)實世界的實體以及實體間的各種聯(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)系操作的特點3)關(guān)系數(shù)據(jù)語言的種類4)關(guān)系數(shù)據(jù)語言的特點關(guān)系操作集合(續(xù))1)常用的關(guān)系操作查詢選擇、投影、連接、除、并、交、差數(shù)據(jù)更新插入、刪除、修改查詢的表達能力是其中最主要的部分關(guān)系操作集合(續(xù))2)關(guān)系操作的特點集合操作方式,即操作的對象和結(jié)果都是集合。非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操作方式:一次一記錄關(guān)系操作集合(續(xù))3)關(guān)系數(shù)據(jù)語言的種類關(guān)系代數(shù)語言用對關(guān)系的運算來表達查詢要求典型代表:ISBL關(guān)系操作集合(續(xù))關(guān)系數(shù)據(jù)語言的種類(續(xù))關(guān)系演算語言:用謂詞來表達查詢要求元組關(guān)系演算語言謂詞變元的基本對象是元組變量典型代表:APLHA,QUEL域關(guān)系演算語言謂詞變元的基本對象是域變量典型代表:QBE具有關(guān)系代數(shù)和關(guān)系演算雙重特點的語言典型代表:SQL關(guān)系操作集合(續(xù))4)關(guān)系數(shù)據(jù)語言的特點關(guān)系語言是一種高度非過程化的語言存取路徑的選擇由DBMS的優(yōu)化機制來完成用戶不必用循環(huán)結(jié)構(gòu)就可以完成數(shù)據(jù)操作能夠嵌入高級語言中使用關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)系演算三種語言在表達能力上完全等價3.關(guān)系的三類完整性約束實體完整性實體完整性規(guī)則:關(guān)系中的主鍵不能為空值(Null)??罩稻褪恰安恢馈被颉盁o意義”,通常由關(guān)系系統(tǒng)自動支持參照完整性參照完整性規(guī)則:表的外鍵必須是另一個表主鍵的有效值,或者是空值。早期系統(tǒng)不支持,目前大型系統(tǒng)能自動支持用戶定義的完整性反映應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語義約束,用戶定義后由系統(tǒng)支持學(xué)號姓名性別出生日期所在系0022102王雪蓮女1980-9-15電子系0051309白亞春男1981-1-25計算機系0052201陳韜男1981-5-6計算機系0052217袁更旭男1980-12-8計算機系課程號學(xué)號成績C201002210275C505005130995C508A10286992C506005221780參照完整性示例第二章關(guān)系數(shù)據(jù)庫2.1關(guān)系模型概述2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)2.3關(guān)系的完整性2.4關(guān)系代數(shù)2.5關(guān)系演算2.6小結(jié)2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系模型建立在集合代數(shù)的基礎(chǔ)上關(guān)系數(shù)據(jù)結(jié)構(gòu)的基本概念關(guān)系關(guān)系模式關(guān)系數(shù)據(jù)庫2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)2.2.1關(guān)系2.2.2關(guān)系模式2.2.3關(guān)系數(shù)據(jù)庫2.2.1關(guān)系⒈域(Domain)
2.笛卡爾積(CartesianProduct)
3.關(guān)系(Relation)⒈域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。例:整數(shù)實數(shù)介于某個取值范圍的整數(shù)指定長度的字符串集合{‘男’,‘女’}介于某個取值范圍的日期2.笛卡爾積(CartesianProduct)1)笛卡爾積給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:D1×D2×…×Dn={(d1,d2,…,dn)|di
Di,i=1,2,…,n}所有域的所有取值的一個組合不能重復(fù)笛卡爾積(續(xù))例給出三個域:
D1=SUPERVISOR={張清玫,劉逸}
D2=SPECIALITY={計算機專業(yè),信息專業(yè)}D3=POSTGRADUATE={李勇,劉晨,王敏}則D1,D2,D3的笛卡爾積為:D1×D2×D3={(張清玫,計算機專業(yè),李勇),(張清玫,計算機專業(yè),劉晨),
(張清玫,計算機專業(yè),王敏),(張清玫,信息專業(yè),李勇),
(張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王敏),
(劉逸,計算機專業(yè),李勇),(劉逸,計算機專業(yè),劉晨),
(劉逸,計算機專業(yè),王敏),(劉逸,信息專業(yè),李勇),
(劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏)}笛卡爾積(續(xù))2)元組(Tuple)笛卡爾積中每一個元素(d1,d2,…,dn)叫作一個n元組(n-tuple)或簡稱元組。
3)分量(Component)笛卡爾積元素(d1,d2,…,dn)中的每一個值di叫作一個分量。
笛卡爾積(續(xù))4)基數(shù)(Cardinalnumber)若Di(i=1,2,…,n)為有限集,其基數(shù)為mi(i=1,2,…,n),則D1×D2×…×Dn的基數(shù)M為:可以理解基數(shù)為“各域中數(shù)據(jù)的個數(shù)”,而后形成的乘積中為“關(guān)系中元組個數(shù)”.在上例中,基數(shù):2×2×3=12,即D1×D2×D3共有2×2×3=12個元組笛卡爾積(續(xù))5)笛卡爾積的表示方法笛卡爾積可表示為一個二維表。表中的每行對應(yīng)一個元組,表中的每列對應(yīng)一個域。在上例中,12個元組可列成一張二維表
關(guān)系中屬性個數(shù)稱為“元數(shù)”,也稱目或度關(guān)系元數(shù)為5,基數(shù)為4
一般術(shù)語
關(guān)系模型術(shù)語字段、數(shù)據(jù)項 屬性記錄類型 關(guān)系模式記錄1 元組1記錄2 元組2記錄3 元組3記錄4 元組4字段值 屬性值關(guān)系模型的術(shù)語
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)系的每個列附加一個屬性名以取消關(guān)系元組的有序性關(guān)系(續(xù))例在表2.1的笛卡爾積中取出有實際意義的元組來構(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)系可以包含三個元組{(張清玫,信息專業(yè),李勇),
(張清玫,信息專業(yè),劉晨),
(劉逸,信息專業(yè),王敏)}
關(guān)系(續(xù))2)元組關(guān)系中的每個元素是關(guān)系中的元組,通常用t表示。3)單元關(guān)系與二元關(guān)系當(dāng)n=1時,稱該關(guān)系為單元關(guān)系(Unaryrelation)。當(dāng)n=2時,稱該關(guān)系為二元關(guān)系(Binaryrelation)。關(guān)系(續(xù))4)關(guān)系的表示關(guān)系也是一個二維表,表的每行對應(yīng)一個元組,表的每列對應(yīng)一個域。關(guān)系(續(xù))5)屬性關(guān)系中不同列可以對應(yīng)相同的域,為了加以區(qū)分,必須對每列起一個名字,稱為屬性(Attribute)。n目關(guān)系必有n個屬性。關(guān)系(續(xù))6)碼候選碼(Candidatekey)若關(guān)系中的某一屬性組的值能唯一地標(biāo)識一個元組,則稱該屬性組為候選碼在最簡單的情況下,候選碼只包含一個屬性。稱為全碼(All-key)在最極端的情況下,關(guān)系模式的所有屬性組是這個關(guān)系模式的候選碼,稱為全碼(All-key)關(guān)系(續(xù))碼(續(xù))主碼若一個關(guān)系有多個候選碼,則選定其中一個為主碼(Primarykey)主碼的諸屬性稱為主屬性(Primeattribute)。不包含在任何侯選碼中的屬性稱為非碼屬性(Non-keyattribute)關(guān)系(續(xù))7)三類關(guān)系基本關(guān)系(基本表或基表)實際存在的表,是實際存儲數(shù)據(jù)的邏輯表示查詢表查詢結(jié)果對應(yīng)的表視圖表由基本表或其他視圖表導(dǎo)出的表,是虛表,不對應(yīng)實際存儲的數(shù)據(jù)8)基本關(guān)系的性質(zhì)①列是同質(zhì)的(Homogeneous)每一列中的分量是同一類型的數(shù)據(jù),來自同一個域②不同的列可出自同一個域其中的每一列稱為一個屬性不同的屬性要給予不同的屬性名基本關(guān)系的性質(zhì)(續(xù))上例中也可以只給出兩個域:人(PERSON)=張清玫,劉逸,李勇,劉晨,王敏專業(yè)(SPECIALITY)=計算機專業(yè),信息專業(yè)SAP關(guān)系的導(dǎo)師屬性和研究生屬性都從PERSON域中取值為了避免混淆,必須給這兩個屬性取不同的屬性名,而不能直接使用域名。例如定義:導(dǎo)師屬性名為SUPERVISOR-PERSON(或SUPERVISOR)研究生屬性名為POSTGRADUATE-PERSON(或POSTGRADUATE)基本關(guān)系的性質(zhì)(續(xù))③列的順序無所謂列的次序可以任意交換遵循這一性質(zhì)的數(shù)據(jù)庫產(chǎn)品(如ORACLE),增加新屬性時,永遠是插至最后一列但也有許多關(guān)系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了屬性順序基本關(guān)系的性質(zhì)(續(xù))④任意兩個元組不能完全相同由笛卡爾積的性質(zhì)決定但許多關(guān)系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質(zhì)。例如:Oracle,F(xiàn)oxPro等都允許關(guān)系表中存在兩個完全相同的元組,除非用戶特別定義了相應(yīng)的約束條件?;娟P(guān)系的性質(zhì)(續(xù))⑤行的順序無所謂行的次序可以任意交換遵循這一性質(zhì)的數(shù)據(jù)庫產(chǎn)品(如ORACLE),插入一個元組時永遠插至最后一行但也有許多關(guān)系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了元組的順序基本關(guān)系的性質(zhì)(續(xù))⑥分量必須取原子值每一個分量都必須是不可分的數(shù)據(jù)項。這是規(guī)范條件中最基本的一條2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)2.2.1關(guān)系2.2.2關(guān)系模式2.2.3關(guān)系數(shù)據(jù)庫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)系模式是對關(guān)系的描述元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來自的域?qū)傩耘c域之間的映象關(guān)系元組語義以及完整性約束條件元組語義:一個n目謂詞(n:屬性集中屬性的個數(shù));關(guān)系就是由符合元組語義的那部分元素,即令該n目謂詞為真的笛卡爾積中的元素的全體構(gòu)成的。屬性間的數(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)師和研究生出自同一個域——人,取不同的屬性名,并在模式中定義屬性向域的映象,即說明它們分別出自哪個域:
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.區(qū)別關(guān)系模式與關(guān)系關(guān)系模式對關(guān)系的描述靜態(tài)的、穩(wěn)定的關(guān)系關(guān)系模式在某一時刻的狀態(tài)或內(nèi)容動態(tài)的、隨時間不斷變化的關(guān)系模式和關(guān)系往往統(tǒng)稱為關(guān)系,通過上下文加以區(qū)別2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)2.2.1關(guān)系2.2.2關(guān)系模式2.2.3關(guān)系數(shù)據(jù)庫2.2.3關(guān)系數(shù)據(jù)庫1.關(guān)系數(shù)據(jù)庫2.關(guān)系數(shù)據(jù)庫的型與值1.關(guān)系數(shù)據(jù)庫在一個給定的應(yīng)用領(lǐng)域中,所有實體及實體之間聯(lián)系的關(guān)系的集合構(gòu)成一個關(guān)系數(shù)據(jù)庫。2.關(guān)系數(shù)據(jù)庫的型與值關(guān)系數(shù)據(jù)庫也有型和值之分關(guān)系數(shù)據(jù)庫的型稱為關(guān)系數(shù)據(jù)庫模式,是對關(guān)系數(shù)據(jù)庫的描述若干域的定義在這些域上定義的若干關(guān)系模式關(guān)系數(shù)據(jù)庫的值是這些關(guān)系模式在某一時刻對應(yīng)的關(guān)系的集合,通常簡稱為關(guān)系數(shù)據(jù)庫第二章關(guān)系數(shù)據(jù)庫2.1關(guān)系模型概述2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)2.3關(guān)系的完整性2.4關(guān)系代數(shù)2.5關(guān)系演算2.6小結(jié)2.3關(guān)系的完整性關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件。關(guān)系模型中三類完整性約束:實體完整性參照完整性用戶定義的完整性實體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱作是關(guān)系的兩個不變性,應(yīng)該由關(guān)系系統(tǒng)自動支持。關(guān)系的完整性(續(xù))2.3.1實體完整性2.3.2.參照完整性2.3.3.用戶定義的完整性2.3.1實體完整性實體完整性規(guī)則(EntityIntegrity)若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值例SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE屬性為主碼(假設(shè)研究生不會重名),則其不能取空值實體完整性(續(xù))關(guān)系模型必須遵守實體完整性規(guī)則的原因(1)實體完整性規(guī)則是針對基本關(guān)系而言的。一個基本表通常對應(yīng)現(xiàn)實世界的一個實體集或多對多聯(lián)系。(2)現(xiàn)實世界中的實體和實體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標(biāo)識。(3)相應(yīng)地,關(guān)系模型中以主碼作為唯一性標(biāo)識。實體完整性(續(xù))關(guān)系模型必須遵守實體完整性規(guī)則的原因(續(xù))(4)主碼中的屬性即主屬性不能取空值??罩稻褪恰安恢馈被颉盁o意義”的值。主屬性取空值,就說明存在某個不可標(biāo)識的實體,即存在不可區(qū)分的實體,這與第(2)點相矛盾,因此這個規(guī)則稱為實體完整性。實體完整性(續(xù))注意實體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值例選修(學(xué)號,課程號,成績)“學(xué)號、課程號”為主碼,則兩個屬性都不能取空值。關(guān)系的完整性2.3.1實體完整性2.3.2.參照完整性2.3.3.用戶定義的完整性2.3.2參照完整性1.關(guān)系間的引用2.外碼3.參照完整性規(guī)則1.關(guān)系間的引用在關(guān)系模型中實體及實體間的聯(lián)系都是用關(guān)系來描述的,因此可能存在著關(guān)系與關(guān)系間的引用。例1學(xué)生實體、專業(yè)實體以及專業(yè)與學(xué)生間的一對多聯(lián)系學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 技術(shù)服務(wù)合同協(xié)議
- 基于農(nóng)業(yè)資源整合的現(xiàn)代農(nóng)業(yè)發(fā)展協(xié)議
- 項目進度統(tǒng)計表-互聯(lián)網(wǎng)項目進度監(jiān)控
- 公司前臺接待與咨詢工作表格
- 以科技創(chuàng)新推動農(nóng)業(yè)現(xiàn)代化智能化發(fā)展的路徑探索
- 歷史文物保護修復(fù)技術(shù)考試試題集
- 山中訪友:六年級自然美文欣賞教案
- 員工培訓(xùn)與技能評估記錄表
- 醫(yī)院場地租賃合同
- 中國古詩詞故事的欣賞感受
- 2025年南昌理工學(xué)院單招職業(yè)技能測試題庫完整
- 2025年黑龍江省安全員A證考試題庫附答案
- 2025年公共交通衛(wèi)生提升方案
- 2025屆上海市高三下學(xué)期2月聯(lián)考調(diào)研英語試題【含答案解析】
- 建(構(gòu))筑物消防員初級技能培訓(xùn)課件
- 2025年潛江市城市建設(shè)發(fā)展集團招聘工作人員【52人】高頻重點提升(共500題)附帶答案詳解
- TCALC 003-2023 手術(shù)室患者人文關(guān)懷管理規(guī)范
- 五金公司績效考核(共22頁)
- 體育課(軍體拳)教案(共43頁)
- 市場營銷費用核銷管理制度(共4頁)
- 安徽省第八屆“徽匠”建筑技能大賽砌筑工實操比賽試題
評論
0/150
提交評論