大學(xué)計算機(jī)基礎(chǔ)(第六版)課件 06數(shù)據(jù)庫技術(shù)基礎(chǔ)_第1頁
大學(xué)計算機(jī)基礎(chǔ)(第六版)課件 06數(shù)據(jù)庫技術(shù)基礎(chǔ)_第2頁
大學(xué)計算機(jī)基礎(chǔ)(第六版)課件 06數(shù)據(jù)庫技術(shù)基礎(chǔ)_第3頁
大學(xué)計算機(jī)基礎(chǔ)(第六版)課件 06數(shù)據(jù)庫技術(shù)基礎(chǔ)_第4頁
大學(xué)計算機(jī)基礎(chǔ)(第六版)課件 06數(shù)據(jù)庫技術(shù)基礎(chǔ)_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第6章數(shù)據(jù)庫技術(shù)基礎(chǔ)01數(shù)據(jù)管理技術(shù)概述02數(shù)據(jù)模型03數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)04關(guān)系數(shù)據(jù)庫Contents目錄05關(guān)系數(shù)據(jù)庫語言SQL06數(shù)據(jù)庫設(shè)計07數(shù)據(jù)庫新技術(shù)01數(shù)據(jù)管理技術(shù)概述在系統(tǒng)地學(xué)習(xí)數(shù)據(jù)庫技術(shù)之前,下面先了解數(shù)據(jù)管理技術(shù)分發(fā)展。計算機(jī)數(shù)據(jù)管理發(fā)展階段:

1、人工管理

2、文件系統(tǒng)

3、數(shù)據(jù)庫系統(tǒng)

6.1.1數(shù)據(jù)管理技術(shù)的由來和發(fā)展1.人工管理這一時期計算機(jī)數(shù)據(jù)管理的特點(diǎn)是:數(shù)據(jù)不保存。數(shù)據(jù)只在計算時將數(shù)據(jù)輸入,計算結(jié)束后即將結(jié)果數(shù)據(jù)輸出。數(shù)據(jù)不共享。數(shù)據(jù)是面向應(yīng)用的,一組數(shù)據(jù)只對應(yīng)一個程序。程序與程序之間存在大量的重復(fù)數(shù)據(jù),稱為數(shù)據(jù)冗余。數(shù)據(jù)不具有獨(dú)立性。數(shù)據(jù)面向程序,依賴于程序。依靠應(yīng)用程序來管理數(shù)據(jù)。6.1.1數(shù)據(jù)管理技術(shù)的由來和發(fā)展1.人工管理階段人工管理階段,應(yīng)用程序和數(shù)據(jù)之間的關(guān)系:6.1.1數(shù)據(jù)管理技術(shù)的由來和發(fā)展應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n……數(shù)據(jù)集1數(shù)據(jù)集2……數(shù)據(jù)集n2.文件系統(tǒng)階段這一時期計算機(jī)數(shù)據(jù)管理的特點(diǎn)是:數(shù)據(jù)以“文件”形式長期保存。數(shù)據(jù)共享性差,冗余度大。文件系統(tǒng)中的數(shù)據(jù)文件是為了特定業(yè)務(wù)需要而設(shè)計的,服務(wù)于某一特定應(yīng)用程序。。數(shù)據(jù)獨(dú)立性差。數(shù)據(jù)還是一定程度上依賴于應(yīng)用程序。6.1.1數(shù)據(jù)管理技術(shù)的由來和發(fā)展2.文件系統(tǒng)文件系統(tǒng)階段,應(yīng)用程序和數(shù)據(jù)之間的關(guān)系:文件系統(tǒng)應(yīng)用程序2應(yīng)用程序n……數(shù)據(jù)文件1數(shù)據(jù)文件n數(shù)據(jù)文件2……應(yīng)用程序16.1.1數(shù)據(jù)管理技術(shù)的由來和發(fā)展3.數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng),應(yīng)用程序和數(shù)據(jù)之間的關(guān)系:數(shù)據(jù)庫管理系統(tǒng)應(yīng)用程序n……應(yīng)用程序1數(shù)據(jù)庫6.1.1數(shù)據(jù)管理技術(shù)的由來和發(fā)展數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)共享性高,數(shù)據(jù)冗余減少數(shù)據(jù)處理獨(dú)立性高數(shù)據(jù)統(tǒng)一管理和控制6.1.2數(shù)據(jù)庫系統(tǒng)的特點(diǎn)1、數(shù)據(jù)庫(DB)數(shù)據(jù)庫是指長期存儲在計算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)的集合。2、數(shù)據(jù)庫管理系統(tǒng)(DBMS)DBMS是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。其主要功能包括:數(shù)據(jù)定義功能,數(shù)據(jù)操縱功能,數(shù)據(jù)組織、存儲和管理功能,數(shù)據(jù)庫的事務(wù)管理和運(yùn)行管理。目前,常見的數(shù)據(jù)庫管理系統(tǒng)有:Access、Oracle、SQLServer、MySQL、Sybase、DB2等。6.1.3數(shù)據(jù)庫常用概念3、數(shù)據(jù)庫應(yīng)用系統(tǒng)(DBAS)數(shù)據(jù)庫應(yīng)用系統(tǒng)是指系統(tǒng)開發(fā)人員利用數(shù)據(jù)庫系統(tǒng)進(jìn)行開發(fā)的面向某一類實(shí)際應(yīng)用的軟件系統(tǒng)。例如,教務(wù)管理系統(tǒng)、圖書管理系統(tǒng)、財務(wù)管理系統(tǒng)、人事管理系統(tǒng)、生產(chǎn)管理系統(tǒng)等。6.1.3數(shù)據(jù)庫常用概念4、

