數(shù)據(jù)庫應(yīng)用基礎(chǔ)A_第1頁
數(shù)據(jù)庫應(yīng)用基礎(chǔ)A_第2頁
數(shù)據(jù)庫應(yīng)用基礎(chǔ)A_第3頁
數(shù)據(jù)庫應(yīng)用基礎(chǔ)A_第4頁
數(shù)據(jù)庫應(yīng)用基礎(chǔ)A_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第11章 數(shù)據(jù)庫應(yīng)用基礎(chǔ)8/8/20221教學(xué)內(nèi)容:數(shù)據(jù)庫應(yīng)用基礎(chǔ)學(xué)習(xí)重點(diǎn):數(shù)據(jù)庫結(jié)構(gòu)和數(shù)據(jù)模型學(xué)習(xí)難點(diǎn):數(shù)據(jù)庫結(jié)構(gòu)和查詢方法8/8/2022211.1 數(shù)據(jù)庫概述11.2 數(shù)據(jù)模型11.3 關(guān)系數(shù)據(jù)庫11.4 數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)11.5 SQL語言中的數(shù)據(jù)操作主要內(nèi)容8/8/20223 數(shù)據(jù)庫基本概念及發(fā)展 常見的數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫系統(tǒng)的分類11.1 數(shù)據(jù)庫概述8/8/20224身邊的數(shù)據(jù)庫應(yīng)用 超市銷售系統(tǒng) 鐵路售票系統(tǒng) 圖書館管理系統(tǒng) 銀行業(yè)務(wù)系統(tǒng) 學(xué)校教學(xué)管理系統(tǒng) 能列出哪些管理需要大批量數(shù)據(jù)嗎 ?8/8/20225人工管理文件系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)管理技術(shù)的發(fā)展8/8/20226應(yīng)用程

2、序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)組1數(shù)據(jù)組2數(shù)據(jù)組n人工管理階段學(xué)生處教務(wù)處人事處學(xué)生信息數(shù)據(jù)集課程信息數(shù)據(jù)集教師信息數(shù)據(jù)集特點(diǎn): 數(shù)據(jù)不保存在計(jì)算機(jī)內(nèi)。 沒有專用的軟件對數(shù)據(jù)進(jìn)行管理。 只有程序的概念,沒有文件的概念。 一組數(shù)據(jù)對應(yīng)一個(gè)程序。8/8/20227應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)組1數(shù)據(jù)組2數(shù)據(jù)組n 文件管理系統(tǒng)問題: 數(shù)據(jù)冗余與數(shù)據(jù)不一致 數(shù)據(jù)結(jié)構(gòu)的不一致 不能反映現(xiàn)實(shí)世界事物間聯(lián)系文件管理階段(50后期-60中期)8/8/20228應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)庫 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理階段(60后期- )優(yōu)點(diǎn):實(shí)現(xiàn)數(shù)據(jù)共享減少數(shù)據(jù)的冗余度數(shù)據(jù)的一致性和完整性好數(shù)據(jù)和程序

3、之間的獨(dú)立性好有較高的數(shù)據(jù)安全性并發(fā)控制性好實(shí)現(xiàn)數(shù)據(jù)庫恢復(fù)8/8/20229數(shù)據(jù)庫基本概念數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象。例如:文字、圖形、圖像、語音等。數(shù)據(jù)庫(DB,Database)是長期存儲在計(jì)算機(jī)內(nèi),有組織的,可共享的數(shù)據(jù)的集合。8/8/202210數(shù)據(jù)庫系統(tǒng)(Database System,簡記為DBS)是采用數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng)。一般由計(jì)算機(jī)軟硬件系統(tǒng)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)及用戶組成。數(shù)據(jù)庫系統(tǒng)(DBS)8/8/202211數(shù)據(jù)庫系統(tǒng)(DBS) 一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成;應(yīng)用系統(tǒng):針對某一具體應(yīng)用而設(shè)計(jì)的面向用戶的

