第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)_第1頁(yè)
第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)_第2頁(yè)
第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)_第3頁(yè)
第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)_第4頁(yè)
第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩121頁(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、第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),第六章 數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),本章主要介紹如下知識(shí): 數(shù)據(jù)庫(kù)系統(tǒng)的基本知識(shí) 對(duì)數(shù)據(jù)模型進(jìn)行闡述,特別是其中的E-R模型和關(guān)系模型 著重介紹關(guān)系型數(shù)據(jù)庫(kù)及其設(shè)計(jì)理論 數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程 簡(jiǎn)單介紹面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng),第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.1 數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ)知識(shí),6.1.1數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)生與發(fā)展 6.1.2 數(shù)據(jù)庫(kù)的基本術(shù)語(yǔ) 6.1.3 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)體系,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.1.1數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)生與發(fā)展,數(shù)據(jù)管理技術(shù)經(jīng)歷以下三個(gè)階段:人工管理階段(50年代中期以前);文件系統(tǒng)階段(50年代后期到60年代中期);數(shù)據(jù)庫(kù)系統(tǒng)階段(60年代后期以來(lái))。,第

2、六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),1.人工管理階段 當(dāng)時(shí)外存沒(méi)有磁盤等直接存取的存儲(chǔ)設(shè)備;軟件沒(méi)有操作系統(tǒng),數(shù)據(jù)的處理是批處理。 人工管理數(shù)據(jù)具有如下特點(diǎn): 1)數(shù)據(jù)不保存。 2)數(shù)據(jù)需要由應(yīng)用程序自己管理,沒(méi)有相應(yīng)的軟件來(lái)處理數(shù)據(jù)。 3)數(shù)據(jù)不共享。 4)數(shù)據(jù)不具有獨(dú)立性。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),2. 文件系統(tǒng)階段 50年代后期到60年代中期,在操作系統(tǒng)中有專門的數(shù)據(jù)管理軟件,一般稱為文件系統(tǒng)。文件系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)發(fā)展的初級(jí)階段。 用文件系統(tǒng)管理數(shù)據(jù)具有如下特點(diǎn): 1)數(shù)據(jù)可長(zhǎng)期保存。2)簡(jiǎn)單的數(shù)據(jù)管理功能 3)數(shù)據(jù)共享性差。 4)數(shù)據(jù)的獨(dú)立性差。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),3. 數(shù)據(jù)庫(kù)系統(tǒng)階段 60年代末期

3、,人們對(duì)文件系統(tǒng)進(jìn)行了擴(kuò)充,研制了一種結(jié)構(gòu)化的數(shù)據(jù)組織和處理方式,才出現(xiàn)了真正的數(shù)據(jù)庫(kù)系統(tǒng)。 數(shù)據(jù)庫(kù)系統(tǒng)的基本特點(diǎn)如下: 1)數(shù)據(jù)的集成性。 2)數(shù)據(jù)的高度共享性與低冗余性。 3)數(shù)據(jù)獨(dú)立性高。數(shù)據(jù)的獨(dú)立性包括:,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),物理獨(dú)立性:是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,如存儲(chǔ)設(shè)備的更換、物理存儲(chǔ)的更換、存取方式改變等都不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的改變。 邏輯獨(dú)立性:是指數(shù)據(jù)的總體邏輯結(jié)構(gòu)改變時(shí),如修改數(shù)據(jù)模式、改變數(shù)據(jù)間的聯(lián)系等,不需要修改相應(yīng)的應(yīng)用程序。 (4)數(shù)據(jù)的管理和控制能力。 數(shù)據(jù)管理發(fā)展的三個(gè)階段的軟硬件背景及其特點(diǎn)的比較見(jiàn)下表 。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),第六

4、章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.1.2 數(shù)據(jù)庫(kù)的基本術(shù)語(yǔ),1. 數(shù)據(jù)(Data) 定義:數(shù)據(jù)是描述事物的符號(hào)記錄。 數(shù)據(jù)的表現(xiàn)形式不僅是數(shù)字,還包括字符(文字和符號(hào))、圖表(圖形、圖像和表格)及聲音、語(yǔ)言等 。 信息是從原始數(shù)據(jù)中經(jīng)過(guò)篩選、提煉等加工后,產(chǎn)生的對(duì)決策有影響的數(shù)據(jù)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),2. 數(shù)據(jù)庫(kù)(Database) 定義:數(shù)據(jù)庫(kù)(DB)是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)的集合。 數(shù)據(jù)庫(kù)有以下特點(diǎn):1)數(shù)據(jù)結(jié)構(gòu)化。 2)實(shí)現(xiàn)數(shù)據(jù)共享。 3)減少數(shù)據(jù)的冗余。 4)數(shù)據(jù)獨(dú)立。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),3.數(shù)據(jù)庫(kù)管理系統(tǒng)(Databbase Management System簡(jiǎn)稱D

5、BMS) 定義:數(shù)據(jù)庫(kù)管理系統(tǒng)它是位于用戶和操作系統(tǒng)(OS)之間的一層數(shù)據(jù)管理軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、數(shù)據(jù)控制及保護(hù)和數(shù)據(jù)接口等。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),4.數(shù)據(jù)庫(kù)管理員(Database Adminstrator簡(jiǎn)稱DBA) 定義:由專職人員對(duì)數(shù)據(jù)庫(kù)進(jìn)行規(guī)劃、設(shè)計(jì)、維護(hù)、監(jiān)視等,稱這些專職人員為數(shù)據(jù)庫(kù)管理員。 數(shù)據(jù)庫(kù)管理員的具體職責(zé)包括: 1)數(shù)據(jù)庫(kù)定義與設(shè)計(jì)。 2)數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)。 3)數(shù)據(jù)庫(kù)的改進(jìn)和重組重構(gòu)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),5.數(shù)據(jù)庫(kù)系統(tǒng)(Database System簡(jiǎn)稱DBS) 定義:數(shù)據(jù)庫(kù)系統(tǒng)一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)軟件)、系統(tǒng)平臺(tái)、