數(shù)據(jù)庫系統(tǒng)相關(guān)人員分三類人員:數(shù)據(jù)庫管理員、應(yīng)用程序開發(fā)人員和用戶。數(shù)據(jù)庫管理員是數(shù)據(jù)庫系統(tǒng)中的專門人員或管理機(jī)構(gòu),負(fù)責(zé)監(jiān)督和管理數(shù)據(jù)庫系統(tǒng)。應(yīng)用程序開發(fā)人員是開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的人員,可以使用數(shù)據(jù)庫管理系統(tǒng)的所有功能。用戶指通過數(shù)據(jù)庫應(yīng)用系統(tǒng)的用戶接口使用數(shù)據(jù)庫的最終用戶。6.1.3數(shù)據(jù)庫常用概念5、數(shù)據(jù)庫系統(tǒng)(DBS)DBS是實(shí)現(xiàn)有組織、動態(tài)存儲大量關(guān)聯(lián)數(shù)據(jù)、方便多用戶訪問的計算機(jī)硬件、軟件和數(shù)據(jù)資源組成的人-機(jī)系統(tǒng)。一般由5部分組成:硬件系統(tǒng)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫應(yīng)用程序和數(shù)據(jù)庫相關(guān)人員。6.1.3數(shù)據(jù)庫常用概念02數(shù)據(jù)模型數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ),了解數(shù)據(jù)模型的基本概念是學(xué)習(xí)數(shù)據(jù)庫的基礎(chǔ)。目前廣泛使用的數(shù)據(jù)庫系統(tǒng)大都是基于某種數(shù)據(jù)模型的。數(shù)據(jù)模型的作用是將現(xiàn)實(shí)世界的事物反映到計算機(jī)數(shù)據(jù)庫中的物理世界。從客觀現(xiàn)實(shí)到計算機(jī)的描述的轉(zhuǎn)換過程如圖:6.2.1數(shù)據(jù)模型的基本概念機(jī)器實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換認(rèn)識抽象用戶需求概念模型DBMS支持的數(shù)據(jù)模型現(xiàn)實(shí)世界信息世界計算機(jī)世界物理模型數(shù)據(jù)模型的3個部分:數(shù)據(jù)結(jié)構(gòu):描述數(shù)據(jù)庫的組成對象以及對象之間的聯(lián)系,描述數(shù)據(jù)的類型、內(nèi)容、性質(zhì)及數(shù)據(jù)間的聯(lián)系等。

數(shù)據(jù)操作:描述數(shù)據(jù)結(jié)構(gòu)上的操作類型與操作方式。

