《數(shù)據(jù)庫(kù)原理》(課堂PPT)_第1頁(yè)
《數(shù)據(jù)庫(kù)原理》(課堂PPT)_第2頁(yè)
《數(shù)據(jù)庫(kù)原理》(課堂PPT)_第3頁(yè)
《數(shù)據(jù)庫(kù)原理》(課堂PPT)_第4頁(yè)
《數(shù)據(jù)庫(kù)原理》(課堂PPT)_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1數(shù)據(jù)庫(kù)系統(tǒng)原理主講人:彭一明 教材:數(shù)據(jù)庫(kù)系統(tǒng)原理教程王珊等、清華大學(xué)出版社2前言前言1.學(xué)習(xí)該課程的目的2.學(xué)習(xí)內(nèi)容3.學(xué)習(xí)方法與要求4.參考書(shū)31.學(xué)習(xí)該課程學(xué)習(xí)該課程 的目的的目的數(shù)據(jù)庫(kù)技術(shù)是數(shù)據(jù)管理的最新技術(shù)。(20世紀(jì)60年代中期)它的出現(xiàn)極大地促進(jìn)了計(jì)算機(jī)應(yīng)用向各行各業(yè)滲透。目前基于數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)應(yīng)用已成為計(jì)算機(jī)應(yīng)用的主流(占 60%) 電子政務(wù)與管理信息系統(tǒng)(MIS)-政府、企業(yè)、銀行、飯店、旅游、醫(yī)療、遠(yuǎn)程教育 網(wǎng)絡(luò)應(yīng)用(計(jì)費(fèi)系統(tǒng)、目錄服務(wù)) 人工智能系統(tǒng)、專家系統(tǒng)、 地理信息系統(tǒng)、工程、科學(xué)統(tǒng)計(jì)以及圖形、圖象、CAD、多媒體等領(lǐng)域有廣泛的應(yīng)用,其數(shù)據(jù)庫(kù)技術(shù)起著關(guān)鍵作用。

2、數(shù)據(jù)庫(kù)系統(tǒng)原理數(shù)據(jù)庫(kù)系統(tǒng)原理是從事數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)開(kāi)發(fā)、維護(hù)維護(hù)和數(shù)據(jù)庫(kù)管理系統(tǒng)的建立及相關(guān)理論研究建立及相關(guān)理論研究必備的基礎(chǔ)知識(shí)。42.學(xué)習(xí)內(nèi)容學(xué)習(xí)內(nèi)容本課以關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)為重點(diǎn)比較全面講解數(shù)據(jù)庫(kù)的基本概念數(shù)據(jù)庫(kù)的基本概念和基本技術(shù)和基本技術(shù)。第一章 緒論 概述 數(shù)據(jù)管理的進(jìn)展、數(shù)據(jù)模型、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)、 數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)工程的基本概念基本概念。第二章第四章 講解關(guān)系數(shù)據(jù)庫(kù) 關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)模型、數(shù)據(jù)語(yǔ)言、關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言SQL、關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論第五章 數(shù)據(jù)庫(kù)保護(hù) 安全性、完整性、并發(fā)控制、恢復(fù)第六章 數(shù)據(jù)庫(kù)設(shè)計(jì)第七章 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)產(chǎn)品實(shí)例第八章 數(shù)據(jù)庫(kù)技術(shù)新進(jìn)展53

3、.學(xué)習(xí)方法與要求學(xué)習(xí)方法與要求 該課的特點(diǎn):以學(xué)習(xí)數(shù)據(jù)庫(kù)的基本概念、基本技術(shù)和數(shù)據(jù)庫(kù)設(shè)計(jì)為主。 不象學(xué)習(xí)sql server, oracle,學(xué)習(xí)語(yǔ)言,編程為主。 有些概念和語(yǔ)句的語(yǔ)法不僅要熟記,還要了解用在何處?作用是什么?怎么使用?認(rèn)真看書(shū)、聽(tīng)講、復(fù)習(xí)、思考、討論先修課有操作系統(tǒng)、離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)認(rèn)真完成作業(yè)及每章同步練習(xí)題上機(jī)(通過(guò)MS Sql Serevr 2000 學(xué)習(xí)sql 語(yǔ)言)6兩次面授課程兩次語(yǔ)音答疑期末復(fù)習(xí)串講課程論壇74.參考書(shū)參考書(shū)(1)薩師煊,王珊 數(shù)據(jù)庫(kù)系統(tǒng)概論(第四版)高等教育出版社(2)徐潔磐,王銀銀數(shù)據(jù)庫(kù)系統(tǒng)引論1996 南京大學(xué)出版社(3)王能斌 數(shù)據(jù)庫(kù)系