4、軟件系統(tǒng),建立在DBMS基礎(chǔ)上,具有良好的交互操作性和用戶界面;用戶:具體操作應(yīng)用系統(tǒng),進(jìn)行業(yè)務(wù)活動(dòng)的人員;數(shù)據(jù)庫管理員:全面負(fù)責(zé)數(shù)據(jù)庫系統(tǒng)的管理、維護(hù)和正常使用的的專門人員。8/8/202212硬件DS操統(tǒng)BM編譯系統(tǒng)應(yīng) 用軟件工具開發(fā)應(yīng)系用統(tǒng)作系8/8/202213數(shù)據(jù)結(jié)構(gòu)化且統(tǒng)一管理數(shù)據(jù)冗余度小具有較高的數(shù)據(jù)獨(dú)立性數(shù)據(jù)的共享性好數(shù)據(jù)控制功能強(qiáng)數(shù)據(jù)庫系統(tǒng)的特點(diǎn)8/8/202214 是使用戶可以定義、創(chuàng)建和維護(hù)數(shù)據(jù)庫以及提供數(shù)據(jù)庫有限制訪問的軟件系統(tǒng)。負(fù)責(zé)對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行統(tǒng)一的管理和控制。(VF、Access)數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之上的一層數(shù)據(jù)管理軟件。數(shù)據(jù)庫管理系統(tǒng)(DBM

5、S)8/8/202215數(shù)據(jù)庫基本概念數(shù)據(jù)數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象。數(shù)據(jù)庫(DB,Database)是長期存儲在計(jì)算機(jī)內(nèi),有組織的,可共享的數(shù)據(jù)的集合。數(shù)據(jù)庫系統(tǒng)(Database System,簡記為DBS)是采用數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng)。簡稱DBMS,是使用戶可以定義、創(chuàng)建和維護(hù)數(shù)據(jù)庫以及提供數(shù)據(jù)庫有限制訪問的軟件系統(tǒng)。8/8/202216 數(shù)據(jù)庫基本概念及發(fā)展 常見的數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫系統(tǒng)的分類11.1 數(shù)據(jù)庫概述8/8/202217常見的數(shù)據(jù)庫管理系統(tǒng) 目前有許多數(shù)據(jù)庫產(chǎn)品,如Oracle、Sybase、Informix、Microsof

6、t SQL Server、Microsoft Access、Visual FoxPro等產(chǎn)品各以自己特有的功能,在數(shù)據(jù)庫市場上占有一席之地。 Oracle 數(shù)據(jù)庫管理系統(tǒng) Sybase 數(shù)據(jù)庫管理系統(tǒng)(鐵路系統(tǒng)) Informix 數(shù)據(jù)庫管理系統(tǒng)(銀行系統(tǒng)) Microsoft SQL Server 數(shù)據(jù)庫管理系統(tǒng) Microsoft Access 數(shù)據(jù)庫管理系統(tǒng) 8/8/202218Oracle 數(shù)據(jù)庫管理系統(tǒng)Oracle是一個(gè)最早商品化的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),也是應(yīng)用廣泛、功能強(qiáng)大的數(shù)據(jù)庫管理系統(tǒng)。Oracle作為一個(gè)通用的數(shù)據(jù)庫管理系統(tǒng),不僅具有完整的數(shù)據(jù)管理功能,還是一個(gè)分布式數(shù)據(jù)庫系

7、統(tǒng),支持各種分布式功能,特別是支持Internet應(yīng)用。作為一個(gè)應(yīng)用開發(fā)環(huán)境,Oracle提供了一套界面友好、功能齊全的數(shù)據(jù)庫開發(fā)工具。Oracle使用PL/SQL語言執(zhí)行各種操作,具有可開放性、可移植性、可伸縮性等功能。8/8/202219Oracle公司 國籍:美國 中文名:甲骨文公司 Oracle公司(甲骨文公司)是世界上最大的企業(yè)軟件公司,向遍及145多個(gè)國家的用戶提供數(shù)據(jù)庫、工具和應(yīng)用軟件以及相關(guān)的咨詢、培訓(xùn)和支持服務(wù)。 甲骨文公司總部設(shè)在美國加利福尼亞州的紅木城,1989年正式進(jìn)入中國。 公司網(wǎng)站:http:/ 8/8/202220Microsoft SQL ServerMicro

8、soft SQL Server是一種典型的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),可以在許多操作系統(tǒng)上運(yùn)行,它使用Transact-SQL語言完成數(shù)據(jù)操作。由于Microsoft SQL Server是開放式的系統(tǒng),其它系統(tǒng)可以與它進(jìn)行完好的交互操作。目前最新版本的產(chǎn)品為Microsoft SQL Server 2008,它具有可靠性、可伸縮性、可用性、可管理性等特點(diǎn),為用戶提供完整的數(shù)據(jù)庫解決方案。8/8/202221Microsoft Access 作為Microsoft Office組件之一的Microsoft Access是在Windows環(huán)境下非常流行的桌面型數(shù)據(jù)庫管理系統(tǒng)。使用Microsoft A

