數(shù)據(jù)庫系統(tǒng)課件_第1頁
數(shù)據(jù)庫系統(tǒng)課件_第2頁
數(shù)據(jù)庫系統(tǒng)課件_第3頁
數(shù)據(jù)庫系統(tǒng)課件_第4頁
數(shù)據(jù)庫系統(tǒng)課件_第5頁
已閱讀5頁,還剩593頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

資料庫系統(tǒng)什麼是資料庫技術(shù)?1.1引言1.2資料庫的由來和發(fā)展1.3資料庫、資料庫管理系統(tǒng)與資料庫系統(tǒng)定義1.4數(shù)據(jù)模型1.5資料庫的體系結(jié)構(gòu)1.6資料庫管理系統(tǒng)1.7資料庫系統(tǒng)第一章資料庫概論

第一章資料庫概論

資料庫技術(shù)已成為電腦科學(xué)與技術(shù)學(xué)科的一個(gè)重要分支第一章資料庫概論

第一章資料庫概論什麼是資料庫技術(shù)?

資料庫技術(shù)是數(shù)據(jù)管理的最新技術(shù),研究資料庫的結(jié)構(gòu)、存儲(chǔ)、管理和使用

資料庫技術(shù)巳是現(xiàn)代電腦資訊系統(tǒng)和電腦應(yīng)用系統(tǒng)的基礎(chǔ)和核心

產(chǎn)品:Oracle、DB2、Sybase、Informix、SQLServer、

Foxpro、Access都是資料庫管理系統(tǒng)

資料庫的規(guī)模、性能、資訊量大小、使用頻度已成為衡量一個(gè)國家資訊化程度的重要標(biāo)誌用戶:借閱圖書、存取款、購票、上WWW、全球通、…後臺(tái):MIS、OIS、GIS、CIMS什麼是資料庫技術(shù)?1.1引言1.2資料庫的由來和發(fā)展1.3資料庫、資料庫管理系統(tǒng)與資料庫系統(tǒng)定義1.4數(shù)據(jù)模型1.5資料庫的體系結(jié)構(gòu)1.6資料庫管理系統(tǒng)1.7資料庫系統(tǒng)第一章資料庫概論

--對(duì)該數(shù)據(jù)所屬類型的描述數(shù)據(jù)有可施加的操作數(shù)據(jù)有語法

語義數(shù)據(jù)有邏輯結(jié)構(gòu)

物理結(jié)構(gòu)數(shù)據(jù)有型

值1.1引言

一、數(shù)據(jù)和資訊

第一章資料庫概論1.1引言資訊是關(guān)於現(xiàn)實(shí)世界事物存在方式或運(yùn)動(dòng)狀態(tài)的反映

數(shù)據(jù)是對(duì)事物描述的符號(hào)記錄,它描述事物中人們所感興趣的特徵,它能被電腦識(shí)別、存儲(chǔ)和處理。是資訊的載體。

--型的一個(gè)實(shí)例--數(shù)據(jù)的含義--數(shù)據(jù)的格式--數(shù)據(jù)及其聯(lián)繫在電腦內(nèi)的表示(存儲(chǔ)結(jié)構(gòu))--反映數(shù)據(jù)之間的聯(lián)繫-在邏輯結(jié)構(gòu)上定義,在存儲(chǔ)結(jié)構(gòu)上實(shí)現(xiàn)什麼是資料庫技術(shù)?1.1引言1.2資料庫的由來和發(fā)展1.3資料庫、資料庫管理系統(tǒng)與資料庫系統(tǒng)定義1.4數(shù)據(jù)模型1.5資料庫的體系結(jié)構(gòu)1.6資料庫管理系統(tǒng)1.7資料庫系統(tǒng)第一章資料庫概論

1.2資料庫的由來和發(fā)展

一、人工管理階段

第一章資料庫概論1.2資料庫的由來和發(fā)展數(shù)據(jù)存儲(chǔ)介質(zhì):

軟體技術(shù):

用途:

特點(diǎn):

20世紀(jì)50年代中期前

磁帶、卡片、紙帶

機(jī)器語言、組合語言

科學(xué)計(jì)算

數(shù)據(jù)不保存在電腦內(nèi)無專用軟體對(duì)數(shù)據(jù)進(jìn)行管理數(shù)據(jù)面向程式,數(shù)據(jù)不共用

應(yīng)用程式完全依賴於數(shù)據(jù),數(shù)據(jù)不獨(dú)立

只有程式概念,沒有檔概念

第一章資料庫概論1.2資料庫的由來和發(fā)展二、檔系統(tǒng)階段

數(shù)據(jù)存儲(chǔ)介質(zhì):軟體技術(shù):用途:思路:◆數(shù)據(jù)按內(nèi)容和用途組織成若干個(gè)相互獨(dú)立的檔

◆用檔系統(tǒng)管理數(shù)據(jù),存取由OS提供支持20世紀(jì)50年代後期~60年代中期磁片、磁鼓等直接存取設(shè)備高級(jí)語言、操作系統(tǒng)(OS)

科學(xué)計(jì)算、資訊管理

第一章資料庫概論1.2資料庫的由來和發(fā)展例如:圖書館檔管理系統(tǒng)

*OS只提供檔的打開、關(guān)閉、讀、寫,用程式實(shí)現(xiàn)增、刪、改*檔結(jié)構(gòu)變→應(yīng)用程式變(獨(dú)立性差)

。*應(yīng)用程式功能重複(查F2)。*檔的設(shè)計(jì)和劃分難,數(shù)據(jù)冗餘→浪費(fèi)存儲(chǔ)空間,造成數(shù)據(jù)不一致*一般不支持對(duì)檔的併發(fā)訪問。讀者檔應(yīng)用程式→

A1A3書目檔出借檔A2A4F1F3F2圖書借閱讀者增刪改催還通知新書入庫

第一章資料庫概論1.2資料庫的由來和發(fā)展◆對(duì)數(shù)據(jù)的操作以記錄為單位,檔操作由程式實(shí)現(xiàn)◆數(shù)據(jù)面向應(yīng)用,數(shù)據(jù)獨(dú)立性差◆數(shù)據(jù)可長期保存在外存上

◆檔組織多樣化,但檔之間相互獨(dú)立、缺乏聯(lián)繫檔系統(tǒng)特點(diǎn):

◆數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)有了區(qū)別,有設(shè)備獨(dú)立性

◆數(shù)據(jù)冗餘

◆數(shù)據(jù)聯(lián)繫弱檔系統(tǒng)缺陷:

◆數(shù)據(jù)不一致

第一章資料庫概論1.2資料庫的由來和發(fā)展三、資料庫系統(tǒng)階段20世紀(jì)60年代末期~大容量、快速存取磁片、光碟

資料庫管理軟體(DBMS)

資訊管理↘(MIS、OIS、CAD、CAM、CIMS、GIS、電子商務(wù)等)數(shù)據(jù)存儲(chǔ)介質(zhì):

軟體技術(shù):

用途:

思路:◆數(shù)據(jù)由資料庫管理系統(tǒng)(DBMS)軟體統(tǒng)一管理◆採用複雜的數(shù)據(jù)模型組織、描述和存儲(chǔ)數(shù)據(jù)

第一章資料庫概論1.2資料庫的由來和發(fā)展年代研究成果名稱研製者意義1963IDS(IntegratedDataStore)美國通用電氣公司C.W.Bachman等第一個(gè)DBMS73年獲圖靈獎(jiǎng)1968IMS(InformationManagementSystem)美國IBM公司和Rockwell公司合作第一個(gè)實(shí)用資料庫管理系統(tǒng)(里程碑1)1969資料庫建議書(數(shù)據(jù)描述語言DDL)(數(shù)據(jù)操縱語言DML)美國數(shù)據(jù)系統(tǒng)語言委員會(huì)的資料庫任務(wù)組DBTG提供了網(wǎng)狀資料庫完整的系統(tǒng)設(shè)計(jì)和語言規(guī)範(fàn)(里程碑2)1970論文(ARelationalModelofDataforSharedDataBanks)IBM公司SanJose研究所的E.F.Codd提出關(guān)係模型,為關(guān)係資料庫的開發(fā)奠定了理論基礎(chǔ)(里程碑3)1981年獲圖靈獎(jiǎng)?lì)愋途W(wǎng)狀資料庫層次資料庫網(wǎng)狀資料庫關(guān)係資料庫產(chǎn)生過程:↘