數(shù)據(jù)約束:描述數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)間的語法、語義聯(lián)系,它們之間的制約與依賴關(guān)系,以及數(shù)據(jù)動態(tài)變化的規(guī)則,以保證數(shù)據(jù)的正確、有效與相容。6.2.1數(shù)據(jù)模型的基本概念根據(jù)模型應(yīng)用的目的不同,數(shù)據(jù)模型分成3種:(1)概念數(shù)據(jù)模型簡稱概念模型,它是一種面向客觀世界、面向用戶的模型,與具體的數(shù)據(jù)庫管理系統(tǒng)和計算機(jī)平臺無關(guān)。目前,常見的概念摸型有E-R模型、擴(kuò)充的E-R模型、面向?qū)ο竽P图爸^詞模型等。(2)邏輯數(shù)據(jù)模型又稱數(shù)據(jù)模型,它提供了表示和組織數(shù)據(jù)的方法,描述的是數(shù)據(jù)的邏輯結(jié)構(gòu)。常見的有層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο竽P偷取#?)物理數(shù)據(jù)模型又稱物理模型,它是是對最底層數(shù)據(jù)的抽象,描述數(shù)據(jù)在計算機(jī)系統(tǒng)內(nèi)部的表示方法和存儲方法。6.2.1數(shù)據(jù)模型的基本概念1、基本概念(1)實(shí)體、實(shí)體集客觀存在并相互區(qū)別的事物稱為實(shí)體(Entity)。實(shí)體可以是實(shí)際的人、事、物,也可以是抽象的概念或聯(lián)系。例如,銀行客戶、學(xué)生、老師,這些屬于具體事物實(shí)體;銀行賬戶,學(xué)生借閱圖書等屬于抽象事物實(shí)體。具有共性的實(shí)體可組成一個集合稱為實(shí)體集。例如,全體學(xué)生就是一個實(shí)體集。6.2.2E-R模型(2)屬性、碼和實(shí)體型實(shí)體所具有的某一特性稱為屬性。例如,學(xué)生實(shí)體用學(xué)號、姓名、性別、出生日期、班級、入學(xué)時間等屬性來描述。唯一標(biāo)識實(shí)體的屬性集稱為碼。例如,學(xué)號是學(xué)生實(shí)體的碼,課程號是課程實(shí)體的碼。具有相同屬性的實(shí)體必然具有共同的特征和性質(zhì)。用實(shí)體名及其屬性集合來抽象和描述同類實(shí)體,稱為實(shí)體型。6.2.2E-R模型例如,學(xué)生(學(xué)號,姓名,性別,出生日期、班級,入學(xué)時間)就是一個實(shí)體型;全體學(xué)生就是一個實(shí)體集;(202312341101,王娟,女,200501,01,2023)表示某位學(xué)生;學(xué)號可作為碼。6.2.2E-R模型(3)聯(lián)系一對一聯(lián)系例如,如果班級和班級導(dǎo)師之間的聯(lián)系,一個班級和一個班級導(dǎo)師相互是一一對應(yīng)的,記為l:l。一對多聯(lián)系例如,班級與班內(nèi)學(xué)生之間的聯(lián)系,一個班級內(nèi)有多位學(xué)生,記為1:N。多對多聯(lián)系例如,學(xué)生和課程之間的聯(lián)系,一個學(xué)生可以選修多門課程,一門課程可以被多位學(xué)生選修,記為M:N。6.2.2E-R模型2.E-R圖矩形表示實(shí)體、橢圓表示屬性、菱形表示聯(lián)系6.2.2E-R模型N

M

學(xué)生

班級入學(xué)時間課程

課程號課程名學(xué)分

選課出生日期成績圖6-5E-R圖實(shí)例學(xué)號姓名

性別

先修課號