9、ccess無需編寫任何代碼,只需通過直觀的可視化操作就可以完成大部分?jǐn)?shù)據(jù)管理任務(wù)。可以與Word、Excel等辦公軟件進(jìn)行數(shù)據(jù)交換和共享,并且通過對象鏈接與嵌入技術(shù)在數(shù)據(jù)庫中嵌入和鏈接聲音、圖像等多媒體數(shù)據(jù)。 8/8/202222 數(shù)據(jù)庫基本概念及發(fā)展 常見的數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫系統(tǒng)的分類11.1 數(shù)據(jù)庫概述8/8/202223數(shù)據(jù)庫系統(tǒng)的分類單用戶數(shù)據(jù)庫系統(tǒng)集中式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)分布式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)客戶/服務(wù)器結(jié)構(gòu)(C/S結(jié)構(gòu))的數(shù)據(jù)庫系統(tǒng)8/8/202224單用戶數(shù)據(jù)庫系統(tǒng)特點(diǎn):整個(gè)數(shù)據(jù)庫系統(tǒng)都在一臺計(jì)算機(jī)上,由一個(gè)用戶獨(dú)占,不同機(jī)器不能共享數(shù)據(jù)。8/8/202225集中式(或主從式)

10、結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)特點(diǎn):集中管理,安全性好。但在數(shù)據(jù)量很大時(shí),容易導(dǎo)致主機(jī)開銷過大,另外一個(gè)數(shù)據(jù)庫服務(wù)器要為眾多的客戶服務(wù),往往容易成為瓶頸,制約系統(tǒng)的性能。 8/8/202226分布式數(shù)據(jù)庫系統(tǒng) 在該結(jié)構(gòu)中,數(shù)據(jù)庫中的數(shù)據(jù)在邏輯上是一個(gè)整體,但物理地分布在計(jì)算機(jī)網(wǎng)絡(luò)的不同結(jié)點(diǎn)上,通過網(wǎng)絡(luò)互連,共同組成一個(gè)完整的數(shù)據(jù)庫。獨(dú)立-網(wǎng)絡(luò)中的每個(gè)結(jié)點(diǎn)都有一份DBMS的完整復(fù)制副本,可以獨(dú)立處理本地?cái)?shù)據(jù)庫中的數(shù)據(jù),執(zhí)行局部應(yīng)用;同時(shí)也可以同時(shí)存取和處理多個(gè)異地?cái)?shù)據(jù)庫中的數(shù)據(jù),執(zhí)行全局應(yīng)用。 易擴(kuò)充,可靠性高-但實(shí)現(xiàn)代價(jià)高,數(shù)據(jù)分布在不同的服務(wù)器上,從而給數(shù)據(jù)的處理、管理與維護(hù)帶來困難,而且進(jìn)行數(shù)據(jù)庫遠(yuǎn)程訪

11、問時(shí)會(huì)受到網(wǎng)絡(luò)流量的制約。8/8/202227客戶/服務(wù)器結(jié)構(gòu)(C/S結(jié)構(gòu))在客戶服務(wù)器結(jié)構(gòu)中,客戶端的用戶請求被傳送到數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器進(jìn)行處理后,只將結(jié)果返回給用戶(而不是整個(gè)數(shù)據(jù)),從而顯著減少了網(wǎng)絡(luò)上的數(shù)據(jù)傳輸量,提高了系統(tǒng)的性能、吞吐量和負(fù)載能力。 8/8/202228客戶機(jī)客戶機(jī)服務(wù)器客戶機(jī)網(wǎng)絡(luò)客戶/服務(wù)器系統(tǒng)的一般結(jié)構(gòu)圖功能分布:一些功能放在客戶機(jī)(前端機(jī))上運(yùn)行,另一些功能則放在服務(wù)器(后端機(jī))上執(zhí)行。8/8/202229比較區(qū)別:集中式和分布式結(jié)構(gòu)中,每個(gè)數(shù)據(jù)節(jié)點(diǎn)都是既執(zhí)行DBMS功能,又執(zhí)行應(yīng)用程序。在C/S結(jié)構(gòu)中把DBMS和應(yīng)用功能分開了。優(yōu)點(diǎn):數(shù)據(jù)庫開放性好,可