第一章資料庫概論1.2資料庫的由來和發(fā)展特點(diǎn):◆

採用數(shù)據(jù)模型表示複雜的數(shù)據(jù)結(jié)構(gòu)◆為用戶提供方便的用戶介面:非過程的、過程的主要特徵:實(shí)現(xiàn)了數(shù)據(jù)的集中管理和數(shù)據(jù)的共用與檔系統(tǒng)根本區(qū)別:通過所有存取路徑表示自然的數(shù)據(jù)聯(lián)繫◆增加了系統(tǒng)的靈活性◆

數(shù)據(jù)獨(dú)立性較高

數(shù)據(jù)獨(dú)立性——應(yīng)用程式與資料庫的數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立P8◆具有資料庫保護(hù)功能資料庫的併發(fā)控制、資料庫的恢復(fù)、數(shù)據(jù)的完整性、數(shù)據(jù)安全性

◆共用性好

第一章資料庫概論1.2資料庫的由來和發(fā)展四、高級(jí)資料庫技術(shù)階段20世紀(jì)80年代~1.分佈式資料庫系統(tǒng)2.對(duì)象資料庫系統(tǒng)3.開放資料庫互聯(lián)技術(shù)特點(diǎn):◆數(shù)據(jù)物理上分佈,邏輯上是一個(gè)整體

◆各場(chǎng)地既局部自治,又支持全局應(yīng)用

◆各地電腦由數(shù)據(jù)通信網(wǎng)絡(luò)相聯(lián)系集中管理、分佈處理特點(diǎn):◆對(duì)象數(shù)據(jù)模型能完整地描述現(xiàn)實(shí)世界的數(shù)據(jù)結(jié)構(gòu),能表達(dá)數(shù)據(jù)間嵌套、遞歸的聯(lián)繫

◆封裝性、繼承性提高了軟體可重用性中間件:是網(wǎng)路環(huán)境中保證不同的操作系統(tǒng)、通信協(xié)議和

DBMS之之間進(jìn)行對(duì)話、互操作的軟體系統(tǒng)。遮罩複雜性。如:ODBC、JDBC

第一章資料庫概論1.2資料庫的由來和發(fā)展資料庫技術(shù)的發(fā)展階段(三個(gè))階段年代主流產(chǎn)品功能特徵新成果第一階段20世紀(jì)70年代以網(wǎng)狀和層次資料庫為代表的第一代數(shù)據(jù)庫系統(tǒng)集中控制與數(shù)據(jù)共用關(guān)係DB原型SystemR和Ingres

第二階段

20世紀(jì)80年代關(guān)係資料庫為代表的第二代數(shù)據(jù)庫?Oracle、SybaseInformix?dBASE、Foxpro?集中控制與數(shù)據(jù)共用?較高的數(shù)據(jù)獨(dú)立性?高級(jí)的非過程語言介面分佈式DB第三階段20世紀(jì)80年代未開始以面向?qū)ο筚Y料庫為代表的第三代數(shù)據(jù)庫處理非常規(guī)數(shù)據(jù)(圖形、圖像、聲音、時(shí)態(tài)、空間)?O-RDBMS?OO數(shù)據(jù)模型?基於邏輯的數(shù)據(jù)模型*

第一、二代DBS稱為傳統(tǒng)資料庫,以處理常規(guī)數(shù)據(jù)和事務(wù)數(shù)據(jù)為主*

90年代資料庫新的應(yīng)用不斷出現(xiàn):數(shù)據(jù)倉庫/聯(lián)機(jī)分析處理/數(shù)據(jù)挖掘什麼是資料庫技術(shù)?1.1引言1.2資料庫的由來和發(fā)展1.3資料庫、資料庫管理系統(tǒng)與資料庫系定義1.4數(shù)據(jù)模型1.5資料庫的體系結(jié)構(gòu)1.6資料庫管理系統(tǒng)1.7資料庫系統(tǒng)第一章資料庫概論

是一個(gè)單位或組織需要管理的全部數(shù)據(jù)的集合

數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲(chǔ)

一、資料庫(DataBase→DB)

資料庫是長期存儲(chǔ)在電腦內(nèi)、有組織的、統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。DB具有能為各種用戶共用,具有較小冗餘度、數(shù)據(jù)間聯(lián)繫緊密又有較高數(shù)據(jù)獨(dú)立性等特點(diǎn)。

第一章資料庫概論1.3資料庫、資料庫管理系統(tǒng)與資料庫系統(tǒng)定義1.3資料庫、資料庫管理系統(tǒng)與資料庫系統(tǒng)定義

第一章資料庫概論1.3資料庫、資料庫管理系統(tǒng)與資料庫系統(tǒng)定義二、資料庫管理系統(tǒng)(DataBaseManagementSystem→DBMS)

資料庫管理系統(tǒng)是位於用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟體,它為用戶或應(yīng)用程式提供訪問

DB的方法,包括DB的建立、查詢、更新及各種數(shù)據(jù)控制資料庫中的數(shù)據(jù)由DBMS統(tǒng)一管理,資料庫的創(chuàng)建、運(yùn)行和維護(hù)在DBMS的控制下實(shí)現(xiàn)。DBMS總是基於某種數(shù)據(jù)模型。DBMS產(chǎn)品必須提供一些基本功能用戶DBMSOSDB

第一章資料庫概論1.3資料庫、資料庫管理系統(tǒng)與資料庫系統(tǒng)定義三、資料庫系統(tǒng)

(DBS—DataBaseSystem)資料庫系統(tǒng)是實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù)、方便多用戶訪問的計(jì)算機(jī)軟、硬體和數(shù)據(jù)資源組成的系統(tǒng),即它是採用資料庫技術(shù)的電腦系統(tǒng)。什麼是資料庫技術(shù)?1.1引言1.2資料庫的由來和發(fā)展1.3資料庫、資料庫管理系統(tǒng)與資料庫系統(tǒng)定義1.4數(shù)據(jù)模型1.5資料庫的體系結(jié)構(gòu)1.6資料庫管理系統(tǒng)1.7資料庫系統(tǒng)第一章資料庫概論

第一章資料庫概論1.4數(shù)據(jù)模型1.4數(shù)據(jù)模型(DataModel)一、數(shù)據(jù)模型的定義①數(shù)據(jù)模型--是用來描述數(shù)據(jù)的一組概念和定義,

是對(duì)現(xiàn)實(shí)世界數(shù)據(jù)特徵的抽象②能表示實(shí)體類型及實(shí)體間聯(lián)繫的模型稱為“數(shù)據(jù)模型”2.對(duì)現(xiàn)實(shí)世界的抽象

現(xiàn)實(shí)世界中的具體事物→電腦可處理的數(shù)據(jù)

現(xiàn)實(shí)世界中的具體事物==>

某一DBMS支持的數(shù)據(jù)模型1.定義(2)對(duì)現(xiàn)實(shí)世界的兩層抽象現(xiàn)實(shí)世界

資訊世界概念數(shù)據(jù)模型

數(shù)據(jù)世界DBMS支持的數(shù)據(jù)模型認(rèn)識(shí)抽象

現(xiàn)實(shí)世界中事物的抽象過程物理數(shù)據(jù)模型邏輯數(shù)據(jù)模型

第一章資料庫概論1.4數(shù)據(jù)模型轉(zhuǎn)換

第一章資料庫概論1.4數(shù)據(jù)模型客觀世界中的問題域:學(xué)生選修課程個(gè)體:學(xué)生課程聯(lián)繫:選修概念模型用ER圖表達(dá)邏輯模型用關(guān)係模型表達(dá)STUDENT(SNO,SNAME,SEX)SC(SNO,CNO,GRADE)COURSE(CNO,CNAME,CREDIT,PCNO)物理模型用Oracle或SQLServer或其他關(guān)係資料庫產(chǎn)品來實(shí)現(xiàn)概念數(shù)據(jù)模型――面向客觀世界,面向用戶,與DBMS無關(guān)的數(shù)據(jù)模型。例如:E-R模型、擴(kuò)充的E-R模型邏輯數(shù)據(jù)模型――用戶從資料庫所看到的模型,與