6、應(yīng)用系統(tǒng)和人員構(gòu)成。 數(shù)據(jù)庫(kù)系統(tǒng)在整個(gè)計(jì)算機(jī)系統(tǒng)中的地位如下圖所示。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.1.3 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)體系,數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)可以有多種不同的層次。 從數(shù)據(jù)庫(kù)管理系統(tǒng)角度看,數(shù)據(jù)庫(kù)系統(tǒng)通常采用三級(jí)模式結(jié)構(gòu),這是數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)部系統(tǒng)結(jié)構(gòu)。 從數(shù)據(jù)庫(kù)最終用戶角度看,數(shù)據(jù)庫(kù)系統(tǒng)分為單用戶數(shù)據(jù)庫(kù)系統(tǒng)、主從式數(shù)據(jù)庫(kù)系統(tǒng)、分布式數(shù)據(jù)庫(kù)系統(tǒng)和客戶/服務(wù)器數(shù)據(jù)庫(kù)系統(tǒng)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),1. 數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu) 模式是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。 數(shù)據(jù)庫(kù)系統(tǒng)在其內(nèi)部具有三級(jí)模式和二級(jí)映像。三級(jí)模式分別為外模式、模式與內(nèi)模式;二級(jí)映像則是外模式/模式映像和模

7、式/內(nèi)模式映像。 三級(jí)模式與二級(jí)映像構(gòu)成數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)部的抽象結(jié)構(gòu)體系,如下圖所示。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(1)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式。 外模式也稱子模式或用戶模式,還稱為用戶級(jí)模式。它是數(shù)據(jù)庫(kù)用戶能夠看見(jiàn)和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖。 模式也稱邏輯模式,還稱概念模式。是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。 內(nèi)模式也稱存儲(chǔ)模式,還稱物理模式。它是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(2)數(shù)據(jù)庫(kù)系統(tǒng)的二級(jí)映像。 外模式模式映像:它使數(shù)據(jù)具有較高的邏輯獨(dú)立性。它定義了該外模式與模式之間的對(duì)應(yīng)關(guān)系。這些映象定義通常包含在各

8、自外模式的描述中。當(dāng)模式改變時(shí),DBA要對(duì)相關(guān)的外模式模式映像作相應(yīng)的改變,以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,外模式不變,應(yīng)用程序就沒(méi)必要修改。所以外模式模式映像功能保證了數(shù)據(jù)與程序的邏輯獨(dú)立性。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),模式內(nèi)模式映像:它使數(shù)據(jù)具有較高的物理獨(dú)立性。它定義了數(shù)據(jù)庫(kù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。該映像定義通常包含在模式描述中。當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)了,DBA要對(duì)模式內(nèi)模式映像作相應(yīng)的改變,以使模式保持不變。模式不變,與模式?jīng)]有直接聯(lián)系的應(yīng)用程序也不會(huì)改變,所以模式內(nèi)模式映像功能保證了數(shù)據(jù)與程序的物理獨(dú)立性。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),2. 數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)

9、 (1)單用戶數(shù)據(jù)庫(kù)系統(tǒng)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(2)主從式數(shù)據(jù)庫(kù)系統(tǒng)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(3)分布式數(shù)據(jù)庫(kù)系統(tǒng)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(4)客戶/服務(wù)器數(shù)據(jù)庫(kù)系統(tǒng)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.2 數(shù)據(jù)模型,6.2.1 數(shù)據(jù)模型的基本概念 6.2.2 概念模型 6.2.3 數(shù)據(jù)模型,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.2.1 數(shù)據(jù)模型的基本概念,數(shù)據(jù)模型根據(jù)不同的應(yīng)用層次劃分為三種類型: 1、概念模型:也稱信息模型。它是按用戶觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫(kù)設(shè)計(jì)。它與具體數(shù)據(jù)庫(kù)管理系統(tǒng)無(wú)關(guān),與具體的計(jì)算機(jī)平臺(tái)無(wú)關(guān)。目前,較為流行的概念模型有E-R模型、擴(kuò)充的E-R模型、面向?qū)ο竽P偷取?

10、第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),2、邏輯模型:又稱數(shù)據(jù)模型。它是按計(jì)算機(jī)系統(tǒng)觀點(diǎn)對(duì)數(shù)據(jù)建模,主要用于DBMS的實(shí)現(xiàn)。目前數(shù)據(jù)模式有很多種,包括層次模型、網(wǎng)狀模型和關(guān)系模型、面向?qū)ο竽P偷取?3、物理模型:它是一中面向計(jì)算機(jī)物理表示的模型,此模型給出了數(shù)據(jù)模型在計(jì)算機(jī)上的物理結(jié)構(gòu)的表示。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),數(shù)據(jù)模型的三要素: 1、數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)用來(lái)描述系統(tǒng)的靜態(tài)特征。它主要描述數(shù)據(jù)的類型、內(nèi)容性質(zhì)以及數(shù)據(jù)間的聯(lián)系等。 2、數(shù)據(jù)操作。數(shù)據(jù)操作用于描述系統(tǒng)的動(dòng)態(tài)特征。它主要描述在相應(yīng)數(shù)據(jù)結(jié)構(gòu)上的操作類型與操作方式。數(shù)據(jù)庫(kù)主要有檢索和更新(包括插入、刪除和修改)兩類操作。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),3、數(shù)據(jù)