12、移植性強(qiáng),軟件維護(hù)費(fèi)用小。缺點(diǎn):數(shù)據(jù)的處理、管理和維護(hù)比較困難。C/S結(jié)構(gòu)集中式和分布式結(jié)構(gòu)8/8/20223011.1 數(shù)據(jù)庫概述11.2 數(shù)據(jù)模型11.3 關(guān)系數(shù)據(jù)庫11.4 數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)11.5 SQL語言中的數(shù)據(jù)操作主要內(nèi)容8/8/202231 數(shù)據(jù)的描述數(shù)據(jù)模型概念模型結(jié)構(gòu)化數(shù)據(jù)模型11.2 數(shù)據(jù)模型E-R圖1. 層次模型2. 網(wǎng)狀模型3. 關(guān)系模型4. 面向?qū)ο竽P?8/8/202232數(shù)據(jù)描述現(xiàn) 實(shí) 世 界信 息 世 界計(jì)算機(jī)世界(DBMS支持的數(shù)據(jù)模型)對信息進(jìn)行收集、分類和抽象對信息進(jìn)行加工轉(zhuǎn)換,對信息數(shù)據(jù)化數(shù) 據(jù) 描 述 的 三 個(gè) 階段非孤立相互聯(lián)系的,又帶有個(gè)性特征

13、用文字圖形和符號表示數(shù)據(jù)世界8/8/202233上一幅圖的解釋(已隱藏) 計(jì)算機(jī)不能直接處理現(xiàn)實(shí)世界中的具體事物, 所以必須將具體事物轉(zhuǎn)換成計(jì)算機(jī)能夠處理的 數(shù)據(jù); 數(shù)據(jù)模型是用來抽象、表示和處理現(xiàn)實(shí)世界中 數(shù)據(jù)信息的工具; 是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ),現(xiàn)有數(shù)據(jù)庫系統(tǒng) 均是基于某種數(shù)據(jù)模型;8/8/202234對象的抽象過程數(shù)據(jù)模型是什么樣的?按應(yīng)用目的不同分為兩類: 概念(信息)模型:按用戶的觀點(diǎn)對數(shù)據(jù)和信息建模。 數(shù)據(jù)模型:按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(shù)據(jù)建模。8/8/202235數(shù)據(jù)描述與數(shù)據(jù)模型在數(shù)據(jù)庫理論中引如了3個(gè)世界假設(shè)的概念:現(xiàn)實(shí)世界信息世界計(jì)算機(jī)世界數(shù)據(jù)模型就是對世界的模擬。根據(jù)模型應(yīng)

14、用的不同目的,分為兩個(gè)層次:概念模型結(jié)構(gòu)化數(shù)據(jù)模型8/8/202236 數(shù)據(jù)的描述數(shù)據(jù)模型概念模型結(jié)構(gòu)化數(shù)據(jù)模型11.2 數(shù)據(jù)模型E-R圖1. 層次模型2. 網(wǎng)狀模型3. 關(guān)系模型4. 面向?qū)ο竽P?8/8/202237對象的抽象過程8/8/202238概念模型用于信息世界的建模。概念模型獨(dú)立于某一DBMS支持的數(shù)據(jù)模型;概念模型可以轉(zhuǎn)換為計(jì)算機(jī)上某一DBMS支持的特定數(shù)據(jù)模型;相對數(shù)據(jù)模型更接近現(xiàn)實(shí)世界。信息世界中的數(shù)據(jù)描述方式 概念模型8/8/202239信息世界中的基本概念:實(shí)體:客觀存在并可相互區(qū)分的事物屬性:實(shí)體所具有的特性碼 / 鍵 / 關(guān)鍵字:唯一標(biāo)識實(shí)體的屬性集域:某個(gè)屬性的取

15、值范圍實(shí)體型:用實(shí)體名及其屬性名集合描述同類實(shí)體實(shí)體集:同型實(shí)體的集合聯(lián)系:實(shí)體之間及其內(nèi)部的聯(lián)系8/8/202240兩個(gè)實(shí)體型之間的聯(lián)系 可以分為三類:一對一聯(lián)系(1:1)一對多聯(lián)系(1:n)多對多聯(lián)系(m:n) A B A B A B 1:1 1:n m:n8/8/2022418/8/202242概念模型的表示方法 1976年,P .S .Chen提出實(shí)體-聯(lián)系方法(Entity-Relationship),簡稱E-R方法。8/8/202243E-R圖的基本成分實(shí)體:用矩形表示,矩形框內(nèi)寫明實(shí)體名。屬性:用橢圓形表示,橢圓內(nèi)寫上聯(lián)系名,并用無向邊將其與相應(yīng)的實(shí)體連接起來。聯(lián)系:用菱形表示,