4、統(tǒng) 1995 電子工業(yè)出版社(4)李昭原主編,羅曉沛主審 數(shù)據(jù)庫(kù)技術(shù)新進(jìn)展1997 清華大學(xué)出版社(5)余晨,李文炬 編著 SQL Server 2000 培訓(xùn)教程2001年7月第1版 2003年9月第7次印刷, 清華大學(xué)出版社(6)上機(jī)內(nèi)容+sql概要語(yǔ)法(隨課件光盤一起發(fā)布)8第一章第一章 緒論緒論 理解數(shù)據(jù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)的概念。 掌握數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn),數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu),數(shù)據(jù)庫(kù)系統(tǒng)的組成。 掌握數(shù)據(jù)模型的相關(guān)概念。 熟練掌握E-R模型的表示方法。 91數(shù)據(jù):數(shù)據(jù):實(shí)際上是描述事物的符號(hào)記錄實(shí)際上是描述事物的符號(hào)記錄。2數(shù)據(jù)管理是指對(duì)數(shù)據(jù)的分類,組織,編碼,儲(chǔ)存

5、,檢索和維護(hù)。經(jīng)歷了三個(gè)階段:(1)人工管理階段(2)文件系統(tǒng)階段(3)數(shù)據(jù)庫(kù)系統(tǒng)階段3數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)(database,簡(jiǎn)稱,簡(jiǎn)稱DB)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合數(shù)據(jù)集合。4數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(簡(jiǎn)稱簡(jiǎn)稱DBMS) 是數(shù)據(jù)管理軟件數(shù)據(jù)管理軟件。 功能:數(shù)據(jù)庫(kù)在建立、運(yùn)用和維護(hù)時(shí)由數(shù)據(jù)庫(kù)管理系統(tǒng)統(tǒng)一管理、統(tǒng)一控制。5數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)(簡(jiǎn)稱簡(jiǎn)稱DBS)指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成,一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶構(gòu)成。10數(shù)據(jù)

6、庫(kù)系統(tǒng)特點(diǎn)(4頁(yè))5點(diǎn)(1)數(shù)據(jù)的結(jié)構(gòu)化面向全組織復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(2)數(shù)據(jù)的共享性好,冗余度?。?)具有較高的數(shù)據(jù)與程序獨(dú)立性(4)數(shù)據(jù)由DBMS統(tǒng)一管理和控制(安全性控制,完整性控制,并發(fā)控制,數(shù)據(jù)庫(kù)恢復(fù))(5)數(shù)據(jù)的最小存取單位是數(shù)據(jù)項(xiàng)。7 數(shù)據(jù)的邏輯獨(dú)立性數(shù)據(jù)的邏輯獨(dú)立性 當(dāng)數(shù)據(jù)的總體邏輯結(jié)構(gòu)改變時(shí),通過(guò)數(shù)據(jù)的總體邏輯結(jié)構(gòu)與某類應(yīng)用所涉及的局部邏輯結(jié)構(gòu)之間的映象或轉(zhuǎn)換功能保持?jǐn)?shù)據(jù)的局部邏輯結(jié)構(gòu)不變局部邏輯結(jié)構(gòu)不變,由于應(yīng)用程序是依據(jù)數(shù)據(jù)的局部邏輯結(jié)構(gòu)編寫的,所以應(yīng)用程序應(yīng)用程序不必修改不必修改。這就是數(shù)據(jù)與程序的邏輯獨(dú)立性,簡(jiǎn)稱數(shù)據(jù)的邏輯獨(dú)立性。118.數(shù)據(jù)的物理獨(dú)立性數(shù)據(jù)的物理獨(dú)立性

7、當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(或物理結(jié)構(gòu))改變時(shí),通過(guò)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與邏輯結(jié)構(gòu)之間的映象或轉(zhuǎn)換功能保持?jǐn)?shù)據(jù)的邏輯結(jié)構(gòu)不變不變,從而應(yīng)用程序也不必改變不必改變。這就是數(shù)據(jù)與程序的物理獨(dú)立性,簡(jiǎn)稱數(shù)據(jù)的物理獨(dú)立性。9數(shù)據(jù)模型的重要性及組成數(shù)據(jù)模型的重要性及組成 數(shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)的核心與基礎(chǔ)。各種機(jī)器上實(shí)現(xiàn)的DBMS軟件都基于某種數(shù)據(jù)模型,數(shù)據(jù)庫(kù)發(fā)展階段的劃分也是以數(shù)據(jù)模型的發(fā)展作為主要的依據(jù)和標(biāo)志。10.數(shù)據(jù)模型由三部分組成:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、完整性約束12 數(shù)據(jù)模型概述數(shù)據(jù)模型概述在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型這個(gè)工具工具來(lái)抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。數(shù)據(jù)模型就是現(xiàn)實(shí)世界的 模擬。 數(shù)據(jù)模型應(yīng)滿足三