DBMS有關(guān),既面向用戶又面向?qū)崿F(xiàn)。反映數(shù)據(jù)的邏輯結(jié)構(gòu)(檔、記錄等)例:網(wǎng)狀的、層次的、關(guān)係的、面向?qū)ο?/p>

有三個(gè)要素,提供資料庫語言物理數(shù)據(jù)模型――反映數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)(物理塊、指針、索引等)的數(shù)據(jù)模型,不僅與DBMS有關(guān),還與操作系統(tǒng)和硬體有關(guān)。

主要用於資料庫設(shè)計(jì)用於DB設(shè)計(jì)DBMS實(shí)現(xiàn)

第一章資料庫概論1.4數(shù)據(jù)模型1)DBMS通常按所採用的邏輯數(shù)據(jù)模型來分類常用的邏輯數(shù)據(jù)模型:層次模型、網(wǎng)狀模型、關(guān)係模型2)概念模型表示的數(shù)據(jù)=>邏輯模型表示的數(shù)據(jù)=>DBMS中實(shí)現(xiàn)↓層次資料庫↓網(wǎng)狀資料庫↓關(guān)係資料庫說明:

第一章資料庫概論1.4數(shù)據(jù)模型*兩類:查詢、更新(插入I、刪除D、修改U)*數(shù)據(jù)模型要為這些操作定義確切的含義、操作規(guī)則和實(shí)現(xiàn)操作的語言――數(shù)據(jù)的基本結(jié)構(gòu)、數(shù)據(jù)間的聯(lián)繫和數(shù)據(jù)中的約束――定義在數(shù)據(jù)上的操作3.數(shù)據(jù)模型的基本組成

數(shù)據(jù)模型描述數(shù)據(jù)的:(2)動(dòng)態(tài)特性(1)靜態(tài)特性邏輯數(shù)據(jù)模型的三要素:

數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作

數(shù)據(jù)完整性約束――對(duì)實(shí)體類型和實(shí)體間聯(lián)繫的表達(dá)和實(shí)現(xiàn)

――指對(duì)數(shù)據(jù)操作的實(shí)現(xiàn)

――數(shù)據(jù)及其聯(lián)繫應(yīng)具有的制約和依賴規(guī)則是一組完整性規(guī)則的集合*在資料庫系統(tǒng)中通常按照數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。

第一章資料庫概論1.4數(shù)據(jù)模型

4.數(shù)據(jù)模式(補(bǔ)充)

(1)數(shù)據(jù)模式(DataSchema)

是用給定的數(shù)據(jù)模型對(duì)具體數(shù)據(jù)的靜態(tài)特性的描述

(2)數(shù)據(jù)模式與數(shù)據(jù)模型的關(guān)係

?

數(shù)據(jù)模型是描述數(shù)據(jù)的手段(程式設(shè)計(jì)語言)

?

數(shù)據(jù)模式是用數(shù)據(jù)模型對(duì)一個(gè)單位的模擬(程式)

?

數(shù)據(jù)模式僅是數(shù)據(jù)模型中有關(guān)數(shù)據(jù)結(jié)構(gòu)及其相

互關(guān)係、約束的描述

第一章資料庫概論1.4數(shù)據(jù)模型二、實(shí)體-聯(lián)繫模型(E-R數(shù)據(jù)模型)概念模型:

◆是資料庫設(shè)計(jì)人員進(jìn)行資料庫設(shè)計(jì)的重要工具

◆是資料庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言

◆直接模擬現(xiàn)實(shí)世界、直觀、自然、易理解

◆廣泛使用的是E-R數(shù)據(jù)模型(Entity-Relationshipdatamodel)

第一章資料庫概論1.4數(shù)據(jù)模型P.P.Chen於1976年提出目的:

(1)建立一個(gè)統(tǒng)一的數(shù)據(jù)模型,以概括三種傳統(tǒng)的數(shù)據(jù)模型(2)作為三種傳統(tǒng)的數(shù)據(jù)模型互相轉(zhuǎn)換的中間模型(3)作為超脫DBMS的一種概念數(shù)據(jù)模型以自然而有效的方式模擬現(xiàn)實(shí)世界E-R數(shù)據(jù)模型用了三個(gè)抽象概念

1.E-R模型的基本概念

1)實(shí)體實(shí)體(Entity)――

客觀存在的且可以區(qū)別的事物具體事物抽象概念實(shí)體集(EntitySets)――具有相同性質(zhì)的實(shí)體的集合也稱實(shí)體類型學(xué)生的集合→學(xué)生實(shí)體集Es

全體教師→教師實(shí)體集Et

所有課程→課程實(shí)體集Ec有生命無生命――>某位學(xué)生、教師,某門課――>愛好

第一章資料庫概論1.4數(shù)據(jù)模型2)聯(lián)繫(Relationship)、聯(lián)繫集或聯(lián)繫類型聯(lián)繫(Relationship)――實(shí)體集之間關(guān)係的抽象表示

例如:Es與Ec之間的“選課”聯(lián)繫聯(lián)繫的類型:二元聯(lián)繫、多元聯(lián)繫、自反聯(lián)繫

Et與Ec之間的“任課”聯(lián)繫Et與Es之間的“教學(xué)”聯(lián)繫

第一章資料庫概論1.4數(shù)據(jù)模型例如:(1)工廠與廠長(2)公司與職工(3)教師與學(xué)生(a)二元聯(lián)繫--只有兩個(gè)實(shí)體集參與的聯(lián)繫,包括:

1:1聯(lián)繫:E1中的每個(gè)實(shí)體至多與E2中的一個(gè)實(shí)體有聯(lián)繫,反之亦然

1:n聯(lián)繫:E1中每個(gè)實(shí)體與E2中任意個(gè)實(shí)體(包括零個(gè))相聯(lián)系,而E2中每個(gè)實(shí)體至多和E1中一個(gè)實(shí)體有聯(lián)繫m:n聯(lián)繫:E1、E2中的每一個(gè)實(shí)體都和另一個(gè)實(shí)體集中任意個(gè)實(shí)體(包括零個(gè))有聯(lián)繫1:1m:n1:n

第一章資料庫概論1.4數(shù)據(jù)模型(b)多元聯(lián)繫――

是參與聯(lián)繫的實(shí)體集的個(gè)數(shù)≥3的聯(lián)繫也可以區(qū)分為1:1、1:n和m:n三種例如:學(xué)生書店圖書

m:n:p(c)自反聯(lián)繫――

是同一實(shí)體集內(nèi)兩部分實(shí)體之間的聯(lián)繫也可以區(qū)分為1:1、1:n和m:n三種例如:實(shí)體集“人”中夫與妻

1:1是一種特殊的二元聯(lián)繫

思考:職工實(shí)體集中領(lǐng)導(dǎo)與普通職工是什麼聯(lián)繫?

第一章資料庫概論1.4數(shù)據(jù)模型?

每個(gè)屬性值都有一定的變化範(fàn)圍,稱為屬性的域(Domain)

3)屬性(Attribute)――實(shí)體或聯(lián)繫所具有的特徵

?

一個(gè)實(shí)體集(或聯(lián)繫集)可有若干個(gè)屬性,在資料庫設(shè)計(jì)中只選需要的屬性例如:

成績屬性域――>0~100性別屬性域――>男、女

第一章資料庫概論1.4數(shù)據(jù)模型↓空缺符(屬性值未知)

?

屬性值可以是:單值,多值,NULL↓年齡

↓所獲學(xué)位

?

不能再細(xì)分的屬性稱為原子屬性通信地址街區(qū)地址市省郵編街名號(hào)碼公寓號(hào)碼?

屬性可以是單域的簡單屬性或多域的組合屬性

第一章資料庫概論1.4數(shù)據(jù)模型

?

實(shí)體鍵:

能唯一標(biāo)識(shí)實(shí)體的屬性或?qū)傩越M學(xué)號(hào),姓名,性別,…

?實(shí)體鍵學(xué)號(hào)也稱:實(shí)體識(shí)別字――>E-R數(shù)據(jù)模式

2.E-R圖(E-RDiagram)

對(duì)一個(gè)單位用E-R數(shù)據(jù)模型模擬E-R數(shù)據(jù)模式用圖形表示――>E-R圖

表示方法:

?

實(shí)體集――>矩形框,框中標(biāo)明實(shí)體集名?

聯(lián)繫――>菱形框,框內(nèi)標(biāo)明聯(lián)繫名

?