16、菱形內(nèi)寫上聯(lián)系名,并用無向邊將其與相應(yīng)的實(shí)體連接起來,并在無向邊旁標(biāo)上聯(lián)系的類型。8/8/202244 成績課程C課程號教師名課程名學(xué)生S 學(xué)號 年齡 姓名 性別選課scMNE-R圖8/8/2022458/8/202246例題:用如下數(shù)據(jù)完成一個(gè)E-R圖。要求學(xué)生和課程之間有聯(lián)系:選修。教師和課程之間有聯(lián)系:教授實(shí)體:學(xué)生,擁有屬性:學(xué)號,姓名,性別實(shí)體:課程,擁有屬性:代號,名稱實(shí)體:教師,擁有屬性:工號,姓名,性別8/8/202247ER圖屬性與實(shí)體的確定方法:應(yīng)按具體情況而定。但屬性較簡單,如果能用屬性時(shí)就盡量用屬性,但注意屬性應(yīng)不能再用其它的屬性來修飾,且不能與其它實(shí)體集或?qū)傩栽侔l(fā)生聯(lián)

17、系。當(dāng)屬性仍有屬性時(shí),則應(yīng)該把原屬性作為獨(dú)立的實(shí)體來建立聯(lián)系。8/8/202248 數(shù)據(jù)的描述數(shù)據(jù)模型概念模型結(jié)構(gòu)化數(shù)據(jù)模型11.2 數(shù)據(jù)模型1. 層次模型2. 網(wǎng)狀模型3. 關(guān)系模型4. 面向?qū)ο竽P?8/8/202249對象的抽象過程結(jié)構(gòu)化數(shù)據(jù)模型分類8/8/202250字段:標(biāo)記實(shí)體屬性的命名單位稱為字段。記錄:字段的有序集合稱為記錄,一般一個(gè)記錄描述一個(gè)實(shí)體。文件:同一類記錄的集合稱為文件,文件是用來描述實(shí)體集的。關(guān)鍵字:能夠唯一標(biāo)識文件中每個(gè)記錄的字段或字段集稱為關(guān)鍵字。計(jì)算機(jī)世界中的數(shù)據(jù)描述形式 數(shù)據(jù)模型8/8/202251信息世界計(jì)算機(jī)世界實(shí) 體記 錄屬 性字 段實(shí) 體 集文 件

18、實(shí)體標(biāo)識符關(guān) 鍵 字計(jì)算機(jī)世界和信息世界術(shù)語的對應(yīng)關(guān)系8/8/202252現(xiàn)實(shí)世界信息世界計(jì)算機(jī)世界事物個(gè)體事物總體實(shí)體實(shí)體集記錄文件特征特征值特征取值范圍屬性屬性值屬性值域字段或數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)值數(shù)據(jù)項(xiàng)值域3個(gè)世界中的術(shù)語的對應(yīng)關(guān)系8/8/202253結(jié)構(gòu)化數(shù)據(jù)模型分類1. 層次模型2. 網(wǎng)狀模型3. 關(guān)系模型4. 面向?qū)ο竽P?8/8/2022541. 層次模型層次模型用樹形結(jié)構(gòu)表示各類實(shí)體以及實(shí)體間的聯(lián)系;現(xiàn)實(shí)世界中許多實(shí)體之間的聯(lián)系都表現(xiàn)出一種很自然的層次關(guān)系; 典型代表是IBM公司的IMS數(shù)據(jù)庫管理系統(tǒng)。8/8/202255只有一個(gè)結(jié)點(diǎn)無雙親結(jié)點(diǎn),稱之為根結(jié)點(diǎn);根以外的其它結(jié)點(diǎn)有且僅有一

19、個(gè)雙親結(jié)點(diǎn);只能處理一對多的聯(lián)系;8/8/2022568/8/2022572. 網(wǎng)狀模型自然界中實(shí)體型之間的聯(lián)系更多的是非層次關(guān)系,網(wǎng)狀模型可以清晰得表示這種非層次關(guān)系;典型代表是上世紀(jì)70年代,數(shù)據(jù)系統(tǒng)語言研究會(huì)CODASYL下屬的數(shù)據(jù)庫任務(wù)組DBTG提出的系統(tǒng)方案,即DBTG系統(tǒng)。8/8/202258用有向圖結(jié)構(gòu)表示實(shí)體及實(shí)體間的聯(lián)系 允許多個(gè)結(jié)點(diǎn)沒有雙親結(jié)點(diǎn)一個(gè)結(jié)點(diǎn)可以有多個(gè)雙親結(jié)點(diǎn)可以表示多對多的聯(lián)系網(wǎng)狀數(shù)據(jù)模型缺點(diǎn):系統(tǒng)擴(kuò)充困難,插入、刪除操作實(shí)現(xiàn)復(fù)雜。8/8/2022598/8/202260層次模型 網(wǎng)狀模型ABDCABDC8/8/202261關(guān)系模型是目前最重要的一種模型;由IB