8、方面要求:一是能比較真實(shí)地模擬觀實(shí)世界;二是容易為人所理解; 三是便于在計(jì)算機(jī)上實(shí)現(xiàn)。 模型劃分為兩類:它們分屬于兩個(gè)不同的層次。 第一類模型是概念模型概念模型,也稱信息模型,它是按用戶的觀點(diǎn)對(duì)數(shù)據(jù)和信息建模。 另一類模型是數(shù)據(jù)模型數(shù)據(jù)模型,它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模。主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等。13數(shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)的核心和基礎(chǔ)。各種機(jī)器上實(shí)現(xiàn)的DBMS軟件都是基于某種數(shù)據(jù)模型的。為了把現(xiàn)實(shí)世界中的具體事物抽象、組織為某一DBMS支持的數(shù)據(jù)模型。通常分二步:首先把現(xiàn)實(shí)世界中的客觀對(duì)象抽象為某一種信息結(jié)構(gòu),這種信息結(jié)構(gòu)并不依賴于具體的計(jì)算機(jī)系統(tǒng),不是某個(gè)DBMS支持的數(shù)據(jù)模

9、型,而是概念級(jí)的模型概念模型概念模型;然后再把概念模型轉(zhuǎn)換為計(jì)算機(jī)上某一DBMS支持的數(shù)據(jù)模型。 概念模型實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層概念模型實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。用于信息世界的建模,是現(xiàn)實(shí)世界到信息世界的第次。用于信息世界的建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象,是用戶與數(shù)據(jù)庫(kù)設(shè)計(jì)人員之間進(jìn)行交流的語(yǔ)一層抽象,是用戶與數(shù)據(jù)庫(kù)設(shè)計(jì)人員之間進(jìn)行交流的語(yǔ)言。言。概念模型概念模型14圖110 對(duì)象的抽象模型151 信息世界的基本概念信息世界的基本概念 信息世界(概念模型)(概念模型)涉及的概念主要有: (1)實(shí)體實(shí)體(entity) 客觀存在并可相互區(qū)別的事物稱為實(shí)體。

10、實(shí)體可以是具體的人、事、物,也可以是抽象的概念或聯(lián)系,例如,一個(gè)職工、一個(gè)學(xué)生、一個(gè)部門、一門課、學(xué)生的一次選課、部門的一次訂貨,老師與系的工作關(guān)系(即某位老師在某系工作)等。 (2)屬性屬性(attribute) 實(shí)體所具有的某一特性稱為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來(lái)刻畫(huà)。例如,學(xué)生實(shí)體可以由學(xué)號(hào)、姓名、性別、出生年份、系、入學(xué)時(shí)間等屬性組成(94002268,張山,男,1976,計(jì)算機(jī)系,1994)。這些屬性組合起來(lái)表征了一個(gè)學(xué)生。 16(3)碼碼(key) 唯一標(biāo)識(shí)實(shí)體的屬性集屬性集稱為碼。例如,學(xué)號(hào)是學(xué)生實(shí)體的碼。(4)域域(domain) 屬性的取值范圍取值范圍稱為該屬性的域。例如

11、,學(xué)號(hào)的域?yàn)?位整數(shù),姓名的域?yàn)樽址夏挲g的域?yàn)樾∮?5的整數(shù),性別的域?yàn)?男,女)。(5)實(shí)體型實(shí)體型(entity type) 用實(shí)體名實(shí)體名及其屬性名集合屬性名集合來(lái)抽象和刻畫(huà)同類實(shí)體同類實(shí)體,稱為實(shí)體型。例如,學(xué)生(學(xué)號(hào),姓名,性別,出生年份,系,入學(xué)時(shí)間)就是一個(gè)實(shí)體型。(6)實(shí)體集實(shí)體集(entity set) 同型實(shí)體的集合稱為實(shí)體集。例如,全體學(xué)生就是一個(gè)實(shí)體集。17(7)聯(lián)系聯(lián)系(relationship) 在現(xiàn)實(shí)世界中,事務(wù)內(nèi)部以及事務(wù)之間是有聯(lián)系的, 在信息世界中,這些聯(lián)系反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。 實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系。兩個(gè)兩