11、約束條件。 數(shù)據(jù)約束條件是一組完整型規(guī)則的集合,它描述了數(shù)據(jù)及其聯(lián)系應(yīng)具有的制約和依賴規(guī)則。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.2.2 概念模型,概念模型是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。 概念模型的表示方法很多,其中最常用的是實(shí)體聯(lián)系模型,簡(jiǎn)稱為E-R模型。該模型將現(xiàn)實(shí)世界中需要的信息,以及它們之間的基本聯(lián)接關(guān)系轉(zhuǎn)化成圖,比較直觀的反映了現(xiàn)實(shí)世界。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),1. 概念模型涉及的基本概念 (1)實(shí)體:客觀存在的并可相互區(qū)別的事物稱為實(shí)體。可以是具體的人、事、物,比如小趙、信息學(xué)院、教材等;也可以是抽象的概念或聯(lián)系,比如領(lǐng)導(dǎo)與職工的領(lǐng)導(dǎo)關(guān)系。實(shí)體是概念世界中的基本單位。,第六章數(shù)據(jù)庫(kù)技術(shù)

12、基礎(chǔ),(2)屬性:實(shí)體所具有的某一特性稱為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來(lái)刻畫。如學(xué)生實(shí)體可以由學(xué)號(hào)、姓名、性別等屬性組成。 (3)聯(lián)系:現(xiàn)實(shí)世界中的事物間的關(guān)聯(lián)稱為聯(lián)系。如教師與學(xué)生的授課關(guān)系等。這些聯(lián)系反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),兩個(gè)實(shí)體集間的聯(lián)系可以分為以下幾種: 一對(duì)一聯(lián)系(1 :1):對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有且只能有一個(gè)實(shí)體與之聯(lián)系,反之亦然。如學(xué)校與校長(zhǎng)之間的聯(lián)系 。 一對(duì)多聯(lián)系(1 :n)或多對(duì)一聯(lián)系(n :1):對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n (n1)個(gè)實(shí)體與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中有且只

13、能有一個(gè)實(shí)體與之聯(lián)系。如一個(gè)學(xué)院由多個(gè)班級(jí)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),多對(duì)多聯(lián)系(m :n): 這是一種復(fù)雜的聯(lián)系,對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n (n1)個(gè)實(shí)體與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中有n (n1)實(shí)體與之聯(lián)系。如一門課同時(shí)有若干個(gè)學(xué)生選修,而一個(gè)學(xué)生可以同時(shí)選修多門課。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),2. 概念模型基本概念之間的關(guān)系 (1)實(shí)體集(聯(lián)系)與屬性間的關(guān)系。 一個(gè)實(shí)體可以有若干個(gè)屬性,實(shí)體以及它的所有屬性構(gòu)成了實(shí)體的一個(gè)完整描述,因此實(shí)體與屬性間有一定的聯(lián)系。如在學(xué)生基本情況信息表中每一個(gè)人(實(shí)體)可以有:編號(hào)、姓名、性別、系別、年齡、籍貫、政治

14、面貌等屬性,它們組成了一個(gè)有關(guān)學(xué)生實(shí)體的完整描述。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),聯(lián)系也可以附有屬性,聯(lián)系和它的所有的屬性構(gòu)成了聯(lián)系的一個(gè)完整描述,因此,聯(lián)系與屬性間也有聯(lián)接關(guān)系。 (2)實(shí)體集與聯(lián)系。 實(shí)體集間可通過(guò)聯(lián)系建立聯(lián)接關(guān)系。 概念模型中的基本關(guān)系的結(jié)構(gòu)如下圖所示。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),3. 概念模型的表示方法 (1)實(shí)體集的表示方法:在E-R圖中用矩形表示實(shí)體集,在矩形內(nèi)寫上該實(shí)體集的名字。 (2)屬性的表示方法:在E-R圖中用橢圓表示屬性,在橢圓內(nèi)寫上該屬性的名稱。并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(3)聯(lián)系的表示方法:在E-R圖中用菱形

15、表示聯(lián)系,菱形框內(nèi)寫明聯(lián)系名,并用無(wú)向邊分別與有關(guān)的實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類型,如1 :1,1 :n,n :m等。如下圖所示。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(a)兩個(gè)實(shí)體集間的1:1聯(lián)系,(b)兩個(gè)實(shí)體集間的1:n聯(lián)系,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),聯(lián)系本身也是一種實(shí)體型,也有屬性,如果一個(gè)聯(lián)系具有屬性,則將這些屬性用無(wú)向邊與該聯(lián)系連接起來(lái)。,(c)兩個(gè)實(shí)體集間的n: m聯(lián)系,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),例6.1 有三個(gè)實(shí)體集及它們的屬性,它們分別是: 學(xué)生(Student):學(xué)號(hào)(Xh)、姓名(Xm)、性別(Xb)、年齡(Nl) 班級(jí)(Class):班號(hào)(Bh)、專業(yè)(Zy) 課程(Course

16、):課程號(hào)(Kh)、課程名(Km)、學(xué)分(Xf) 由這三個(gè)實(shí)體集構(gòu)成的概念模型,可用E-R圖來(lái)表示,如圖所示。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.2.3 數(shù)據(jù)模型,在數(shù)據(jù)庫(kù)領(lǐng)域中最常用的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型、關(guān)系模型三種模型。 1. 層次模型 層次模型是最早發(fā)展起來(lái)的數(shù)據(jù)庫(kù)模型。它的基本結(jié)構(gòu)是樹(shù)形結(jié)構(gòu),這種結(jié)構(gòu)方式在現(xiàn)實(shí)世界中很普遍,如家族結(jié)構(gòu)、行政組織結(jié)構(gòu)等。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),在圖論中,我們學(xué)過(guò)樹(shù)的定義,任一樹(shù)結(jié)構(gòu)均有以下特性:1)棵樹(shù)有且僅有一個(gè)無(wú)雙親結(jié)點(diǎn),稱為根結(jié)點(diǎn)。2)除根結(jié)點(diǎn)以外其他的結(jié)點(diǎn)有且僅有一個(gè)雙親,無(wú)子女的結(jié)點(diǎn)稱為葉結(jié)點(diǎn)。 層次模型的示例如下圖所示