20、M公司的研究員E.F.Codd 于1970年在 “大型共享數(shù)據(jù)庫數(shù)據(jù)的關(guān)系模型”論文中首次提出;關(guān)系數(shù)據(jù)庫是目前應(yīng)用最廣泛的數(shù)據(jù)庫系統(tǒng)。3. 關(guān)系模型8/8/202262 用二維表格表達(dá)實(shí)體集 關(guān)系模型是由若干個(gè)關(guān)系模式組成的集合 關(guān)系模式相當(dāng)于前面提到的記錄類型,它的實(shí)例 稱為關(guān)系,每個(gè)關(guān)系實(shí)際上是一張二維表格。 關(guān)系模型8/8/202263關(guān)系模式:學(xué)生(學(xué)號,姓名,性別,系別,年齡,籍貫)8/8/202264關(guān)系:一個(gè)關(guān)系對應(yīng)于一張表元組:表中的一行稱為一個(gè)元組(記錄)屬性:表中的一列稱為屬性主碼:唯一標(biāo)識一個(gè)元組的某個(gè)屬性組(特殊的屬性) 域:屬性的取值范圍分量:元組中的一個(gè)屬性值關(guān)系

21、模式:對關(guān)系的描述 關(guān)系模型中的術(shù)語表示為:關(guān)系名(屬性名1,屬性名2 )例如:學(xué)生(學(xué)號,姓名,性別,年齡)8/8/202265每一個(gè)分量必須是單值的每一列的值應(yīng)是同一類型的,列序無關(guān)任意兩行不能相同,行序無關(guān)關(guān)系需要滿足一些規(guī)范條件,如:8/8/202266關(guān)系模式:學(xué)生(學(xué)號,姓名,性別,系別,年齡,籍貫)8/8/202267選課系統(tǒng):實(shí)體:學(xué)生,屬性:S#,SNAME,AGE,SEX實(shí)體:課程,屬性:C#,CNAME,TEACHER聯(lián)系:選課,屬性:GRADE關(guān)系模型舉例:學(xué)生選課系統(tǒng)請動(dòng)手畫出學(xué)生成績E-R圖?8/8/202268選課系統(tǒng)關(guān)系模型:學(xué)生關(guān)系模式 S (S#,SNAME

22、,AGE,SEX)課程關(guān)系模式 C (C#,CNAME,TEACHER)選課關(guān)系模式 SC (S#,C#,GRADE)S# SNAME AGE SEX 馬 18 女 104 李 19 男107 趙 18 男111 馮 18 男121 王 19 女109 林 19 男S關(guān)系S# C# GRADE 021 67104 021 90107 032 81 111 021 78 121 032 60 109 032 85 SC關(guān)系C# CNAME TEACHER 021 高數(shù) 王032 英語 黃013 線代 趙034 口語 李C關(guān)系關(guān)系模型舉例:學(xué)生選課系統(tǒng)8/8/202269關(guān)系數(shù)據(jù)模型的操作和完整性

23、約束操作(集合操作,操作對象和結(jié)果都是關(guān)系)SELECT INSERT DELETE UPDATE完整性約束(P325) 實(shí)體完整性(屬性值不能為空,尤其主鍵) 參照完整性(關(guān)聯(lián)完整性,關(guān)聯(lián)表和參照表都有此鍵) 用戶定義的完整性(屬性值域完整)8/8/202270關(guān)系數(shù)據(jù)模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn):數(shù)學(xué)基礎(chǔ)強(qiáng),模型單一,存取路徑透明缺點(diǎn):查詢效率不高,必須優(yōu)化查詢關(guān)系數(shù)據(jù)模型的存儲結(jié)構(gòu)以文件形式存儲8/8/20227111.1 數(shù)據(jù)庫概述11.2 數(shù)據(jù)模型11.3 關(guān)系數(shù)據(jù)庫11.4 數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)11.5 SQL語言中的數(shù)據(jù)操作主要內(nèi)容8/8/202272 關(guān)系模型的設(shè)計(jì) 關(guān)系操作 11.3 關(guān)系數(shù)