12、個(gè)實(shí)體型之間的聯(lián)系可以分為三三類: 一對(duì)一聯(lián)系一對(duì)一聯(lián)系(1:1) 如果對(duì)于實(shí)體集實(shí)體集A中的每每一個(gè)實(shí)體實(shí)體,實(shí)體集實(shí)體集B中至多至多有一個(gè)實(shí)體與之聯(lián)系,反之亦然。稱實(shí)體集A與實(shí)體集B具有一對(duì)一聯(lián)系。記為1:1。 例如:班級(jí)與班長(zhǎng)。18 一對(duì)多聯(lián)系一對(duì)多聯(lián)系(1: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。 例如,班級(jí)與學(xué)生。19 多對(duì)多聯(lián)系多對(duì)多聯(lián)系(m:n)如果對(duì)于實(shí)體集實(shí)體集A中的每每一個(gè)實(shí)體實(shí)體,實(shí)體集實(shí)體集B中有n個(gè)實(shí)體(n=0) 與

13、之聯(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。例如,課程與學(xué)生。20 概念模型應(yīng)該能夠方便、準(zhǔn)確地表示出信息世界中的常用概念。表示方法很多,其中最為常用的是P.P.S.Chen于1976年提出的實(shí)體實(shí)體聯(lián)系聯(lián)系方法(entity-relationship approach)。該方法用ER圖圖來(lái)描述現(xiàn)實(shí)世界的概念。 ER圖圖提供了表示實(shí)體型、屬性和聯(lián)系的方法表示實(shí)體型、屬性和聯(lián)系的方法是: 實(shí)體型實(shí)體型:用矩形矩形表示,矩形框內(nèi)寫明實(shí)體名框內(nèi)寫明實(shí)體名。 屬性:屬性:用橢圓形橢圓形表示,并用無(wú)向邊無(wú)向邊將其與相應(yīng)

14、的實(shí)與相應(yīng)的實(shí)體連接體連接。 聯(lián)系聯(lián)系:用菱形菱形表示,菱形框內(nèi)寫明聯(lián)系名框內(nèi)寫明聯(lián)系名,并用無(wú)無(wú)向邊向邊分別與有關(guān)實(shí)體連接起來(lái)與有關(guān)實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁無(wú)向邊旁標(biāo)上聯(lián)系的類型聯(lián)系的類型(1:1,1:n或m:n)。 概念模型的表示方法概念模型的表示方法2111概念模型常用表示方法:實(shí)體聯(lián)系法(E-R圖描述)E-R圖成分(實(shí)體、屬性、聯(lián)系),會(huì)畫(huà)E-R圖。22完整的E-R圖有屬性實(shí)體的屬性表示23E-R圖實(shí)例(選修與組成的屬性標(biāo)在聯(lián)系中)2425數(shù)據(jù)模型數(shù)據(jù)模型 在機(jī)器世界中不同的數(shù)據(jù)模型具有不同的數(shù)據(jù)結(jié)構(gòu)形式。目前最常用的數(shù)據(jù)模型有層次模型層次模型(hierarchical model

15、)、網(wǎng)狀模型網(wǎng)狀模型(network model)、關(guān)關(guān)系模型系模型(relational model)、面向?qū)ο蟮哪P兔嫦驅(qū)ο蟮哪P汀?其中層次模型和網(wǎng)狀模型統(tǒng)稱為非關(guān)系模型。 非關(guān)系模型的數(shù)據(jù)庫(kù)系統(tǒng)在20世紀(jì)70年代與80年代初非常流行。 關(guān)系模型的數(shù)據(jù)庫(kù)系統(tǒng)80年代初到現(xiàn)在非常流行。 面向?qū)ο竽P褪窃?0世紀(jì)80年代以來(lái),面向?qū)ο蟮姆椒ê图夹g(shù)在計(jì)算機(jī)各個(gè)領(lǐng)域的應(yīng)用發(fā)展起來(lái)的。 26關(guān)系模型是目前最重要的一種模型。美國(guó)IBM公司的研究員EFcodd于1970年發(fā)表題為“大型共享系統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)的關(guān)系模型”的論文,文中首次提出了數(shù)據(jù)庫(kù)系統(tǒng)的關(guān)系模型。20世紀(jì)80年代以來(lái),計(jì)算機(jī)廠商新推出的數(shù)

16、據(jù)庫(kù)管理系統(tǒng)(DBMS)幾乎都支持關(guān)系模型。數(shù)據(jù)庫(kù)領(lǐng)域當(dāng)前的研究工作都是以關(guān)系方法為基礎(chǔ)。 1關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 在用戶看來(lái),一個(gè)關(guān)系模型的邏輯結(jié)構(gòu)是一張二維關(guān)系模型的邏輯結(jié)構(gòu)是一張二維表表,它由行和列組成。例如,圖l23中的學(xué)生人事記錄就是一個(gè)關(guān)系模型,它涉及下列概念。關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型2712關(guān)系模型中幾個(gè)主要術(shù)語(yǔ) 關(guān)系、元組、屬性、域、分量、碼、 關(guān)系模式關(guān)系:定義關(guān)系:定義2.3 D1D2Dn的子集子集叫作在域D1,D2,Dn上的關(guān)系,用 R(D1,D2,Dn)表示表示。 關(guān)系是笛卡爾積的子集,所以關(guān)系也是一個(gè)二維表關(guān)系是笛卡爾積的子集,所以關(guān)系也是一個(gè)