17、。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),2.網(wǎng)狀模型 網(wǎng)狀模型是一種更具有普遍性的結(jié)構(gòu),從圖論的角度講,網(wǎng)狀模型是一個(gè)不加任何條件限制的無(wú)向圖。網(wǎng)狀模型是以記錄為結(jié)點(diǎn)的網(wǎng)狀結(jié)構(gòu),它滿足以下條件: (1)可以有任意個(gè)結(jié)點(diǎn)無(wú)雙親。 (2)允許結(jié)點(diǎn)有一個(gè)以上的雙親。 (3)允許兩個(gè)結(jié)點(diǎn)之間有一種或兩種以上的聯(lián)系。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),網(wǎng)狀模型的示例如下圖所示。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),3. 關(guān)系模型 目前,關(guān)系模型是數(shù)據(jù)庫(kù)領(lǐng)域中目前最重要的一種數(shù)據(jù)模型。關(guān)系模型的本質(zhì)是一張二維表,關(guān)系模型中,一張二維表就稱為一個(gè)關(guān)系。 (1)關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)。關(guān)系模型采用二維表來(lái)表示,簡(jiǎn)稱表。如下表是一張

18、學(xué)生登記表,它由行(元組)和列(屬性)組成。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),關(guān)系二維表一般具有下面幾個(gè)性質(zhì): 1) 元組個(gè)數(shù)有限性。2) 元組的唯一性。 3)元組次序的無(wú)關(guān)性。4)元組分量的原子性5)屬性名的唯一性。6)屬性的次序無(wú)關(guān)性。7) 分量值域的同一性。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),需要注意的是:關(guān)系必須滿足一定的規(guī)范條件,其中最基本的一條是:關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng),即不允許表中還有表。 外鍵:二維表中某個(gè)屬性或?qū)傩越M合雖不是該表的關(guān)鍵字或只是關(guān)鍵字的一部分,但卻是另外一個(gè)表的關(guān)鍵字時(shí),稱該屬性或?qū)傩越M合為這個(gè)表的外部關(guān)鍵字或外鍵。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(2

19、)關(guān)系模型的操作。一般有以下四種操作: 1) 數(shù)據(jù)查詢。數(shù)據(jù)查詢是數(shù)據(jù)庫(kù)的核心操作。它包括單表查詢和多表查詢。 單表查詢:是指僅在一個(gè)數(shù)據(jù)庫(kù)表進(jìn)行的查詢。 多表查詢:是指同時(shí)涉及兩個(gè)以上的表的查詢。首先將相關(guān)的關(guān)系合并成一個(gè)關(guān)系,再對(duì)合并后的關(guān)系作橫向或縱向的定位。確定要查詢的數(shù)據(jù),之后進(jìn)行操作。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),2) 數(shù)據(jù)插入。數(shù)據(jù)插入僅對(duì)一個(gè)關(guān)系而言,在指定的關(guān)系中插入一個(gè)或多個(gè)元組。 3) 數(shù)據(jù)刪除。數(shù)據(jù)刪除的基本單位是一個(gè)表中元組,它將滿足條件元組從表中刪除。 4) 數(shù)據(jù)修改。數(shù)據(jù)修改又稱更新操作。它可以分解為刪除和插入兩個(gè)基本操作。 以上四種操作的對(duì)象都是關(guān)系(表),而操作的結(jié)

20、果也是關(guān)系(表)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(3)關(guān)系模型的約束條件。關(guān)系模型定義三種數(shù)據(jù)約束條件: 1) 實(shí)體完整性約束條件。實(shí)體完整性約束要求關(guān)系中主碼的任何屬性都不能為空。這是數(shù)據(jù)庫(kù)完整性的最基本的要求,因?yàn)橹鞔a唯一標(biāo)識(shí)元組,如為空則不能為主碼。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),2) 參照完整性約束條件。參照完整性約束是對(duì)關(guān)系間引用數(shù)據(jù)的一種限制。即在關(guān)系中的外鍵要么是所關(guān)聯(lián)關(guān)系中的實(shí)際存在的元組,要么就為空值。比如在下面關(guān)系中: 職工關(guān)系(職工編號(hào),姓名,性別,部門編號(hào)) 部門關(guān)系(部門編號(hào),部門名稱,部門經(jīng)理) 職工編號(hào)是職工關(guān)系的主碼,而外碼為部門 編號(hào),職工關(guān)系與部門關(guān)系通過(guò)部門編號(hào)關(guān)聯(lián),

21、參照完整性要求職工關(guān)系中的部門編號(hào)的值在部門關(guān)系中必有相應(yīng)元組。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),3) 用戶定義的完整性約束條件。用戶定義的完整性約束條件是某一具體數(shù)據(jù)庫(kù)的約束條件,是用戶自己定義的某一具體數(shù)據(jù)必須滿足的語(yǔ)義要求。 其中前兩者約束條件由關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)自動(dòng)支持。對(duì)后者,則由關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)提供完整性約束語(yǔ)言,用戶利用該語(yǔ)言定義出約束條件。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.3 關(guān)系數(shù)據(jù)庫(kù),6.3.1 關(guān)系模型的特點(diǎn) 6.3.2 關(guān)系代數(shù) 6.3.3 結(jié)構(gòu)化查詢語(yǔ)言SQL,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.3.1 關(guān)系模型的特點(diǎn),1. 單一的數(shù)據(jù)結(jié)構(gòu)關(guān)系 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是單一的?,F(xiàn)實(shí)世界的實(shí)體以及實(shí)體之間