24、據(jù)庫關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系模型的完整性規(guī)則 8/8/202273關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)8/8/202274數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)如學(xué)生記錄: (學(xué)號,姓名,性別,系別,年齡)記錄型 (900201,李明,男,計(jì)算機(jī),22)記錄值“型”和“值”的概念模式是數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。8/8/202275關(guān)系操作選擇(Selection)操作:指在關(guān)系中選擇滿足某些條件的元組(行)。 投影(Projection)操作:在關(guān)系中選擇某些屬性。(列) 連接(Join)操作:將不同的兩個(gè)關(guān)系連接成為一個(gè)關(guān)系。選擇、投影、連接操作,其操作對象是關(guān)系,操作結(jié)果亦為關(guān)系。 8/8/20227611.1

25、數(shù)據(jù)庫概述11.2 數(shù)據(jù)模型11.3 關(guān)系數(shù)據(jù)庫11.4 數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)11.5 SQL語言中的數(shù)據(jù)操作主要內(nèi)容8/8/20227711.4 數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)1 設(shè)計(jì)方法和過程2 需求分析(難)3 概念結(jié)構(gòu)設(shè)計(jì)畫出ER圖(關(guān)鍵)4 邏輯結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)換成關(guān)系DB模式5 數(shù)據(jù)庫物理設(shè)計(jì)在DBMS上實(shí)現(xiàn)6 數(shù)據(jù)庫的實(shí)施與維護(hù)8/8/202278邏輯結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫運(yùn)行和維護(hù)數(shù)據(jù)模型優(yōu)化需求分析概念結(jié)構(gòu)設(shè)計(jì)物理實(shí)現(xiàn)評價(jià)設(shè)計(jì),性能預(yù)測試驗(yàn)性運(yùn)行規(guī)范化方法數(shù)據(jù)庫設(shè)計(jì)的基本步驟轉(zhuǎn)換規(guī)則DBMS方法優(yōu)化方法應(yīng)用需求(數(shù)據(jù),處理)應(yīng)用要求DBMS詳細(xì)特征1、轉(zhuǎn)化為一般數(shù)據(jù)模型;2、轉(zhuǎn)化為特定數(shù)據(jù)庫管理

26、系統(tǒng);3、優(yōu)化模型。8/8/202279(1)將概念結(jié)構(gòu)轉(zhuǎn)換為數(shù)據(jù)模型1)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體型的屬性轉(zhuǎn)化為關(guān)系的屬性,實(shí)體型的碼轉(zhuǎn)化為關(guān)系的碼。 例如:學(xué)生實(shí)體可以轉(zhuǎn)換為如下關(guān)系模式:學(xué)生(學(xué)號,姓名,出生日期,所在系,年級,平均成績)加下劃線的屬性為關(guān)系的碼。轉(zhuǎn)換原則如下:(實(shí)體、屬性、聯(lián)系關(guān)系模式)8/8/2022802)一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。關(guān)系的屬性是與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性,關(guān)系的碼是各實(shí)體碼的組合。 例如:“選修”聯(lián)系是一個(gè)m:n聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中學(xué)號與課程號為關(guān)系的組合碼:選修(學(xué)號,課程號,成績)(碼1#,碼2#

27、,本身屬性)8/8/2022813)一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。若轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則關(guān)系的屬性是與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性,關(guān)系的碼是n端實(shí)體的碼。若與n端對應(yīng)的關(guān)系模式合并,則合并后關(guān)系的屬性是在n端關(guān)系中加入1端關(guān)系的碼和聯(lián)系本身的屬性,合并后關(guān)系的碼不變。(班級學(xué)生)8/8/202282(4)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。若轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則關(guān)系的屬性就是與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性,關(guān)系的候選碼就是每個(gè)實(shí)體的碼。若與某一端對應(yīng)的關(guān)系模式合并

28、,則合并后關(guān)系的屬性就是加入對應(yīng)關(guān)系的碼和聯(lián)系本身的屬性,合并后關(guān)系的碼不變。8/8/202283(5)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。關(guān)系的屬性就是與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性,關(guān)系的碼是各實(shí)體碼的組合。 例如,“講授”聯(lián)系是一個(gè)三元聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中課程號、職工號和書號為關(guān)系的組合碼:講授(課程號,職工號,書號)(6)同一實(shí)體集的實(shí)體間的聯(lián)系,即自聯(lián)系,也可按上述1:1、1:n和m:n三種情況分別處理。8/8/202284(7)具有相同碼的關(guān)系模式可合并。目的:減少系統(tǒng)中的關(guān)系個(gè)數(shù)。合并方法:將其中一個(gè)關(guān)系模式的全部屬性加入到另一