層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型,它用樹狀結(jié)構(gòu)表示各類實(shí)體以及實(shí)體間聯(lián)系。層次模型具有如下特征:6.2.3邏輯數(shù)據(jù)模型(1)有且僅有一個結(jié)點(diǎn),沒有父結(jié)點(diǎn),它就是根結(jié)點(diǎn);(2)除了根節(jié)點(diǎn),其它結(jié)點(diǎn)有且僅有一個父結(jié)點(diǎn)。不能表示多對多的關(guān)系祖父爸爸我弟弟哥哥叔叔根結(jié)點(diǎn)兄弟結(jié)點(diǎn)葉結(jié)點(diǎn)葉結(jié)點(diǎn)葉結(jié)點(diǎn)圖6-6層次模型示例用網(wǎng)狀結(jié)構(gòu)表示各類實(shí)體以及實(shí)體間的聯(lián)系的數(shù)據(jù)模型稱為網(wǎng)狀數(shù)據(jù)模型。網(wǎng)狀數(shù)據(jù)模型的特征如下:(1)一個結(jié)點(diǎn)可以有多于一個的父結(jié)點(diǎn)。(2)可以有一個以上的結(jié)點(diǎn)沒有父結(jié)點(diǎn)。6.2.3邏輯數(shù)據(jù)模型專業(yè)學(xué)生課程教師班級教研室圖6-7網(wǎng)狀模型示例院系用二維表的形式表示實(shí)體和實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系數(shù)據(jù)模型。在關(guān)系數(shù)據(jù)模型中,操作的對象和結(jié)果都是二維表,這種二維表就是關(guān)系。6.2.3邏輯數(shù)據(jù)模型學(xué)號姓名性別出生日期班號202312341101王娟女2005-1-3001202212561105劉碩男2004-1-1502202132341210周鵬男2003-5-0603需要滿足以下條件:(1)二維表中的每個屬性值是不可再分的最小數(shù)據(jù)項(xiàng),即表中不允許有子表。(2)二維表中的每一列(屬性)是類型相同的數(shù)據(jù)。(3)二維表中不允許出現(xiàn)相同的屬性名。(4)二維表中不允許出現(xiàn)相同的行(元組)。(5)二維表中的行、列順序可以任意交換。6.2.3邏輯數(shù)據(jù)模型學(xué)號姓名分項(xiàng)成績總成績平時成績上機(jī)成績期末成績202312341101王娟85909089表6-2不符合要求示例——成績表03數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)內(nèi)部的體系結(jié)構(gòu)上采用三級模式與兩級映射6.3數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)概念模式(概念數(shù)據(jù)庫)外模式2(用戶數(shù)據(jù)庫)內(nèi)模式(物理數(shù)據(jù)庫)數(shù)據(jù)庫應(yīng)用n外模式-概念模式映射概念模式-內(nèi)模式映射應(yīng)用2應(yīng)用1外模式n(用戶數(shù)據(jù)庫)外模式1(用戶數(shù)據(jù)庫)………(1)外模式,也稱子模式或用戶模式是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖。(2)概念模式,也稱為邏輯模式是數(shù)據(jù)庫系統(tǒng)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。概念模式為全局模式,而外模式為局部模式,一個數(shù)據(jù)庫只有一個概念模式,但可以有若干個外模式。6.3.1三級模式(3)內(nèi)模式又稱物理模式是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的組織方式。內(nèi)模式對一般用戶是透明的,但它的設(shè)計直接影響數(shù)據(jù)庫系統(tǒng)的性能。6.3.1三級模式外模式到概念模式的映射外模式是用戶的局部模式,而概念模式是全局模式。對應(yīng)一個概念模式可以定義多個外模式,而每個外模式只是概念模式的一個視圖。這種映射一般是由DBMS實(shí)現(xiàn)。保證了數(shù)據(jù)與程序的邏輯獨(dú)立性。6.3.2兩級映射概念模式到內(nèi)模式的映射該映射給出了數(shù)據(jù)的全局邏輯結(jié)構(gòu)到物理存儲結(jié)構(gòu)間的對應(yīng)關(guān)系。這種映射一般也由DBMS實(shí)現(xiàn),保證了數(shù)據(jù)與程序的物理獨(dú)立性。6.3.2兩級映射04關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫系統(tǒng)是支持關(guān)系模型的數(shù)據(jù)庫系統(tǒng),關(guān)系模型已經(jīng)成為當(dāng)今主流的數(shù)據(jù)模型。(1)關(guān)系:一個關(guān)系就是一張二維表,每個關(guān)系有一個關(guān)系名。(2)屬性:表中的一列就是一個屬性,也稱為字段。