22、的各種聯(lián)系均用關(guān)系來(lái)表示,從用戶角度來(lái)看,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。 2. 關(guān)系操作 關(guān)系操作采用集合操作方式。即操作對(duì)象和結(jié)果都是集合。其中查詢是最基本的操作。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),3. 關(guān)系的三類完整性規(guī)則 關(guān)系模型的完整性規(guī)則是對(duì)數(shù)據(jù)的約束。關(guān)系模型提供了三類完整性規(guī)則:實(shí)體完整性規(guī)則、參照完整性規(guī)則和用戶自定義完整性規(guī)則。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.3.2 關(guān)系代數(shù),關(guān)系模型中的關(guān)系操作通常用關(guān)系代數(shù)和關(guān)系演算來(lái)表示的。關(guān)系代數(shù)是一種抽象的查詢語(yǔ)言,它是用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢的。關(guān)系演算是用謂詞來(lái)表達(dá)查詢要求的方式。二者是等價(jià)的。在這里我們著重介紹關(guān)系代數(shù)。,第六章數(shù)據(jù)

23、庫(kù)技術(shù)基礎(chǔ),1. 關(guān)系代數(shù)的相關(guān)概念 (1)笛卡爾積:令A(yù)和B是任意兩個(gè)集合,若有序?qū)Φ牡谝粋€(gè)成員是A的元素,第二個(gè)成員是B的元素,所有這樣的有序?qū)Φ募?,稱為集合A和B的笛卡爾積或直積。記作AB。 AB=|(xA)(yB) 笛卡爾積可表示為一個(gè)二維表,表中的每一行對(duì)應(yīng)一個(gè)元組,表中的每一列對(duì)應(yīng)一個(gè)域(同一屬性的集合)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),我們看一個(gè)例子: 例如:A=a,b, B=0,1,2則: AB=a,0,a,1, a,2, b,0, b,1, b,2 BA=0,a,0,b, 1,a, 1,b, 2,a, 2,b,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(2)關(guān)系:令A(yù)和B是任意兩個(gè)集合,笛卡爾積AB的

24、子集R稱作A到B的關(guān)系。簡(jiǎn)單的說(shuō):關(guān)系是笛卡爾積的子集。 (3)關(guān)系模型:關(guān)系的描述稱為關(guān)系模型。它可以形象化地表示為一個(gè)五元組: R(U,D,DOM,F(xiàn))。其中R為關(guān)系名,U為組成該關(guān)系的屬性名的集合,D為屬性組U中屬性所來(lái)自的域,DOM為屬性向域的映像集合,F(xiàn)為屬性間數(shù)據(jù)依賴關(guān)系。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),2. 傳統(tǒng)的集合運(yùn)算 (1)并:設(shè)關(guān)系R和S具有相同的關(guān)系模式,R和S的并是由屬于R或?qū)儆赟的元組構(gòu)成的集合,記為RS。形式定義如下: RS = t | tR tS , t是元組變量,R和S都有n個(gè)屬性。 并運(yùn)算可以實(shí)現(xiàn)插入若干元組的操作。如對(duì)關(guān)系R插入R,則可用并運(yùn)算表示為:RR。,第六

25、章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(2)差:設(shè)關(guān)系R和S具有相同的關(guān)系模式,R和S的差是由屬于R但不屬于S的元組構(gòu)成的集合,記為RS。形式定義如下: RS = t | tR tS , R和S都有n個(gè)屬性。 差運(yùn)算可實(shí)現(xiàn)刪除操作。如對(duì)關(guān)系R刪除R,則可用差運(yùn)算表示為:RR。 對(duì)關(guān)系的修改可分兩步進(jìn)行,先做刪除操作,再做插入操作,即先做差運(yùn)算再做并運(yùn)算。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(3)交:設(shè)關(guān)系R和S具有相同的關(guān)系模式,關(guān)系R和S的交是由既屬于R又屬于S的元組構(gòu)成的集合,記為RS,這里要求R和S定義在相同的關(guān)系模式上。形式定義如下: RS = ttR tS, R和S都有n個(gè)屬性。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(4)廣義笛

26、卡爾積:設(shè)關(guān)系R和S的元數(shù)分別為r和s,則R和S的笛卡爾積是一個(gè)(r+s)元的元組集合,每個(gè)元組的前r個(gè)分量來(lái)自R的一個(gè)元組,后s個(gè)分量來(lái)自S的一個(gè)元組,記為:RS。形式定義如下: RS = t | t= tr R ts S 下面舉例說(shuō)明上述的四種傳統(tǒng)集合運(yùn)算。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),例,R 關(guān)系,S關(guān)系,RS (R和S 的并),RS (R和S 的交),RS (R和S 的差),RS(R和S的廣義笛卡爾積),第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),3. 專門的關(guān)系運(yùn)算 專門的關(guān)系運(yùn)算包括選擇、投影、連接、除。 (1)選擇:選擇運(yùn)算是根據(jù)某些條件對(duì)關(guān)系做水平分割,即選取符合條件的元組。形式定義如下: F(R) t

27、| tR F(t)= true 其中為選擇運(yùn)算符,F(xiàn)(R)表示從R中挑選滿足公式F為真的元組所構(gòu)成的關(guān)系。這是從行的角度進(jìn)行的運(yùn)算。 例如, 23 (R)表示從R中挑選第2個(gè)分量值大于3的元組所構(gòu)成的關(guān)系。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(2)投影:投影運(yùn)算是從關(guān)系內(nèi)選擇出若干屬性列組成新的關(guān)系。形式定義如下: A(R) t A| tR 其中A為R的屬性列。投影操作是從列的角度進(jìn)行的運(yùn)算。 投影之后不僅取消了原關(guān)系中的某些列,而且取消完全相同的元組。 例如, 3,1 (R)表示關(guān)系R中取第1、3列,組成新的關(guān)系,新關(guān)系中第1列為R的第3列,新關(guān)系的第2列為R的第1列。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(3)連接