屬性――>橢圓?

相關(guān)圖形間用無向邊連接,在聯(lián)繫與實(shí)體集的連線上要標(biāo)明聯(lián)繫類型(如:1:n等),在實(shí)體識(shí)別字下畫線

?

可以使用略去了屬性的E-R簡圖來突出各實(shí)體集之間的聯(lián)繫學(xué)生課程選課學(xué)號(hào)nm

第一章資料庫概論1.4數(shù)據(jù)模型(1)畫出實(shí)體(2)畫出聯(lián)繫(3)寫出屬性(4)連線(5)標(biāo)出聯(lián)繫類型(6)標(biāo)出實(shí)體鍵

第一章資料庫概論1.4數(shù)據(jù)模型例1:用E-R圖描述學(xué)校與教師實(shí)體集及其聯(lián)繫聘任日期聘任教師學(xué)校地址名稱學(xué)校代碼性別職稱教師編號(hào)姓名1n例2:幾個(gè)E-R簡圖二元聯(lián)繫E-R簡圖系部教師聘任1n校長學(xué)校負(fù)責(zé)11課程教師講授nm自反聯(lián)繫E-R簡圖人夫妻11課程先修nm專案供應(yīng)商供應(yīng)mp零件n三元聯(lián)繫

第一章資料庫概論1.4數(shù)據(jù)模型補(bǔ)充:抽象方法?

對(duì)現(xiàn)實(shí)世界進(jìn)行抽象時(shí),實(shí)體、聯(lián)繫和屬性的區(qū)分不是絕對(duì)的?

某個(gè)具體的數(shù)據(jù)對(duì)象確定為實(shí)體、聯(lián)繫或?qū)傩?,取決於應(yīng)用背景和用戶觀點(diǎn)?

通常實(shí)體――>需求描述中的名詞(需再被描述)

屬性――>需求描述中的名詞和形容詞

聯(lián)繫――>需求描述中的動(dòng)詞說明:E-R數(shù)據(jù)模型只描述了數(shù)據(jù)的靜態(tài)特性

第一章資料庫概論1.4數(shù)據(jù)模型課堂練習(xí)某圖書管理資料庫系統(tǒng)擬管理圖書資訊,讀者資訊和借閱情況。圖書有圖書編號(hào)、書名、作者、出版單位等資訊;讀者有借書證號(hào)、姓名等資訊;對(duì)讀者的每次借閱都登記借閱日期。每本圖書的編號(hào)唯一,每位讀者的借書證號(hào)唯一。每位讀者可借多種圖書,每種圖書可被多個(gè)讀者借閱。請(qǐng)為該系統(tǒng)畫E-R圖。(注:答案均用中文描述)

第一章資料庫概論課堂練習(xí)習(xí)題一1、解釋DB,DBMS,DBS三個(gè)概念。2、何為數(shù)據(jù)模型,有哪幾種(級(jí))數(shù)據(jù)模型,各自的特點(diǎn)和作用是什麼?何為數(shù)據(jù)模式?

第一章資料庫概論習(xí)題一什麼是資料庫技術(shù)?1.1引言1.2資料庫的由來和發(fā)展1.3資料庫、資料庫管理系統(tǒng)與資料庫系統(tǒng)定義1.4數(shù)據(jù)模型1.5資料庫的體系結(jié)構(gòu)1.6資料庫管理系統(tǒng)1.7資料庫系統(tǒng)第一章資料庫概論

第一章資料庫概論1.5資料庫的體系結(jié)構(gòu)1.5資料庫的體系結(jié)構(gòu)(從DBMS來看)一、資料庫的三級(jí)體系結(jié)構(gòu)一個(gè)資料庫結(jié)構(gòu)從邏輯上劃分為三個(gè)層次

?外模式(ExternalSchema)

?概念模式(ConceptualSchema)

?內(nèi)模式(InternalSchema)

用戶11用戶1i用戶n1

用戶njDB外部級(jí)(單個(gè)用戶的視圖)概念級(jí)(全局視圖)內(nèi)部級(jí)(存儲(chǔ)視圖)

外模式1

外模式n

邏輯模式

內(nèi)模式

外模式/模式映象模式/內(nèi)模式映象

第一章資料庫概論1.5資料庫的體系結(jié)構(gòu)三級(jí)體系結(jié)構(gòu)概念模式――是資料庫中全局?jǐn)?shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。用邏輯數(shù)據(jù)模型。二、體系結(jié)構(gòu)中的五個(gè)要素

第一章資料庫概論1.5資料庫的體系結(jié)構(gòu)?

簡稱模式

?

一個(gè)資料庫只有一個(gè)概念模式

?

不涉及物理存儲(chǔ)、硬體環(huán)境、應(yīng)用程式、程式設(shè)計(jì)語言?

概念模式設(shè)計(jì)是資料庫設(shè)計(jì)的基本任務(wù),當(dāng)定義資料庫的層次結(jié)構(gòu)時(shí),應(yīng)首先定義概念模式?

由DBMS提供的模式定義語言(模式DDL)來定義和描述?

由概念記錄組成,也包括:記錄間的聯(lián)繫/完整性/安全性?

是DB所有用戶的公共數(shù)據(jù)視圖,是裝配數(shù)據(jù)的結(jié)構(gòu)框架

?

比如:createtable…語句

外模式――是用邏輯數(shù)據(jù)模型對(duì)用戶用到的數(shù)據(jù)的描述是用戶與資料庫系統(tǒng)的介面?

是資料庫的用戶視圖,用戶與DB的介面?

一個(gè)資料庫可以有多個(gè)外模式?

是概念模式的一個(gè)邏輯子集或由概念模式推導(dǎo)而來

?

由DBMS提供的外模式定義語言來定義和描述

?

也稱子模式或用戶模式

第一章資料庫概論1.5資料庫的體系結(jié)構(gòu)?

比如:createview…語句

第一章資料庫概論1.5資料庫的體系結(jié)構(gòu)內(nèi)模式――是對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述,定義所有的物理記錄類型、索引和文件的組織方式,以及數(shù)據(jù)控制方面的細(xì)節(jié)?

一個(gè)資料庫只有一個(gè)內(nèi)部模式?

對(duì)一般的資料庫用戶透明?

內(nèi)模式的設(shè)計(jì)直接影響資料庫的性能?

由DBMS提供的內(nèi)模式定義語言(內(nèi)模式DDL)來定義和描述?

也稱存儲(chǔ)模式

?

比如:索引createindex…語句簇集、分區(qū)等是一種對(duì)應(yīng)規(guī)則,指出映象雙方怎樣進(jìn)行轉(zhuǎn)換

第一章資料庫概論1.5資料庫的體系結(jié)構(gòu)模式/內(nèi)模式映象―-用於定義概念模式和內(nèi)模式之間的對(duì)應(yīng)性

?

在概念級(jí)和內(nèi)部級(jí)之間

?

一般在內(nèi)模式中描述

外模式/模式映象―-用於定義外模式與概念模式之間的對(duì)應(yīng)性/命名、組成等

?

在概念級(jí)和外部級(jí)之間

?

一般在外模式中描述當(dāng)需要改變內(nèi)模式(比如選用了另一種存儲(chǔ)結(jié)構(gòu))時(shí),可由DBA對(duì)邏輯模式/內(nèi)部模式映象作相應(yīng)改變,使邏輯模式保持不變,從而外模式不變,應(yīng)用程式也不變

說明:資料庫的三級(jí)模式結(jié)構(gòu)是一個(gè)理想的結(jié)構(gòu),在目前現(xiàn)有的DBMS商品軟體中,不同系統(tǒng)的數(shù)據(jù)獨(dú)立性程度不同。三、兩級(jí)數(shù)據(jù)獨(dú)立性pp.25邏輯獨(dú)立性――應(yīng)用程式獨(dú)立於邏輯模式的變化當(dāng)需要改變邏輯模式時(shí)(增加新的關(guān)係、屬性等),由DBA對(duì)各個(gè)外模式/邏輯模式映象作相應(yīng)改變以保持外模式不變,從而不必修改或重寫應(yīng)用程式物理獨(dú)立性――應(yīng)用程式獨(dú)立於內(nèi)模式的變化邏輯數(shù)據(jù)獨(dú)立性與物理數(shù)據(jù)獨(dú)立性統(tǒng)稱為數(shù)據(jù)獨(dú)立性