17、二維表。元組:表的每行元組:表的每行為一個(gè)元組。屬性:屬性:對(duì)每列起一個(gè)名字每列起一個(gè)名字,稱為屬性屬性(表中的一列即為一個(gè)屬性)。域域(domain):屬性的取值范圍。 分量:分量:元組中的一個(gè)屬性值。碼碼(候選碼候選碼):若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,而其真子集不行,則稱該屬性組為候選碼候選碼。主碼:主碼:若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼主碼關(guān)系模式:關(guān)系模式:對(duì)關(guān)系的描述,一般表示為:R(U)關(guān)系名(屬性1,屬性2,.,屬性n)三元組表示法:三元組表示法:R(U,F)2829關(guān)系模式:關(guān)系模式:對(duì)關(guān)系的描述,一般表示為:關(guān)系名(屬性1,屬性2,.,屬性n)例如

18、:學(xué)生(學(xué)號(hào),姓名,性別,系別,年齡,籍貫)課程(課程號(hào),課程名,學(xué)分)在關(guān)系模型中,實(shí)體以及實(shí)體間的聯(lián)系都是用關(guān)系來(lái)表實(shí)體以及實(shí)體間的聯(lián)系都是用關(guān)系來(lái)表示。示。例如學(xué)生與課程之間的多對(duì)多聯(lián)系(選修)在關(guān)系模型中可以表示如下:選修(學(xué)號(hào),課程號(hào),成績(jī))30 關(guān)系數(shù)據(jù)模型的操縱主要包括查詢、插入、刪除和更新數(shù)據(jù)。這些操作必須滿足關(guān)系的完整性約束條件。關(guān)系的完整性約束條件包括三大類:實(shí)體完整性、參照完整性和用戶定義的完整性。其具體含義將在后面介紹。 關(guān)系模型中的數(shù)據(jù)操作是集合操作,操作對(duì)象和操作關(guān)系模型中的數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系、即若干元組的集合結(jié)果都是關(guān)系、即若干元組的集

19、合。而不像非關(guān)系模型中那樣是單記錄的操作方式。另一方面,關(guān)系模型把存取路徑向用戶隱蔽起來(lái),用戶只要指出“干什么”或“找什么”,不必詳細(xì)說(shuō)明“怎么干”或“怎么找”從而大大地提高了數(shù)據(jù)的獨(dú)立性,提高了用戶的生產(chǎn)率。 Select * from student 2關(guān)系數(shù)據(jù)模型的操縱與完整性約束關(guān)系數(shù)據(jù)模型的操縱與完整性約束3113集中式數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)及二級(jí)映象。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)是指數(shù)據(jù)庫(kù)系統(tǒng)是由外模式、模式和內(nèi)模式三級(jí)構(gòu)成。兩級(jí)映象功能是:外模式/模式映象,模式/內(nèi)模式映象。32掌握關(guān)系模型、關(guān)系、關(guān)系模式、關(guān)系數(shù)據(jù)庫(kù)、關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)和關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的概念。正確理解關(guān)系的碼、外

20、碼理解關(guān)系的完整性內(nèi)容及規(guī)則會(huì)用關(guān)系代數(shù)表示查詢。一、基本概念:一、基本概念:1 .關(guān)系模型關(guān)系模型:由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和完整性約束三部分組成。關(guān)系的數(shù)據(jù)結(jié)構(gòu)關(guān)系的數(shù)據(jù)結(jié)構(gòu) 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)非常單一,是一張扁平的二維表?,F(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系都用關(guān)系二維表表示。關(guān)系操作關(guān)系操作特點(diǎn):采用集合操作方式,特點(diǎn):采用集合操作方式,即操作的對(duì)象和結(jié)果都是集合即操作的對(duì)象和結(jié)果都是集合。完整性約束完整性約束實(shí)體完整性實(shí)體完整性、參照完整性參照完整性和和用戶定義用戶定義的完整性的完整性第二章第二章關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)332關(guān)系模式關(guān)系模式(41頁(yè))定義2.4:關(guān)系的描述稱為關(guān)系模式