(3)域:屬性的取值范圍。(4)元組:關(guān)系中的一行數(shù)據(jù)就是一個元組,也稱為記錄。6.4.1關(guān)系數(shù)據(jù)結(jié)構(gòu)(5)分量:元組中的一個屬性值稱為元組的一個分量,即行列交叉的值。(6)關(guān)系模式:對關(guān)系的描述稱為關(guān)系模式,它對應(yīng)一個關(guān)系的結(jié)構(gòu)。其格式為:關(guān)系名(屬性1,屬性2,……,屬性N)如:“學(xué)生”關(guān)系表的關(guān)系模式為:學(xué)生(學(xué)號,姓名,性別,班號)6.4.1關(guān)系數(shù)據(jù)結(jié)構(gòu)(7)主關(guān)鍵字:若關(guān)系某一最小屬性組的值能夠唯一標(biāo)識一個元組,則稱該屬性組為候選碼或候選關(guān)鍵字。若一個關(guān)系中有多個候選碼,則從中選擇一個作為主碼或主關(guān)鍵字,簡稱為主鍵。(8)外部關(guān)鍵字:如果關(guān)系R中的屬性A是關(guān)系S中是的主鍵,那么屬性A在關(guān)系R中就稱為外部關(guān)鍵字,簡稱為外鍵。

6.4.1關(guān)系數(shù)據(jù)結(jié)構(gòu)1、傳統(tǒng)的集合運(yùn)算包括并(∪)、差(-)、交(∩)、廣義笛卡兒積(×)4種2、專門的關(guān)系運(yùn)算包括選擇、投影、連接和除運(yùn)算6.4.2關(guān)系運(yùn)算關(guān)系表R和S的并運(yùn)算將產(chǎn)生一個包含R、S中所有不同元組的新關(guān)系表(消除重復(fù)元組),記作:R∪S。要求:R和S必須有相同的屬性,并且對應(yīng)屬性有相同的域并運(yùn)算ABCa12b21c31ABCd32a12ABCa12b21c31d32RSR∪S關(guān)系表R和S的差運(yùn)算將產(chǎn)生一個包含所有屬于R但不屬于S的元組成的新關(guān)系表,記作:R-S。要求:R和S必須有相同的屬性,并且對應(yīng)屬性有相同的域差運(yùn)算ABCa12b21c31ABCd32a12RSR-SABCb21c31關(guān)系表R和S的交運(yùn)算將產(chǎn)生一個包含屬于R而且也屬于S的元組組成的新關(guān)系表,記作:R∩S。要求:R和S必須有相同的屬性,并且對應(yīng)屬性有相同的域。交運(yùn)算ABCa12b21c31ABCd32a12RSR∩SABCa12關(guān)系表R和S的笛卡爾積將產(chǎn)生一個包含R中每個元組與S中每個元組連接組成的新關(guān)系表。記作:R×S笛卡爾積運(yùn)算ABCa12b21c31ABCd32a12R(m)S(n)R.AR.BR.CS.AS.BS.Ca12d32a12a12b21d32b21a12c31d32c31a12R×S(m*n)從一個關(guān)系表R中找出滿足條件F的元組的操作稱為選擇,是對關(guān)系的元組進(jìn)行篩選。記作σF(R),F(xiàn)是選擇條件選擇運(yùn)算學(xué)號姓名性別班號202312341101王娟女01202212561105劉碩男02202132341210周鵬男03表6-3

學(xué)生σ性別=‘男’(學(xué)生)表6-8選擇運(yùn)算學(xué)號姓名性別班號202212561105劉碩男02202132341210周鵬男03從一個關(guān)系表R中選出若干屬性列組成新的關(guān)系表稱為投影,是對關(guān)系的屬性進(jìn)行篩選。記作∏A(R)。A為關(guān)系R的屬性列表,各個屬性以逗號分隔投影運(yùn)算表6-9投影運(yùn)算π學(xué)號,姓名,性別(學(xué)生)學(xué)

號姓

名性別202312341101王娟女202212561105劉碩男202132341210周鵬男學(xué)號姓名性別班號202312341101王娟女01202212561105劉碩男02202132341210周鵬男03表6-3

學(xué)生

連接運(yùn)算連接運(yùn)算學(xué)號姓名性別班號202312341101王娟女01202212561105劉碩男02202132341210周鵬男03表6-3

學(xué)生表6-4班級班號班級名班級導(dǎo)師01計231-1陳建國02數(shù)221-1劉鵬03機(jī)211-2鄧志勇04外222-1趙靜學(xué)號姓名性別學(xué)生.班號班級班號班級班級導(dǎo)師202312341101王娟女0101計231-1陳建國202212561105劉碩男0202數(shù)221-1劉鵬202132341210周鵬男0303機(jī)211-2鄧志勇