數(shù)據(jù)獨(dú)立性――應(yīng)用程式和數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立,不受影響

第一章資料庫概論1.5資料庫的體系結(jié)構(gòu)?

外模式的作用

-簡化了用戶介面。用戶無需瞭解數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),只需按照外模式的規(guī)定編寫應(yīng)用程式或在終端上鍵入操作命令,便可實(shí)現(xiàn)所需的操作-有利於數(shù)據(jù)共用??梢詮耐贿壿嬆J疆a(chǎn)生出不同的外模式,減少了數(shù)據(jù)的冗餘度-有利於數(shù)據(jù)安全和保密。用戶不易接觸與己無關(guān)的數(shù)據(jù),保密性好。同時(shí)使程式錯(cuò)誤傳播的範(fàn)圍縮小保證了其他數(shù)據(jù)的安全性。-保證數(shù)據(jù)的獨(dú)立性。通過模式間的映象保證數(shù)據(jù)庫數(shù)據(jù)的獨(dú)立性。

第一章資料庫概論1.5資料庫的體系結(jié)構(gòu)四、用戶用戶――使用資料庫的應(yīng)用程式或聯(lián)機(jī)終端用戶?

主語言:編寫應(yīng)用程式的高級(jí)程式設(shè)計(jì)語言也稱宿主語言?

交互型DML:可自成系統(tǒng),在終端上直接對(duì)數(shù)據(jù)庫進(jìn)行操作的DML?

嵌入型DML:可嵌入在主語言中使用的DML

第一章資料庫概論1.5資料庫的體系結(jié)構(gòu)什麼是資料庫技術(shù)?1.1引言1.2資料庫的由來和發(fā)展1.3資料庫、資料庫管理系統(tǒng)與資料庫系統(tǒng)定義1.4數(shù)據(jù)模型1.5資料庫的體系結(jié)構(gòu)1.6資料庫管理系統(tǒng)1.7資料庫系統(tǒng)第一章資料庫概論

第一章資料庫概論1.6資料庫管理系統(tǒng)1.6資料庫管理系統(tǒng)(DBMS)pp.27DB物理資料庫DBMS

操作系統(tǒng)(OS)用戶DBMS是DBS中對(duì)數(shù)據(jù)進(jìn)行管理的軟體系統(tǒng),是DBMS的核心組成部分,是用戶的應(yīng)用程式與物理資料庫之間的橋樑。用戶對(duì)DB操作時(shí):DBMS將操作從應(yīng)用程式帶入外部級(jí)→邏輯級(jí)→內(nèi)部級(jí),再通過OS操縱記憶體上物理資料庫中的數(shù)據(jù)。DBMS類似於一個(gè)操作命令解釋器,又像一個(gè)嚮導(dǎo)

第一章資料庫概論1.6資料庫管理系統(tǒng)一、DBMS的工作模式(pp.26)1)接受應(yīng)用程式的數(shù)據(jù)請(qǐng)求和處理請(qǐng)求2)將用戶的數(shù)據(jù)請(qǐng)求轉(zhuǎn)換成複雜的機(jī)器代碼3)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的操作4)從對(duì)數(shù)據(jù)庫的操作中接受查詢結(jié)果5)對(duì)查詢結(jié)果進(jìn)行處理6)將處理結(jié)果返回給用戶應(yīng)用程式DBMSDB數(shù)據(jù)請(qǐng)求低層指令數(shù)據(jù)(查詢結(jié)果)數(shù)據(jù)(處理結(jié)果)對(duì)存儲(chǔ)路徑的選擇應(yīng)用程式資料庫語言語句語法樹執(zhí)行計(jì)畫與存取原語系統(tǒng)調(diào)用I/O命令磁片併發(fā)控制存取機(jī)制恢復(fù)機(jī)制應(yīng)用1語義分析和查詢處理與優(yōu)化(DDL、QL、DML、DCL)授權(quán)檢查詞法及語法分析器應(yīng)用i………應(yīng)用j應(yīng)用n…介面m介面1操作系統(tǒng)是一些基本操作命令:打開、關(guān)閉檔,取一記錄,建立索引。由存取機(jī)制執(zhí)行。DBMS的執(zhí)行單位是事務(wù)檢查用戶是否有權(quán)訪問語法樹中涉及的數(shù)據(jù)對(duì)象發(fā)生故障時(shí)使DB恢復(fù)到某個(gè)一致狀態(tài)防止多用戶併發(fā)訪問資料庫時(shí)引起數(shù)據(jù)不一致補(bǔ)充:解釋執(zhí)行的RDBMS的結(jié)構(gòu)及處理過程:

第一章資料庫概論1.6資料庫管理系統(tǒng)DBMS是OS的用戶,分配記憶體、創(chuàng)建或撤銷進(jìn)程、訪問磁片時(shí)需通過系統(tǒng)調(diào)用來請(qǐng)求OS的服務(wù)(1)

資料庫定義(2)

資料庫操縱二、DBMS的主要功能

?

外模式、邏輯模式、內(nèi)模式、及模式間映象的定義;

?

資料庫完整性定義;

?

存取路徑等的定義

?

定義存儲(chǔ)在數(shù)據(jù)字典中,是DBMS運(yùn)行的基本依據(jù)

?

檢索(查詢)

?

更新(插入、刪除、修改)

第一章資料庫概論1.6資料庫管理系統(tǒng)——DML實(shí)現(xiàn)過程性DML:做什麼+怎麼做(層次、網(wǎng)狀)非過程性DML:做什麼(關(guān)係)——DDL實(shí)現(xiàn)(3)資料庫的保護(hù)(4)

資料庫的維護(hù)

?

恢復(fù)——在資料庫被破壞或數(shù)據(jù)不正確時(shí),系統(tǒng)有能力把資料庫恢復(fù)到正確的狀態(tài)

?

併發(fā)控制——在多個(gè)用戶同時(shí)對(duì)同一個(gè)數(shù)據(jù)進(jìn)行操作時(shí),系統(tǒng)應(yīng)能加以控制,防止資料庫中數(shù)據(jù)被破壞

?

完整性控制——保證資料庫中數(shù)據(jù)及語義的正確性和有效性,防止任何對(duì)數(shù)據(jù)造成錯(cuò)誤的操作

?

安全性控制——防止未經(jīng)授權(quán)的用戶存取資料庫中的數(shù)據(jù),以免數(shù)據(jù)的洩露、更改或破壞

?

數(shù)據(jù)載入、轉(zhuǎn)換、轉(zhuǎn)儲(chǔ)、資料庫改組、性能監(jiān)控

?

由專門的實(shí)用程式完成(非核心部分)

第一章資料庫概論1.6資料庫管理系統(tǒng)(5)數(shù)據(jù)字典(DataDictionary):是資料庫系統(tǒng)中存放三級(jí)結(jié)構(gòu)定義的資料庫

或:是一組關(guān)於DB中數(shù)據(jù)的數(shù)據(jù)

?

存放有關(guān)DB中數(shù)據(jù)的定義。

?

存放資料庫運(yùn)行時(shí)的統(tǒng)計(jì)資訊。

?

對(duì)DB的操作都要通過DD來實(shí)現(xiàn)。

?

稱數(shù)據(jù)字典中的數(shù)據(jù)為元數(shù)據(jù)(Meta-Data),組成數(shù)據(jù)字典檔的屬性稱為元屬性。

?

是DBMS存取和管理數(shù)據(jù)的基本依據(jù),主要由系統(tǒng)管理和使用。

?

管理數(shù)據(jù)字典的子系統(tǒng)稱為“數(shù)據(jù)字典系統(tǒng)”

第一章資料庫概論1.6資料庫管理系統(tǒng)

第一章資料庫概論1.6資料庫管理系統(tǒng)三、DBMS的模組組成(自學(xué))查詢處理器資料庫管理系統(tǒng)DDL編譯器DML編譯器嵌入式DML預(yù)編譯器查詢運(yùn)行核心程式存儲(chǔ)管理器許可權(quán)和完整性管理器事務(wù)管理器檔管理器緩衝區(qū)管理器什麼是資料庫技術(shù)?1.1引言1.2資料庫的由來和發(fā)展1.3資料庫、資料庫管理系統(tǒng)與資料庫系統(tǒng)定義1.4數(shù)據(jù)模型1.5資料庫的體系結(jié)構(gòu)1.6資料庫管理系統(tǒng)1.7資料庫系統(tǒng)第一章資料庫概論