28、:連接也稱為聯(lián)接。它是從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組組成新的關(guān)系。關(guān)系R和S的連接運(yùn)算形式定義如下: R S tt = trR tsS AB trA tsB ,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),連接運(yùn)算中有兩種最為常用的連接: 1) 等值連接:將連接中的換成“=”,功能是從關(guān)系R和S的笛卡爾積中選取A,B屬性值相等的那些元組。它的形式定義為: R S tt = trR tsS A=B trA tsB ,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),2) 自然連接:是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且要在結(jié)果中將重復(fù)的屬性去掉。它的形式定義為: R S tt = trR

29、tsS trBtsB 連接運(yùn)算一般是從行的角度進(jìn)行的操作,但自然連接是同時(shí)從行和列的角度進(jìn)行的操作。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),我們舉例說(shuō)明連接運(yùn)算:,R關(guān)系,S關(guān)系,選擇連接,R S DE,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),自然連接R S,等值連接,R S R.B=S.B,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(4)除:設(shè)R(x)和S(y)是兩個(gè)關(guān)系,并且y是x的子集即x中的每一個(gè)屬性都在y中,關(guān)系RS是模式xy上的關(guān)系,也就是說(shuō),RS包含所有在x中而不在y中的屬性。它形式定義為: RS = trX| trR yx y(S) 其中yx為x在R中的像集。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),我們舉例說(shuō)明除運(yùn)算:,R關(guān)系,S關(guān)系,RS,第六

30、章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),根據(jù)上述的關(guān)系運(yùn)算完成下面例題 學(xué)生選課數(shù)據(jù)庫(kù)的關(guān)系模式為: Student(Sno,Sname,Sdept,Sage); Course(Cno,Cname,Pno); SC(Sno,Cno,Grade)。 其中Sno,Sname,Sdept,Sage表示學(xué)號(hào)、學(xué)生姓名、學(xué)生系別、學(xué)生年齡;Cno,Cname,Pno表示課程號(hào)、課程名、預(yù)修課程號(hào);Grade表示成績(jī)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),寫出對(duì)關(guān)系模型Student、Course、SC中的下述查詢表達(dá)式: (1)檢索學(xué)生年齡小于19的學(xué)生的姓名。 Sname(Sage85 (Student SC) (5)求選修了全部課程的

31、學(xué)生學(xué)號(hào)。 Sno,Cno(SC) Cno(Course),第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.3.3 結(jié)構(gòu)化查詢語(yǔ)言SQL,SQL:是Structured Query Language的縮寫,是一種結(jié)構(gòu)化查詢語(yǔ)言。是1974年由Boyce和Chamberlin提出來(lái)的。 由于SQL使用方便、功能豐富、語(yǔ)言簡(jiǎn)單易學(xué),現(xiàn)已成為關(guān)系數(shù)據(jù)庫(kù)領(lǐng)域中的一個(gè)主流語(yǔ)言。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),1. SQL數(shù)據(jù)庫(kù)結(jié)構(gòu) SQL數(shù)據(jù)庫(kù)的結(jié)構(gòu)如圖所示。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),它基本上是三級(jí)結(jié)構(gòu),它支持關(guān)系數(shù)據(jù)庫(kù)三級(jí)模式結(jié)構(gòu),但在SQL數(shù)據(jù)庫(kù)中,模式被稱為基本表,內(nèi)模式稱為存儲(chǔ)文件,外模式稱為視圖或部分基本表,元組稱為行,屬性

32、稱為列。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),2. 結(jié)構(gòu)化查詢語(yǔ)言SQL的組成 SQL語(yǔ)言包括數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)控制4個(gè)方面。 數(shù)據(jù)定義包括定義基本表、定義視圖、定義索引3部分。 數(shù)據(jù)查詢是建立數(shù)據(jù)庫(kù)的主要目的,SQL語(yǔ)言提供了SELECT語(yǔ)句進(jìn)行查詢。 數(shù)據(jù)操縱包括數(shù)據(jù)檢索和更新兩部分功能。 數(shù)據(jù)控制是指控制用戶對(duì)數(shù)據(jù)的存儲(chǔ)權(quán)力。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),3. SQL數(shù)據(jù)庫(kù)的查詢 數(shù)據(jù)庫(kù)的查詢的基本格式為: SELECTALL/DISTINCT FROM WHERE GROUP BY ORDER BY ASC/DESC; 在語(yǔ)句中,凡是在中的項(xiàng)是不可缺的, 中的項(xiàng)可根據(jù)需要省略。,第六章數(shù)據(jù)

33、庫(kù)技術(shù)基礎(chǔ),整個(gè)查詢語(yǔ)句的含義是: 根據(jù)WHERE子句中的條件,從FROM子句指定的表中找出滿足條件的元組,再按SELECT子句中的目標(biāo)列或目標(biāo)列表達(dá)式選出元組中的屬性值形成結(jié)果表。如果有GROUP子句,則按列名1的值進(jìn)行分組。如果有ORDER子句,則在結(jié)果表中按照列名2的值進(jìn)行升序(ASC)和降序(DESC)排序。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),我們舉例說(shuō)明如何用SQL語(yǔ)言進(jìn)行查詢。 例:學(xué)生選課數(shù)據(jù)庫(kù)的關(guān)系模式為: Student(Sno,Sname,Sdept,Sage); Course(Cno,Cname,Pno); SC(Sno,Cno,Grade)。 (1)查詢?nèi)w學(xué)生的姓名、學(xué)號(hào)。 SE

34、LECT Sno, Sname FROM Student;,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(2)查詢所有選修過(guò)課的學(xué)生的學(xué)號(hào)。 SELECT DISTINCT Sno FROM SC; (3)查詢年齡在19到22之間的學(xué)生姓名、系別和年齡。 SELECT Sname, Sdept, Sage FROM Student WHERE Sage BETWEEN 19 AND 23; 謂詞BETWEENAND 和NOT BETWEEN AND可以查找屬性值在(或不在)指定范圍內(nèi)的元組。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(4)查詢出成績(jī)?yōu)?0、85、87的記錄。 SELECT * FROM SC WHERE Grade