學(xué)生

?

班級學(xué)號姓名性別班號班級班級導(dǎo)師202312341101王娟女01計231-1陳建國202212561105劉碩男02數(shù)221-1劉鵬202132341210周鵬男03機(jī)211-2鄧志勇設(shè)關(guān)系表R除以關(guān)系表S的結(jié)果為關(guān)系表T,則T包含所有存在于R中但不存在于S中的屬性及其值,且T的元組和S的元組的所有組合都在R中。記作:R÷S或R/S除運(yùn)算ABCDa122b213C311d125BC12ADa2d5RSR÷S1.實(shí)體完整性(對主鍵的約束)主鍵不能取空值或重復(fù)的值2.參照完整性(對外鍵的約束)參照完整性是指關(guān)系中的外鍵和主鍵之間依賴關(guān)系的完整性約束“班號”在“學(xué)生”關(guān)系表中為外鍵,在“班級”關(guān)系表中為主鍵,則“學(xué)生”關(guān)系表中的“班號”可以取空值(表示學(xué)生尚未選擇某個院),或者取“班級”表中已有的一個班號值。6.4.3關(guān)系的完整性3.用戶定義的完整性(對任意字段)比如,“成績”關(guān)系表中的“成績”采用百分制整數(shù),取值范圍為0~100。6.4.3關(guān)系的完整性05關(guān)系數(shù)據(jù)庫語言SQLSQL已成為數(shù)據(jù)庫領(lǐng)域中的主流語言,意義重大。1974年,Boyce和Chamberlin提出SEQUEL,后來簡稱為SQL。1986年10月,美國國家標(biāo)準(zhǔn)協(xié)會批準(zhǔn)SQL作為關(guān)系數(shù)據(jù)庫語言的美國標(biāo)準(zhǔn)。1987年國際標(biāo)準(zhǔn)化組織將SQL采納為國際標(biāo)準(zhǔn)。6.5.1SQL的產(chǎn)生和發(fā)展數(shù)據(jù)定義語言(DDL):用于定義數(shù)據(jù)庫的模式、基本表、視圖等結(jié)構(gòu)。數(shù)據(jù)操縱語言(DML):用于實(shí)現(xiàn)對數(shù)據(jù)的查詢、插入、刪除和修改等操作。數(shù)據(jù)控制語言(DCL):用于對基本表和視圖的授權(quán)、完整性規(guī)則的描述、事務(wù)控制等。嵌入式SQL語言的使用規(guī)定:確定將SQL語句嵌入到主語言程序中的規(guī)則。6.5.2SQL的組成其主要特點(diǎn):綜合統(tǒng)一高度非過程化面向集合的操作方式以同一種語法結(jié)構(gòu)提供命令和嵌入兩種使用方式語言簡潔,易學(xué)易用6.5.3SQL的特點(diǎn)(1)數(shù)據(jù)定義:創(chuàng)建數(shù)據(jù)庫或表Create,刪除數(shù)據(jù)庫或表Drop,修改表的列或主鍵Alter;(2)數(shù)據(jù)查詢:從表中查詢數(shù)據(jù)Select;(3)數(shù)據(jù)操縱:插入記錄Insert,修改記錄Update,刪除記錄Delete;(4)數(shù)據(jù)控制:授予用戶對數(shù)據(jù)庫對象的訪問權(quán)限Grant,取消授權(quán)Revoke。只用9個命令就可完成4大類功能06數(shù)據(jù)庫設(shè)計本節(jié)以基于關(guān)系數(shù)據(jù)庫管理系統(tǒng)的關(guān)系數(shù)據(jù)庫的設(shè)計為例,討論數(shù)據(jù)庫設(shè)計(即前4個階段)的設(shè)計內(nèi)容、設(shè)計方法和工具等。數(shù)據(jù)庫的設(shè)計和開發(fā)是指數(shù)據(jù)庫應(yīng)用系統(tǒng)從設(shè)計、實(shí)施到運(yùn)行和維護(hù)的全過程,也屬于一個軟件系統(tǒng)的設(shè)計開發(fā)過程。仿照軟件生存期的概念,數(shù)據(jù)庫系統(tǒng)的生存期劃分為以下幾個階段:需求分析階段、概念結(jié)構(gòu)設(shè)計階段、邏輯結(jié)構(gòu)設(shè)計階段、物理結(jié)構(gòu)設(shè)計階段、數(shù)據(jù)庫實(shí)施階段、數(shù)據(jù)庫運(yùn)行和維護(hù)階段。6.6數(shù)據(jù)庫設(shè)計需求分析的任務(wù)數(shù)據(jù)結(jié)構(gòu)分析:分析各種數(shù)據(jù)的結(jié)構(gòu),主要是指用戶方的業(yè)務(wù)數(shù)據(jù)。數(shù)據(jù)定義分析:針對需求,確定需要定義哪些數(shù)據(jù)庫主要內(nèi)容。數(shù)據(jù)操縱分析:確定用戶那哪些數(shù)據(jù)需要增刪查改(數(shù)據(jù)完整性控制)。數(shù)據(jù)安全分析:哪些數(shù)據(jù)可以被哪些角色用戶操作,數(shù)據(jù)加密存儲等。數(shù)據(jù)完整性分析:數(shù)據(jù)的約束,數(shù)據(jù)之間,用戶表關(guān)系之間的約束等。并發(fā)處理分析:分析數(shù)據(jù)并發(fā)處理的需求和可能性。6.6.1需求分析數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,而不是數(shù)據(jù)本身。它通常包括以下幾部分:① 數(shù)據(jù)項(xiàng),是數(shù)據(jù)的最小單位;② 數(shù)據(jù)結(jié)構(gòu),是若干數(shù)據(jù)項(xiàng)有意義的集合,反映數(shù)據(jù)之間的組合關(guān)系;③ 數(shù)據(jù)流,可以是數(shù)據(jù)項(xiàng),也可以是數(shù)據(jù)結(jié)構(gòu),表示某一處理過程的輸入或輸出;④ 數(shù)據(jù)存儲,是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一,可以是手工憑證、手工文檔或計算機(jī)文檔。⑤ 處理過程。6.6.1需求分析概念結(jié)構(gòu)設(shè)計就是將需求分析得到的用戶需求抽象為概念模型的過程,是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。概念結(jié)構(gòu)設(shè)計階段,首先要對需求分析階段收集到的數(shù)據(jù)進(jìn)行分類,確定實(shí)體及其屬性、實(shí)體間的聯(lián)系,形成局部E-R圖,然后將它們綜合集成,得到全局E-R圖。在E-R圖的綜合集成過程中,主要是合并各局部E-R圖,并消除不必要的冗余。6.6.2概念結(jié)構(gòu)設(shè)計任務(wù):把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為與選用數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。1.從E-R圖向關(guān)系模式轉(zhuǎn)換(1)實(shí)體轉(zhuǎn)換為關(guān)系模型(2)聯(lián)系轉(zhuǎn)換為關(guān)系模型若實(shí)體間的聯(lián)系是1∶1,則可以與任意一端對應(yīng)的關(guān)系模式合并。若實(shí)體間的聯(lián)系是1∶n,則可以與“n”端對應(yīng)的關(guān)系模式合并。若實(shí)體間的聯(lián)系是m∶n,則可以把聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式。6.6.3邏輯結(jié)構(gòu)設(shè)計2.數(shù)據(jù)模型的優(yōu)化——規(guī)范化進(jìn)行規(guī)范化的依據(jù)是關(guān)系屬性之間的函數(shù)依賴。函數(shù)依賴就是一個屬性集依賴于其它的屬性集,或者一個屬性集決定其它的屬性集。屬性集Y依賴于屬性集X,記為X→Y。第一范式(1NF):關(guān)系模式中的每個屬性都是不可再分的最小數(shù)據(jù)項(xiàng)。第一范式是最基本的范式,都必須滿足。比如:學(xué)生(學(xué)號,姓名,出生日期,班級,班級導(dǎo)師,課程號,課程名,成績)滿足第一范式6.6.3邏輯結(jié)構(gòu)設(shè)計第二范式(2NF):如果關(guān)系模式R為第一范式,且R中每個非主屬性完全函數(shù)依賴于R的某個候選鍵,則稱其滿足第二范式。如:學(xué)生(學(xué)號,姓名,出生日期,班級,班級導(dǎo)師,課程號,課程名,成績)可以進(jìn)行

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論