第一章資料庫概論1.7資料庫系統(tǒng)1.7資料庫系統(tǒng)(DBS)PP.29一、DBS的組成

DBS由資料庫、硬體、軟體和數(shù)據(jù)庫管理員組成1.資料庫:與一個(gè)企業(yè)組織各項(xiàng)應(yīng)用有關(guān)的全部數(shù)據(jù)的集合包括:物理資料庫——應(yīng)用數(shù)據(jù)的集合,是DB主體描述資料庫——各級(jí)數(shù)據(jù)結(jié)構(gòu)的描述,由DD系統(tǒng)管理2.硬體包括:CPU、記憶體、外存、I/O設(shè)備等要求:足夠記憶體 足夠的磁片等直接存取設(shè)備 較高的通道能力,提高數(shù)據(jù)傳輸速率支持聯(lián)網(wǎng)的能力

第一章資料庫概論1.7資料庫系統(tǒng)3.軟體包括:DBMS OS(支持DBMS運(yùn)行的操作系統(tǒng))

各種主語言(與DB有介面的高級(jí)語言及編譯系統(tǒng))

應(yīng)用開發(fā)支撐軟體(VB/Delphi/PB)

4.資料庫管理員

定義:DBA是控制數(shù)據(jù)整體結(jié)構(gòu)的一組人員,負(fù)責(zé)

DBS的正常運(yùn)行,承擔(dān)創(chuàng)建、監(jiān)控和維護(hù)數(shù)據(jù)庫結(jié)構(gòu)的責(zé)任

第一章資料庫概論1.7資料庫系統(tǒng)主要職責(zé):定義模式(邏輯模式)

定義內(nèi)模式 與用戶的聯(lián)絡(luò):定義外模式/應(yīng)用程式設(shè)計(jì)/培訓(xùn) 定義安全性規(guī)則,對(duì)用戶訪問資料庫的授權(quán) 定義完整性規(guī)則,監(jiān)督資料庫的運(yùn)行 資料庫的轉(zhuǎn)儲(chǔ)與恢復(fù)

DBA的工具:實(shí)用程式→裝載/重組/日誌/恢復(fù)/統(tǒng)計(jì)分析

DD系統(tǒng)→整個(gè)系統(tǒng)的工作情況DBA的素質(zhì):熟悉/瞭解/系統(tǒng)分析員/業(yè)務(wù)/資歷…補(bǔ)充:DBS組成的另一種定義

由資料庫(DB)

資料庫管理系統(tǒng)(DBMS)

應(yīng)用程式資料庫管理員(DBA)

第一章資料庫概論1.7資料庫系統(tǒng)第一章總結(jié)本章介紹了:◆數(shù)據(jù)管理的四個(gè)發(fā)展階段和

◆資料庫、資料庫管理系統(tǒng)、資料庫系統(tǒng)、數(shù)據(jù)獨(dú)立性、共用性、冗餘等概念◆DBS的特點(diǎn)

第一章資料庫概論第一章總結(jié)◆數(shù)據(jù)模型的概念◆數(shù)據(jù)模型的三要素、三級(jí)別◆

概念模型及其三個(gè)抽象概念(實(shí)體、屬性和聯(lián)繫)◆E-R圖的畫法

第二章關(guān)係模型和關(guān)係運(yùn)算理論關(guān)係模型是當(dāng)前的主流邏輯數(shù)據(jù)模型

首先由IBM公司的高級(jí)研究員E.F.Codd於1970年提出

應(yīng)用廣泛的原因:

?

單一的數(shù)據(jù)建模概念

?

堅(jiān)實(shí)的數(shù)學(xué)理論基礎(chǔ)

?

提供高級(jí)介面:資料庫語言SQL

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念

2.1.1關(guān)係模型的數(shù)據(jù)結(jié)構(gòu)

2.1.2關(guān)係的定義和性質(zhì)

2.1.3關(guān)係模型的數(shù)據(jù)約束

2.1.4E-R模型向關(guān)係模型的轉(zhuǎn)換

2.1.5關(guān)係模型的數(shù)據(jù)操作

2.1.6關(guān)係模型的三級(jí)模式和優(yōu)點(diǎn)2.2關(guān)係代數(shù)2.3關(guān)係演算概述2.4關(guān)係代數(shù)運(yùn)算式的優(yōu)化第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念關(guān)係模型的定義:

用二維表格(table)表示實(shí)體集及其間聯(lián)繫,用關(guān)鍵碼(或鍵)進(jìn)行數(shù)據(jù)導(dǎo)航的數(shù)據(jù)模型關(guān)係數(shù)據(jù)模型屬邏輯數(shù)據(jù)模型,具有三要素理論基礎(chǔ):集合論中的關(guān)係(Relation)概念:課程號(hào)課程名0001局域網(wǎng)0002資料庫::學(xué)分23:開課時(shí)間春季秋季…

學(xué)號(hào)課號(hào)成績984101000185:::學(xué)號(hào)姓名984101王一984102趙二::性別男女:出生日期1980/06/031981/04/28:…

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念E-R圖學(xué)生課程選修mn成績課號(hào)……學(xué)號(hào)學(xué)號(hào)課程號(hào)成績9841010001859841020001902.1.1關(guān)係模型的數(shù)據(jù)結(jié)構(gòu)

一、從用戶的角度看關(guān)係資料庫由二維表組成

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念每張二維表中的:(2)

一行對(duì)應(yīng)一條記錄

一列對(duì)應(yīng)一個(gè)字段每個(gè)字段反映事物的一個(gè)特徵每個(gè)字段都有字段名和字段值

2二.理論術(shù)語

關(guān)係資料庫由關(guān)係組成

一個(gè)關(guān)係由一張二維表表示關(guān)係由元組(Tuple)組成,一個(gè)元組對(duì)應(yīng)表中的一行(Row).

元組由屬性組成,一屬性一列(Clumn),屬性有名/值.屬性的取值範(fàn)圍(所有可取值的集合)――>屬性域Domain(A).每個(gè)關(guān)係都有關(guān)系名.關(guān)係名及其各屬性名――>關(guān)係模式(RelationSchema).關(guān)係中屬性的個(gè)數(shù)――>關(guān)係的目或元數(shù)關(guān)係中元組的個(gè)數(shù)――>關(guān)係的基數(shù)

關(guān)係中各元組用關(guān)鍵字(Keyword—簡稱鍵)來標(biāo)識(shí).選課3

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念成績:0-100選課(學(xué)號(hào),課程號(hào),成績)說明:表與關(guān)係、元組與記錄、屬性與列/字段等術(shù)語可以通用學(xué)號(hào)課程號(hào)成績984101000185984102000190選課(學(xué)號(hào),課程號(hào),成績)主屬性――包含在任何一個(gè)候選鍵中的屬性

非主屬性――不包含在任何一個(gè)候選鍵中的屬性

例3:選課(學(xué)號(hào),課程號(hào),成績)(2)候選鍵:不含多餘屬性的超鍵。

或:其值能唯一地決定關(guān)係中其他所有屬性的值、而它的任何真子集無此性質(zhì)的屬性或?qū)傩越M。三.鍵(Key)

――

數(shù)據(jù)間關(guān)係的描述(表內(nèi)的、表間的)

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念(1)超鍵(SupperKey)

――其值能唯一地決定其他所有屬性的值的屬性集Y

?學(xué)號(hào),姓名

――>例1:STUDENT(學(xué)號(hào),姓名,性別,出生日期,籍貫)――>×

學(xué)號(hào)例2:STUDENT(學(xué)號(hào),姓名,性別,出生日期,籍貫)候選鍵?

?學(xué)號(hào),姓名

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念(3)主鍵

(PrimaryKey)

――用戶選作元組標(biāo)識(shí)的候選鍵,稱為主鍵(PK),簡稱鍵

(4)候補(bǔ)鍵(AlternateKey)

――主鍵之外的候選鍵

例4:

設(shè)在STUDENT關(guān)係中,學(xué)生姓名唯一

則學(xué)號(hào)、姓名都為STUDENT的候選健

若定義學(xué)號(hào)為主鍵,則姓名就為候補(bǔ)健

(5)全鍵