35、IN(80,85,87); 謂詞IN用來(lái)查找屬性值屬于指定集合的元組。 (5)查詢第二個(gè)字為“艷”的學(xué)生的姓名和系別。 SELECT Sname, Sdept FROM Student WHERE Sname LIKE - -_艷%; 謂詞LIKE可以用來(lái)進(jìn)行字符串的匹配。其中%代表任意長(zhǎng)的的字符串,- 代表任意單個(gè)字符。一個(gè)漢字占兩個(gè)字符。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(6)查詢選修“數(shù)據(jù)庫(kù)系統(tǒng)原理”課程的學(xué)生姓名。 SELECT Sname FROM Student WHERE Sno IN ( SELECT Sno FROM SC WHERE Cno IN (SELECT Cno FROM C

36、ourse WHERE Cname=數(shù)據(jù)庫(kù)系統(tǒng)原理); 此查詢?yōu)榍短撞樵儭?第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.4 數(shù)據(jù)庫(kù)的設(shè)計(jì),6.4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟 6.4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)的需求分析 6.4.3 數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì) 6.4.4 邏輯結(jié)構(gòu)設(shè)計(jì) 6.4.5 物理結(jié)構(gòu)設(shè)計(jì),第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),數(shù)據(jù)庫(kù)設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用的核心。數(shù)據(jù)庫(kù)設(shè)計(jì)是指利用現(xiàn)有的數(shù)據(jù)庫(kù)管理系統(tǒng),針對(duì)具體的應(yīng)用對(duì)象,構(gòu)造合適的數(shù)據(jù)庫(kù)模式,建立基于數(shù)據(jù)庫(kù)的應(yīng)用系統(tǒng)或信息系統(tǒng)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟,在數(shù)據(jù)庫(kù)設(shè)計(jì)中有兩種方法: 一種是以信息需求為主,兼顧處理需求,稱為面向數(shù)據(jù)的方法。 另一種方法是以處理需

37、求為主,兼顧信息需求,稱為面向過(guò)程的方法。 這兩種方法現(xiàn)在都有使用,但面向數(shù)據(jù)方法已成為主流方法。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),數(shù)據(jù)庫(kù)設(shè)計(jì)一般分為以下六個(gè)階段: 1. 需求分析階段 進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)首先必須準(zhǔn)確分析用戶的需求,按需求合理的設(shè)計(jì)系統(tǒng)。 2. 概念設(shè)計(jì)階段 概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵,它通過(guò)對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),3. 邏輯設(shè)計(jì)階段 該階段是將概念結(jié)構(gòu)轉(zhuǎn)化為某個(gè)DBMS所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化,得到數(shù)據(jù)庫(kù)的邏輯模型。 4. 物理設(shè)計(jì)階段 數(shù)據(jù)庫(kù)物理設(shè)計(jì)是為邏輯數(shù)據(jù)模型選取一個(gè)最合適應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括

38、存儲(chǔ)結(jié)構(gòu)和存取方法)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),5. 實(shí)現(xiàn)階段 在數(shù)據(jù)庫(kù)實(shí)施階段,設(shè)計(jì)人員運(yùn)用DBMS提供的數(shù)據(jù)語(yǔ)言及其宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù),編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。 6. 運(yùn)行和維護(hù)階段 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)經(jīng)過(guò)試運(yùn)行后即可投入正式運(yùn)行。在其運(yùn)行過(guò)程中必須不斷對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟如圖所示,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)的需求分析,分析和表達(dá)用戶的需求,通常采用結(jié)構(gòu)化分析方法,這種方法用自頂向下,逐層分解的方式分析系統(tǒng)。并用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),6.4.3 數(shù)據(jù)

39、庫(kù)的概念結(jié)構(gòu)設(shè)計(jì),1. 概念結(jié)構(gòu)設(shè)計(jì)的目的 概念結(jié)構(gòu)設(shè)計(jì)階段的目標(biāo)是通過(guò)對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型。 概念結(jié)構(gòu)的設(shè)計(jì)方法有兩種:,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(1)集中式模式設(shè)計(jì)法:根據(jù)需求由一個(gè)統(tǒng)一機(jī)構(gòu)或人員設(shè)計(jì)一個(gè)綜合的全局模式。該方法簡(jiǎn)單方便,適用于小型或不復(fù)雜的系統(tǒng)設(shè)計(jì)。 (2)視圖集成設(shè)計(jì)法:這種方法是將一個(gè)系統(tǒng)分解成若干個(gè)子系統(tǒng),首先對(duì)每一個(gè)子系統(tǒng)進(jìn)行模式設(shè)計(jì),建立各個(gè)局部視圖,然后將這些局部視圖進(jìn)行集成,最終形成整個(gè)系統(tǒng)的全局模式。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),2. 概念結(jié)構(gòu)設(shè)計(jì)的過(guò)程 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)是使用E-R模型和視圖集成設(shè)計(jì)法進(jìn)行設(shè)計(jì)的。它

40、的設(shè)計(jì)過(guò)程是:首先設(shè)計(jì)局部應(yīng)用,再進(jìn)行局部視圖(局部E-R圖)設(shè)計(jì),然后進(jìn)行視圖集成得到概念模型(全局E-R圖)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),視圖設(shè)計(jì)一般有三種方法: (1)自頂向下。這種方法是從總體概念結(jié)構(gòu)開(kāi)始逐層細(xì)化。如教師這個(gè)視圖可以從一般教師開(kāi)始,分解成高級(jí)教師、普通教師等。進(jìn)一步再由高級(jí)教師細(xì)化為青年高級(jí)教師與中年高級(jí)教師等。 (2)自底向上。這種方法是從具體的對(duì)象逐層抽象,最后形成總體概念結(jié)構(gòu)。 (3)由內(nèi)向外。這種方法是從核心的對(duì)象著手,然后向四周逐步擴(kuò)充,直到最終形成總體概念結(jié)構(gòu)。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),在視圖集成過(guò)程中最重要的任務(wù)是解決各個(gè)E-R圖設(shè)計(jì)中的沖突。常見(jiàn)的沖突有以下幾