21、,形式化表示R(U,D,DOM,F)。R為關(guān)系名,U為組成關(guān)系的諸屬性名,D為屬性的域,DOM表示屬性向域的映象,F(xiàn)是屬性間的數(shù)據(jù)依賴關(guān)系。通常簡(jiǎn)記為R(U)或記為R(A1,A2,An)。3關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)的型與值(42頁(yè))關(guān)系模式是型,關(guān)系是值。關(guān)系數(shù)據(jù)庫(kù)模式與關(guān)系數(shù)據(jù)庫(kù)通常統(tǒng)稱為關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)模式與關(guān)系數(shù)據(jù)庫(kù)通常統(tǒng)稱為關(guān)系數(shù)據(jù)庫(kù)4.4.關(guān)系數(shù)據(jù)庫(kù)系統(tǒng):關(guān)系數(shù)據(jù)庫(kù)系統(tǒng):支持關(guān)系模型的數(shù)據(jù)庫(kù)系統(tǒng).5.關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)簡(jiǎn)稱為關(guān)系系統(tǒng)關(guān)系系統(tǒng)34二、關(guān)系模型三類完整性(二、關(guān)系模型三類完整性(42)實(shí)體完整性,參照完整性,用戶定義完整性 實(shí)體完整性規(guī)則,參照

22、完整性規(guī)則,主、外碼概念及用途。候選碼:候選碼:若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,而其真子集不行,則稱該屬性組為候選碼(candidate key)。主碼:主碼:若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(primary key)。主屬性:主屬性:候選碼中的屬性稱主屬性。非非主主屬性:屬性:不包含在任何候選碼中的屬性稱為非碼屬性也稱為非主屬性。 規(guī)則規(guī)則21 實(shí)體完整性規(guī)則:實(shí)體完整性規(guī)則:若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。35外碼:外碼:定義2.5 設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼,如果F與基本關(guān)系S的主碼Ks相對(duì)應(yīng),則稱F是基本關(guān)系R的外碼(

23、foreign key),并稱基本關(guān)系R為參照關(guān)系(referencing relation),基本關(guān)系S為被參照關(guān)系(referenced relation)或目標(biāo)關(guān)系(target relatton)。關(guān)系R和S不一定是不同的關(guān)系。規(guī)則規(guī)則2.2 參照完整性規(guī)則參照完整性規(guī)則:若屬性(或?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è)元組的主碼值。36選擇又稱為限制(restriction),它是在關(guān)系R中選擇滿足給定條件的諸元組諸元組,記作:其中F表

24、示選擇條件。(1)選擇)選擇(selection)三、關(guān)系操作三、關(guān)系操作1關(guān)系模型的操作:8種:傳統(tǒng)的集合運(yùn)算4種(并、交、差、廣義笛卡爾積)專門的關(guān)系運(yùn)算4種(選擇,投影,連接,除)操作方式的特點(diǎn):集合操作2用關(guān)系代數(shù)表示關(guān)系運(yùn)算選擇,投影,連接,除37關(guān)系R上的投影是從R中選擇出若干屬性列若干屬性列組成新的關(guān)系。 A(R) tA | t R 其中A為R中的屬性列。投影操作是從列的角度進(jìn)行的運(yùn)算。投影操作是從列的角度進(jìn)行的運(yùn)算。()連接()連接(join)它是從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組,記作:( 2)投影)投影(projection) 自然連接:兩個(gè)關(guān)系中進(jìn)行比較的

25、分量必須是相同的屬相同的屬性組性組,取值相同取值相同,并且要在結(jié)果中把重復(fù)的屬性去掉重復(fù)的屬性去掉。即若R和S具有相同的屬性組B,則自然連接可記作:38例例1 查詢信息系(IS系)全體學(xué)生sSdept = IS(Student) 或 s 5 = IS(Student)例例2 查詢學(xué)生關(guān)系student 在學(xué)生姓名和所在系兩個(gè)屬性上的投影 Sname,Sdept(student) 或,(student) 例例3 查詢至少選修了一門其直接先行課為6號(hào)課程的學(xué)生姓名(52頁(yè))Sname(sCpno=6 (CourseSCStudent)關(guān)系代數(shù)例題關(guān)系代數(shù)例題例例4 檢索信息系檢索信息系(IS系系)

26、 學(xué)生的姓名學(xué)生的姓名Sname s Sdept = IS(Student) Select Sname from student where Sdept = IS391SQL語(yǔ)言SQL的數(shù)據(jù)定義功能、SQL的數(shù)據(jù)操縱功能SQL的數(shù)據(jù)查詢功能、SQL的數(shù)據(jù)控制功能2嵌入式SQL語(yǔ)句與主語(yǔ)言之間的通信第三章第三章關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言-SQL40 SQL語(yǔ)言支持關(guān)系數(shù)據(jù)庫(kù)三級(jí)模式結(jié)構(gòu),如圖31所示。其中外模式對(duì)應(yīng)于視圖(view)和部分基本表(base table)、模式對(duì)應(yīng)于基本表,內(nèi)模式對(duì)應(yīng)于存儲(chǔ)文件。SQL語(yǔ)言支持三級(jí)模式結(jié)構(gòu)語(yǔ)言支持三級(jí)模式結(jié)構(gòu)41 基本表基本表是本身獨(dú)立存在

27、的表,在SQL中一個(gè)關(guān)系對(duì)應(yīng)一個(gè)表,一些基本表對(duì)應(yīng)一個(gè)存儲(chǔ)文件,一個(gè)表可以帶若干索引,索引存放在存儲(chǔ)文件中。 存儲(chǔ)文件存儲(chǔ)文件的邏輯結(jié)構(gòu)組成了關(guān)系數(shù)據(jù)庫(kù)的內(nèi)模式。存儲(chǔ)文件的物理文件結(jié)構(gòu)是任意的。 視圖視圖是從基本表或其他視圖中導(dǎo)出的表,它本身不獨(dú)立存儲(chǔ)在數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)中只存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中,因此視圖是一個(gè)虛表。用戶可以用SQL語(yǔ)言對(duì)視圖和基本表進(jìn)行查詢。在用戶眼中,視圖和基本表都是關(guān)系,而存儲(chǔ)文件對(duì)用戶是透明的?;颈?、存儲(chǔ)文件與視圖基本表、存儲(chǔ)文件與視圖42 修改視圖和索引怎么辦?數(shù)據(jù)定義數(shù)據(jù)定義43CREATE TABLE表名( 列名

28、數(shù)據(jù)類型列級(jí)完整件約束條件 ,列名數(shù)據(jù)類型列級(jí)完整性約束條件. ,表級(jí)完整性約束條件) ;其中表名是基本表的名字基本表的名字,它由一個(gè)或多個(gè)屬性一個(gè)或多個(gè)屬性(列)組成。屬性要說(shuō)明類型與長(zhǎng)度,屬性要說(shuō)明類型與長(zhǎng)度,建表的同時(shí)還可定義與該表有關(guān)的完整性約束條件完整性約束條件。如果完整性約束條件涉及到該表的多個(gè)屬性列,則必須定義在表級(jí)上。1定義基本表定義基本表SQL語(yǔ)言使用CREATE TABLE語(yǔ)句定義基本表,其一般格式如下:44 例1 建立一個(gè)“學(xué)生”表Student,它由學(xué)號(hào)sno、姓名Sname、性別Ssex、年齡Sage、所在系Sdept 5個(gè)屬性組成,其中學(xué)號(hào)屬性不能為空,并且其值是唯