――由關(guān)係的所有屬性構(gòu)成的主鍵

n例5:

SUPPLY(供應(yīng)商,零件名,工程名)

專案供應(yīng)mp零件供應(yīng)商(6)外鍵(ForeignKey)

①如果模式R中的屬性K是其他模式的主鍵,那麼K

在模式R中稱為外鍵,記做(FK)

。②不是本關(guān)係的鍵,卻引用了其他關(guān)係或本關(guān)係的鍵的屬性或?qū)傩越M,記做(FK)

例6:

關(guān)係STUDENT(學(xué)號(hào),姓名,性別,出生日期,籍貫)

關(guān)係COURSE(課程名,課程號(hào),學(xué)分,開課時(shí)間,先修課號(hào))

關(guān)係SC(學(xué)號(hào),課程號(hào),成績)

PK學(xué)號(hào)PK課程號(hào)PK學(xué)號(hào)FK課程號(hào)FK*關(guān)係數(shù)據(jù)模型中實(shí)體間(表間)的聯(lián)繫是用外鍵隱含地表示的

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念思考:

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念

在關(guān)係COURSE(課程名,課程號(hào),學(xué)分,開課時(shí)間,先修課號(hào))

中先修課號(hào)是什麼鍵,與課程號(hào)的關(guān)係如何

?

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念2.1.2關(guān)係的定義和性質(zhì)二.性質(zhì)

?

關(guān)係模型中屬性無序(不同於集合)R(A1,A2)=R(A2,A1)

?

關(guān)係模型中元組無序?

關(guān)係中的每一個(gè)屬性值都是不可分解的,即關(guān)係的屬性域是原子數(shù)據(jù)的集合?

同一關(guān)係中不允許有相同元組

一.定義關(guān)係是一個(gè)屬性數(shù)目(目)相同的元組的集合

有限關(guān)係:元組數(shù)目(基數(shù))有限

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念語法上的規(guī)定:每個(gè)元組屬性都取域中的值語義上的限制:完整性約束規(guī)則在對(duì)DB進(jìn)行更新(I/D/U)操作時(shí)檢查保證數(shù)據(jù)與現(xiàn)實(shí)世界的一致性關(guān)係模型有三類完整性規(guī)則:實(shí)體完整性規(guī)則(EntityIntegrityConstrain)參照(引用)完整性規(guī)則(ReferenceIntegrityConstrain)用戶定義的完整性規(guī)則2.1.3關(guān)係模型的完整性約束

PP.41

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念一.實(shí)體完整性規(guī)則?

每個(gè)關(guān)係都應(yīng)有一個(gè)主鍵?

每個(gè)元組的主鍵的值應(yīng)當(dāng)唯一?

主鍵值不能為NULL(主屬性不為NULL)(1)作用:關(guān)係內(nèi)的約束

(2)規(guī)定:關(guān)係SC

(學(xué)號(hào),課程號(hào),成績)

↑↑

notnullnotnull

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念(1)作用:不同關(guān)係或同一關(guān)係的不同元組間的約束

二.參照完整性規(guī)則?外鍵要麼引用實(shí)際存在的主鍵值,要麼是NULL

即:不允許引用不存在的實(shí)體?幾點(diǎn)說明:

①外鍵與主鍵只需值域相同,可不同名→注意SQL的書寫

COURSE(課程號(hào),…,先修課號(hào))

②外鍵值是否為空,酌情而定→若為主屬性則不可為空

SC

(學(xué)號(hào),課程號(hào),成績)

③若屬性集K是關(guān)係R2的外鍵,它引用關(guān)係R1的主鍵,則常稱:R1為參照關(guān)係、主表、父表學(xué)生STUDENTR2為依賴關(guān)係、副表、子表選課SC④若引用本關(guān)係的鍵,則表示關(guān)係內(nèi)不同元組間的聯(lián)繫(2)規(guī)定

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念三.用戶定義的完整性規(guī)則說明:

?

各種DBMS產(chǎn)品對(duì)完整性約束的支持程度不同

?

資料庫中完整性約束檢查,由DBMS實(shí)現(xiàn)或由用戶負(fù)責(zé)

(1)作用:和數(shù)據(jù)的具體內(nèi)容有關(guān)的約束

(2)需顯式說明:CHECK()子句、觸發(fā)器、斷言、過程…2.1.4E-R模型向關(guān)係模型的轉(zhuǎn)換PP.168

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念(1)實(shí)體集:*每個(gè)實(shí)體集轉(zhuǎn)換成一個(gè)關(guān)係模式

*實(shí)體集的屬性即為關(guān)係模式的屬性

*實(shí)體健即為關(guān)係模式的鍵(2)聯(lián)繫集:1:1的聯(lián)繫集

1:n的聯(lián)繫集

m:n的聯(lián)繫集目標(biāo):把E-R圖轉(zhuǎn)換為關(guān)係模式的集合規(guī)則:R學(xué)校與R校長通過校長的“校長職工號(hào)”(外鍵)關(guān)聯(lián)1:1的聯(lián)繫集→聯(lián)繫集的屬性歸入兩個(gè)關(guān)係模式的任一個(gè)之中(消除聯(lián)繫集),並在該關(guān)係模式中引用另一個(gè)關(guān)係的鍵(公共屬性,成為本關(guān)係的外鍵)在R學(xué)校中引入“任職年月”屬性在R學(xué)校引用校長的“職工號(hào)”R學(xué)校(學(xué)校代號(hào),校名,…)R校長(職工號(hào),姓名,年齡,…)*校長學(xué)校負(fù)責(zé)11任職年月例如:

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念R學(xué)校(學(xué)校代號(hào),校名,校長職工號(hào),任職年月…)1:n的聯(lián)繫集→聯(lián)繫集的屬性歸入n方關(guān)係模式中

(消聯(lián)繫集),在n方的關(guān)係模式中

引用1方關(guān)係中的鍵在R教師中引入“聘期”屬性

聘用聘期系

教師1nR教師(職工號(hào),姓名,性別,…)R教師與R系通過外鍵“系號(hào)”關(guān)聯(lián)R系(系號(hào),系名,地址,…)

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念聘期,系號(hào),m:n的聯(lián)繫集―>用聯(lián)繫集的屬性和兩個(gè)實(shí)體集的鍵單獨(dú)構(gòu)成一個(gè)新關(guān)係,新關(guān)係的鍵由兩個(gè)實(shí)體集的鍵組合而成學(xué)生課程選課mn成績STUDENT(學(xué)號(hào),姓名,性別,出生日期,籍貫)

COURSE(課程名,課程號(hào),學(xué)分,開課時(shí)間,先修課號(hào))

關(guān)係SC(學(xué)號(hào),課程號(hào),成績)

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念2.1.5關(guān)係模型的數(shù)據(jù)操作

(1)關(guān)係資料庫的數(shù)據(jù)操作有兩大類:?

查詢――對(duì)數(shù)據(jù)的檢索?

更新――數(shù)據(jù)的插入(I)、刪除(D)和修改(U)

更新以查詢?yōu)榛A(chǔ)(2)

關(guān)係數(shù)據(jù)模型提供一組完備的關(guān)係運(yùn)算(操作定義),以支持對(duì)數(shù)據(jù)庫的查詢等操作

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念(4)關(guān)係運(yùn)算理論基礎(chǔ)分為三大類:關(guān)係代數(shù)

關(guān)係演算

――查詢操作以集合操作為基礎(chǔ),又分為:

關(guān)係專用操作:選擇、投影、連接、除

傳統(tǒng)集合操作:並、交、差、笛卡兒積――查詢操作以謂詞演算為基礎(chǔ),又按謂詞變數(shù)分為:元組關(guān)係演算

域關(guān)係演算

(3)關(guān)係運(yùn)算以一個(gè)或多個(gè)關(guān)係為運(yùn)算對(duì)象,運(yùn)算後形成新的關(guān)係,提供用戶所需數(shù)據(jù)

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念關(guān)係邏輯――以一階邏輯表達(dá)關(guān)係的操作(if-then)。

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念一、關(guān)係模型的三級(jí)模式:對(duì)應(yīng)資料庫的三級(jí)體系結(jié)構(gòu)資料庫的

關(guān)係模型的