41、類: (1)命名沖突。命名沖突有同名異義和同義異名兩種。如教師屬性何時(shí)參加工作與參加工作時(shí)間屬于同義異名。 (2)概念沖突。同一概念在一處為實(shí)體而在另一處為屬性或聯(lián)系。 (3)域沖突。相同屬性在不同視圖中有不同的域。 (4)約束沖突。不同的視圖可能有不同的約束。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),我們舉例說(shuō)明數(shù)據(jù)庫(kù)的概念設(shè)計(jì)過(guò)程: 設(shè)計(jì)學(xué)生管理系統(tǒng)。包括學(xué)生的學(xué)籍管理子系統(tǒng)和課程管理子系統(tǒng)兩個(gè)系統(tǒng)。 (1)學(xué)籍管理子系統(tǒng)包括學(xué)生、宿舍、班級(jí)、教室、輔導(dǎo)員。這些實(shí)體之間的聯(lián)系有: 一個(gè)班級(jí)有若干學(xué)生,一個(gè)學(xué)生只能屬于一個(gè)班;一個(gè)宿舍可以住多個(gè)學(xué)生,一個(gè)學(xué)生只能住在一個(gè)宿舍中;一個(gè)輔導(dǎo)員帶若干個(gè)學(xué)生,一個(gè)學(xué)生

42、只屬于一個(gè)輔導(dǎo)員。一個(gè)輔導(dǎo)員帶多個(gè)班級(jí);一個(gè)班級(jí)在多個(gè)教室上課,一個(gè)教室有多個(gè)班級(jí)來(lái)上課。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(2)課程管理子系統(tǒng)包括學(xué)生、課程、教師、教室、教科書。這些實(shí)體之間的聯(lián)系有: 一個(gè)學(xué)生選修多門課程,一門課程有若干學(xué)生選修;一個(gè)學(xué)生有多個(gè)教師授課,一個(gè)教師教授若干學(xué)生;一門課程由若干個(gè)教師講授,一個(gè)教室只講一門課程;一個(gè)教室開(kāi)設(shè)多門課,一門課只能在一個(gè)教室上。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),針對(duì)兩個(gè)子系統(tǒng)分別設(shè)計(jì)出它們的E-R圖。在E-R圖中省去屬性。學(xué)籍管理子系統(tǒng)的E-R圖如圖所示。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),對(duì)應(yīng)各個(gè)實(shí)體的屬性分別為: 學(xué)生學(xué)號(hào),姓名,性別,出生日期,系別,何時(shí)入校,平

43、均成績(jī) 班級(jí)班級(jí)號(hào),學(xué)生人數(shù) 輔導(dǎo)員職工號(hào),姓名,性別,工作時(shí)間 宿舍宿舍編號(hào),地址,人數(shù) 教室教室編號(hào),地址,容量 其中有下劃線的屬性為實(shí)體的碼。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),課程管理子系統(tǒng)的E-R圖如圖所示。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),對(duì)應(yīng)各個(gè)實(shí)體的屬性分別為: 學(xué)生學(xué)號(hào),姓名,性別,年齡,入學(xué)時(shí)間 課程課程號(hào),課程名,學(xué)分 教科書書號(hào),書名,作者,出版日期,關(guān)鍵字 教室教室編號(hào),地址,容量 教師職工號(hào),姓名,性別,職稱 其中有下劃線的屬性為實(shí)體的碼。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),下面將學(xué)籍管理子系統(tǒng)E-R圖和課程管理子系統(tǒng)E-R圖集成學(xué)生管理系統(tǒng)E-R圖。集成過(guò)程如下: (1)消除沖突。這兩個(gè)子E-R圖

44、存在著多方面的沖突: 輔導(dǎo)員屬于教師,學(xué)籍管理中的輔導(dǎo)員與課程管理中的教師可以統(tǒng)一為教師。 將輔導(dǎo)員改為教師后,教師與學(xué)生之間有兩種不同的聯(lián)系:指導(dǎo)聯(lián)系和教學(xué)聯(lián)系,將兩種聯(lián)系綜合為教學(xué)聯(lián)系。 調(diào)整學(xué)生屬性組成,調(diào)解結(jié)果為: 學(xué)生學(xué)號(hào),姓名,出生日期,年齡,系別,平均成績(jī),第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),(2)消除冗余。 學(xué)生實(shí)體的屬性中的年齡可由初涉概念日期計(jì)算出來(lái),屬于數(shù)據(jù)冗余。調(diào)整為:學(xué)生學(xué)號(hào),姓名,出生日期,系別,平均成績(jī) 教室實(shí)體與班級(jí)實(shí)體之間的上課聯(lián)系可以由教室與課程之間的開(kāi)設(shè)聯(lián)系、課程與學(xué)生之間的選修聯(lián)系、學(xué)生與班級(jí)之間的組成聯(lián)系三者推導(dǎo)出來(lái),因此屬于數(shù)據(jù)冗余,可以消去。 學(xué)生的平均成績(jī)可以從選修聯(lián)系中的成績(jī)屬性推算出來(lái)。但如果學(xué)生的平均成績(jī)經(jīng)常查詢,可以保留該數(shù)據(jù)冗余來(lái)提高效率。,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ),集成后學(xué)生管理系統(tǒng)的 E-R 圖,第六章數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)

溫馨提示

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