29、一的。 CREATE TABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20), Ssex char(2), Sage int, Sdept CHAR(15);系統(tǒng)執(zhí)行上面的語(yǔ)句后,就在數(shù)據(jù)庫(kù)中建立一個(gè)新的空的“學(xué)生”表,并將有關(guān)“學(xué)生”表的定義及有關(guān)約束條件存放在數(shù)據(jù)字典中。452刪除基本表刪除基本表DROP TABLE表名;例例5 刪除Student表DROP TABLE Student; 463建立與刪除索引建立與刪除索引通過(guò)索引可以大大加快表的查詢。在基本表上建立一個(gè)或多個(gè)索引,系統(tǒng)在存取數(shù)據(jù)時(shí)會(huì)自動(dòng)選擇合適的索引作為存取路徑

30、,用戶不必也不能選擇索引。1建立索引建立索引建立索引使用CREATE INDEX語(yǔ)句,其一般格式為:CREATE UNIQUE CLUSTER INDEX ON (,);其中,表名指定要建索引的基本表的名字。索引可以建在該表的一列或多列上,各列名之間用逗號(hào)分隔。每個(gè)列名后面還可以用次序指定索引值的排列次序,包括ASC和DESC。47 例例6 為學(xué)生課程數(shù)據(jù)庫(kù)中的Student,Course,SC 3個(gè)表建立索引。其中Student表按學(xué)號(hào)升序建立唯一索引,course表按課程號(hào)升序建立唯一索引,sc表按學(xué)號(hào)升序和課程號(hào)降序建唯一索引。 CREATE UNIQUE INDEX Stusno ON

31、 Student(Sno); CREATE UNIQUE INDEX Coucno ON Course(Cno); CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC); 2刪除索引刪除索引刪除索引使用DROP INDEX語(yǔ)句,其一般格式為 DROP INDEX索引名;例例7 刪除Student表的Stusname索引。(stusno) DROP INDEX Stusname; DROP INDEX Stusno; 48CREATE VIEW視圖名(列名,列名.) AS子查詢 WITH CHECK OPTION;其中子查詢可以是任意復(fù)雜的SELECT

32、語(yǔ)句,但通常不允許含有ORDER BY子句和DISTINCT短語(yǔ)。 WITH CHECK OPTION表示對(duì)視圖進(jìn)行UPDATE,INSERT和DELETE操作時(shí)要保證更新、插入或刪除的行滿足視圖定義中的謂詞條件(即子查詢中的條件表達(dá)式)。 如果CREATE VIEW語(yǔ)句僅指定了視圖名,省略了組成視圖的各個(gè)屬性列名,則隱含該視圖由子查詢中SELECT子句目標(biāo)列中的諸字段組成。4. 建立與刪除視圖建立與刪除視圖 1. 建立視圖建立視圖49視圖建好后,若導(dǎo)出此視圖的基本表被刪除了,該視圖將失效,但一般不會(huì)被自動(dòng)刪除。DROP VIEW ;.刪除視圖刪除視圖50數(shù)據(jù)操縱數(shù)據(jù)操縱51SQL中數(shù)據(jù)更新包