29、個(gè)關(guān)系模式中,然后去掉其中的同義屬性(可能同名也可能不同名),并適當(dāng)調(diào)整屬性的次序。例如:“擁有”關(guān)系模式:擁有(學(xué)號,性別)與學(xué)生關(guān)系模式:學(xué)生(學(xué)號,姓名,出生日期,所在系,年級,班級號,平均成績)都以學(xué)號為碼,可以將它們合并為一個(gè)關(guān)系模式:學(xué)生(學(xué)號,姓名,性別,出生日期,所在系,年級,班級號,平均成績)8/8/202285(2)數(shù)據(jù)模型的優(yōu)化適當(dāng)?shù)匦薷?、調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以進(jìn)一步提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能,這就是數(shù)據(jù)模型的優(yōu)化。關(guān)系數(shù)據(jù)模型的優(yōu)化以規(guī)范化理論為指導(dǎo)。設(shè)計(jì)實(shí)例: 重點(diǎn):聯(lián)系的關(guān)系模式8/8/20228611.1 數(shù)據(jù)庫概述11.2 數(shù)據(jù)模型11.3 關(guān)系數(shù)據(jù)庫11.4 數(shù)

30、據(jù)庫系統(tǒng)的設(shè)計(jì)11.5 SQL語言中的數(shù)據(jù)操作主要內(nèi)容8/8/20228711.5 SQL語言中的數(shù)據(jù)操作11.5.1 數(shù)據(jù)查詢11.5.2 數(shù)據(jù)更新8/8/202288Whats SQL? SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)最早源于IBM,由ANSI(美國國家標(biāo)準(zhǔn)局)確認(rèn)的關(guān)系型數(shù)據(jù)庫語言的標(biāo)準(zhǔn)。 它是對關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行定義、修改、控制及查詢的語言標(biāo)準(zhǔn)。8/8/202289SQL語言包括數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制。數(shù)據(jù)定義:包括定義基本表,定義視圖和定義索引。數(shù)據(jù)操縱:包括SELECT、INSERT、DELETE和UPDATE 4個(gè)語句,即

31、檢索和更新(包括增、刪、改)兩部分功能。數(shù)據(jù)控制:指控制用戶對數(shù)據(jù)的存儲權(quán)力。授權(quán)功能由GRANT和REVOKE來完成的。結(jié)構(gòu)化查詢語言(SQL)8/8/20229011.5.1 數(shù)據(jù)查詢語句(SELECT)SELECT *|字段列表 FROM 表名1,表名2, WHERE 條件表達(dá)式 GROUP BY分組字段 HAVING 分組準(zhǔn)則 ORDER BY字段1 ASC | DESC , 字段2 ASC | DESC ; 語句功能:根據(jù)WHERE子句中的條件表達(dá)式,從基本表(或視圖)中找出滿足條件的元組,按SELECT子句中的目標(biāo)列,選出元組中的目標(biāo)列形成結(jié)果表。可見sql是比較容易理解的。這里只

32、舉出選擇查詢語句,暫不作深入了解。8/8/202291例:“學(xué)生-課程”數(shù)據(jù)庫,其關(guān)系模式集如下:學(xué)生信息表S( sno,sname,ssex,sage)課程信息表C(cno,cname,tname)成績表Sc(sno,cno,grade)8/8/2022921.查詢出S表所有學(xué)生信息SELECT *FROM S; 2.查詢出Student表中所有學(xué)生的學(xué)號和姓名SELECT sno,snameFROM S; 8/8/2022933.查詢出SC表中成績在60到80之間的所有記錄SELECT *FROM SCWHERE grade BETWEEN 60 AND 80;8/8/2022944.查詢

33、出sc表中成績?yōu)?5、86、88的記錄SELECT * FROM SCWHERE grade IN(85,86,88); 8/8/2022955.查詢出所有學(xué)生的sname,cname和gradeSELECT S.SNAME,C.CNAME,Sc.GradeFROM S,C,ScWHERE S.SNO = Sc.SNO and Sc.CNO = C.CNO;8/8/2022966.查詢出“張旭”教師任課的學(xué)生成績SELECT SC.CNO,SC.SNO,SC.gradeFROM SC WHERE CNO=(SELECT C.CNO FROM C WHERE C.TNAME=張旭);8/8/202297 select sno,sname,sage fro

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論