定義的內(nèi)容邏輯模式關(guān)係模式模式名/屬性名/值域/主鍵等外模式子模式用的數(shù)據(jù)/與關(guān)係模式數(shù)據(jù)的聯(lián)繫/操作許可權(quán)內(nèi)模式存儲(chǔ)模式存儲(chǔ)關(guān)係的方式:索引/散列2.1.6關(guān)係模型的三級(jí)模式和優(yōu)點(diǎn)

PP.42

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作數(shù)據(jù)完整性規(guī)則――關(guān)係(二維表)――提供完備的高級(jí)關(guān)係運(yùn)算*關(guān)係代數(shù)*關(guān)係演算*關(guān)係邏輯――實(shí)體完整性參照完整性用戶定義的完整性關(guān)係模型:二、關(guān)係模型的優(yōu)點(diǎn)關(guān)係運(yùn)算的完備性和設(shè)計(jì)規(guī)範(fàn)化理論關(guān)係模型的基本結(jié)構(gòu)是二維表;數(shù)據(jù)表示統(tǒng)一、簡明、精確,便於在電腦中實(shí)現(xiàn);向用戶提供的是獨(dú)立於數(shù)據(jù)存儲(chǔ)方式的關(guān)係模式;易於掌握和運(yùn)用。

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念優(yōu)點(diǎn):邏輯結(jié)構(gòu)及相應(yīng)操作獨(dú)立於數(shù)據(jù)存儲(chǔ)方式存取路徑對(duì)用戶透明*有堅(jiān)實(shí)的理論基礎(chǔ)*有很強(qiáng)的表達(dá)能力*數(shù)據(jù)獨(dú)立性高*數(shù)據(jù)結(jié)構(gòu)簡單二維表能方便地表示實(shí)體集和實(shí)體集間的聯(lián)繫補(bǔ)充缺點(diǎn):

*查詢效率不如非關(guān)係數(shù)據(jù)模型由於存取路徑對(duì)用戶透明,查詢優(yōu)化處理依靠系統(tǒng)完成,加重了系統(tǒng)的負(fù)擔(dān)。

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.1關(guān)係模型的基本概念2.1關(guān)係模型的基本概念

2.1.1關(guān)係模型的數(shù)據(jù)結(jié)構(gòu)

2.1.2關(guān)係的定義和性質(zhì)

2.1.3關(guān)係模型的數(shù)據(jù)約束

2.1.4E-R模型向關(guān)係模型的轉(zhuǎn)換

2.1.5關(guān)係模型的數(shù)據(jù)操作

2.1.6關(guān)係模型的三級(jí)模式和優(yōu)點(diǎn)2.2關(guān)係代數(shù)2.3關(guān)係演算概述2.4關(guān)係代數(shù)運(yùn)算式的優(yōu)化第二章關(guān)係模型和關(guān)係運(yùn)算理論2.2關(guān)係代數(shù)關(guān)係代數(shù)是以關(guān)係為運(yùn)算對(duì)象的一組高級(jí)運(yùn)算的集合。關(guān)係代數(shù)運(yùn)算式由運(yùn)算符和作為運(yùn)算分量的關(guān)係構(gòu)成關(guān)係代數(shù)的運(yùn)算分為兩大類:

傳統(tǒng)的集合運(yùn)算(並、交、差、笛卡爾積)

專門的關(guān)係運(yùn)算

*選取部分?jǐn)?shù)據(jù)的運(yùn)算(選擇、投影等)*組合兩個(gè)關(guān)係元組的操作(連接運(yùn)算等)

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.2關(guān)係代數(shù):::課程號(hào)課程名學(xué)分開課時(shí)間…0001局域網(wǎng)2春季

0002資料庫3秋季

:學(xué)號(hào)課號(hào)成績984101000185:::學(xué)號(hào)姓名性別出生日期…984101王一男1980/06/03

984102趙二女1981/04/28

::::

學(xué)生課程選修mnE-R簡圖舉例用的表和數(shù)據(jù):

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.2關(guān)係代數(shù)STUDENT、SC、COURSE或S、SC、C

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.2關(guān)係代數(shù)F:命題公式F有兩種成份:

運(yùn)算對(duì)象:‘常數(shù)’,元組分量(屬性名或列序號(hào))

運(yùn)算符:算術(shù)比較運(yùn)算符θ(<,<=,>,>=,=,<>或

)

邏輯運(yùn)算符(∧,∨,┐)一.選擇操作(σ)

?

一元操作?

目的:在關(guān)係中選出符合條件的元組(行)→水準(zhǔn)分割?

定義:

σF(R)≡{t|t

R∧F(t)=true}選出R中使F為真的元組?

表示:σ<選擇條件>(<關(guān)係名>)→σF(R),F(xiàn)是命題公式

2.2.1

五個(gè)基本操作--關(guān)係代數(shù)的完備操作集

∪、-、×、

σ、Π

A

B

C

a

b

c

d

a

f

c

b

d

關(guān)係R

A

B

C

ab

c

c

b

dσB=‘b’(R)

或σ2=‘b’(R)

?

結(jié)果:結(jié)果:全部屬性,部分元組構(gòu)成的關(guān)係

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.2關(guān)係代數(shù)選擇操作的結(jié)果是其作用的關(guān)係的子集?例如:在STUDENT表中:(1)查詢王彤同學(xué)的情況(2)查詢1975出生的江蘇學(xué)生的情況

(3)查詢1975年之後出生的男生的情況

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.2關(guān)係代數(shù)σ姓名=‘王彤’(STUDENT)σ籍貫=‘江蘇’∧YEAR(出生日期)=’1975’(STUDENT)σ性別=‘男’

∧YEAR(出生日期)>=‘1976’(STUDENT)?

性質(zhì):(a)σ<F1>(σ<F2>(R))≡σ<F2>(σ<F1>(R))(b)σ<F1>σ<F2>(

…(σ<Fn>(R)))

≡σ<F1>∧<F2>∧…∧<Fn>(R)STUDENT(學(xué)號(hào),姓名,性別,出生日期,籍貫)(1)σ姓名=‘王彤’(STUDENT)學(xué)號(hào)姓名性別出生日期籍貫934103王彤男1976/01/05福建(2)σ籍貫=‘江蘇’∧出生年份=’1975’(STUDENT)(3)σ性別=‘男’∧出生年份>=‘1976’

(STUDENT)學(xué)號(hào)姓名性別出生日期籍貫934101王一男1975/06/03江蘇934102趙二女1976/04/28江蘇934103王彤男1976/01/05福建934104陳三女1975/06/03安徽934105李四男1975/06/03浙江

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.2關(guān)係代數(shù)?

一元操作

?

目的:選取關(guān)係中感興趣的列,重排列順序即:對(duì)關(guān)係垂直分割

?結(jié)果:

ABCabcdafcbd

關(guān)係RΠA,C(R)Π1,3(R)?

形式定義:

Πi1,…,im(R)≡{t|t=<ti1,…,tim>∧<t1,…,tk>

R}

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.2關(guān)係代數(shù)?表示:Π<屬性或序號(hào)列表>(<關(guān)係名>)二.投影操作(Π)ACacdfcd投影結(jié)果:部分屬性全部元組?

當(dāng)屬性列表中不含候選鍵時(shí),投影結(jié)果可能有重複元組(消除)

?性質(zhì):Π<屬性表1>(Π<屬性表2>(R))≡Π<屬性表1>(R)

屬性表1∈屬性表2?

應(yīng)用:

STUDENT(學(xué)號(hào),姓名,性別,出生日期,籍貫)

學(xué)號(hào)姓名性別出生日期籍貫934101王一男1975/06/03江蘇934102趙二女1976/04/28江蘇934103王彤男1976/01/05

福建姓名籍貫王一江蘇趙二江蘇王彤

福建姓名籍貫姓名趙二姓名

第二章關(guān)係模型和關(guān)係運(yùn)算理論2.2關(guān)係代數(shù)例1:Π姓名,籍貫(STUDENT)

查詢所有學(xué)生的姓名和籍貫例2:投影與選擇結(jié)合Π<姓名>(σ<性別>=‘女’(STUDENT))三.並

?

二元操作

——

對(duì)二個(gè)關(guān)係的操作

?

前提:並相容――兩關(guān)係具有相同的目,對(duì)應(yīng)屬性域相同

且兩個(gè)關(guān)係的屬性排列次序一樣

?形式定義:R∪S≡{t|t

R

溫馨提示

  • 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)論