33、括插入數(shù)據(jù)、修改數(shù)據(jù)和刪除數(shù)據(jù): 341 插入數(shù)據(jù)插入數(shù)據(jù) SQL的數(shù)據(jù)插入語(yǔ)句INSERT通常有兩種形式。1. 插入單個(gè)元組插入單個(gè)元組52例例1 將一個(gè)新學(xué)生記錄(學(xué)號(hào):95020;姓名:陳冬;性別:男;所在系:IS;年齡:18歲)插入Student表中。例例2 插入一條選課記錄(95020,1)342 修改數(shù)據(jù)修改數(shù)據(jù)修改操作又稱為更新操作,其語(yǔ)句的一般格式為: 新插入的記錄grade列上取空值。(a)(b)53其功能是修改指定表中滿足WHERE子句條件的元組。其中SET子句用于指定修改方法,即用表達(dá)式的值取代相應(yīng)的屬性列屬性列值。如果省略WHERE子句,則表示要修改表中的所有元組.1.

34、 修改某一個(gè)元組的值修改某一個(gè)元組的值例例4 將學(xué)生95001的年齡改為22歲。2修改多個(gè)元組的值修改多個(gè)元組的值例例5 將所有學(xué)生的年齡增加1歲UPDATE 表名表名 SET 列名表達(dá)式列名表達(dá)式,列名表達(dá)式,列名表達(dá)式. WHERE條件條件;54DELETEFROM表名WHERE條件; DELETE語(yǔ)句的功能是從指定表中刪除滿足WHERE子句條件的所有元組。如果省略WHERE子句,表示刪除表中全部元組,但表的定義仍在字典中。也就是說(shuō),DELETE語(yǔ)句刪除的是表中的數(shù)據(jù),而不是關(guān)于表的定義。 刪除某一個(gè)刪除某一個(gè)(或某些)元組的值)元組的值 例例7 刪除學(xué)號(hào)為95019的學(xué)生記錄。 DELE

35、TE FROM Student WHERE Sno95019;343 刪除數(shù)據(jù)刪除數(shù)據(jù)552刪除多個(gè)元組的值刪除多個(gè)元組的值例例8 刪除所有學(xué)生的選課記錄。 DELETE FROM SC;56整個(gè)SELECT語(yǔ)句的含義是,根據(jù)WHERE子句的條件表達(dá)式,從FROM子句指定的基本表或視圖中找出滿足條件的元組再按SELECT子句中的目標(biāo)列表達(dá)式,選出元組中的屬性值形成結(jié)果表。如果有GROUP子句,則將結(jié)果按列名1的值進(jìn)行分組統(tǒng)計(jì),如果GROUP子句帶HAVING短語(yǔ),則只有滿足指定條件的組才予輸出。如果有ORDER子句,則結(jié)果表還要按列名2的值的升序或降序排序。 SELECT語(yǔ)句既可以完成簡(jiǎn)單的單

36、表查詢,也可以完成復(fù)雜的連接查詢和嵌套查詢。最基本的用法是:select 列1,列2 ,列3 .from 表名where 條件 571目標(biāo)列表達(dá)式有以下可選格式目標(biāo)列表達(dá)式有以下可選格式數(shù)據(jù)查詢58其中屬性列名表達(dá)式可以是由屬性列屬性列、作用于屬性列的聚集函數(shù)聚集函數(shù)和常量的任意算術(shù)運(yùn)算常量的任意算術(shù)運(yùn)算(十、一、)組成的運(yùn)算公式。 集函數(shù)的一般格式為:59.WHERE子句的條件表達(dá)式有以下可選格式子句的條件表達(dá)式有以下可選格式:60數(shù)據(jù)查詢數(shù)據(jù)查詢61(2)(2)連接查詢連接查詢 自然連接自然連接自身連接自身連接 (例例34查詢每一門課的查詢每一門課的間接先修課間接先修課)外連接外連接(例33:Student表為主體列出每個(gè)學(xué)生的基本情況及其選課情況)SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno, GradeFROM Student LEFT OUTER JOIN SC ON Student.Sno = SC.Sno; 62(3)(3)嵌套查詢嵌套查詢(where (where 語(yǔ)句中可包含另個(gè)查詢塊)語(yǔ)句中可包含另個(gè)查詢塊)嵌套查詢分為不相關(guān)子查詢(in,比較運(yùn)算符,any,all謂詞)和相關(guān)子查詢(exists)兩類。 不相關(guān)子查詢是指子查詢的查詢條件不依賴于父查詢。它的求解方法是由里向外處理。相關(guān)子查詢是指

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論