er 2005 數(shù)據(jù)庫基礎(chǔ)與應(yīng)用_第1頁
er 2005 數(shù)據(jù)庫基礎(chǔ)與應(yīng)用_第2頁
er 2005 數(shù)據(jù)庫基礎(chǔ)與應(yīng)用_第3頁
er 2005 數(shù)據(jù)庫基礎(chǔ)與應(yīng)用_第4頁
er 2005 數(shù)據(jù)庫基礎(chǔ)與應(yīng)用_第5頁
已閱讀5頁,還剩60頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 SQL Server 2005 數(shù)據(jù)庫基礎(chǔ)與應(yīng)用第1章 數(shù)據(jù)庫系統(tǒng)概述 數(shù)據(jù)管理技術(shù)的發(fā)展1.1數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng) 1.2關(guān)系數(shù)據(jù)庫及其設(shè)計 1.3數(shù)據(jù)庫的設(shè)計流程 1.4SQL Server2005 概述 1.5 目前數(shù)據(jù)處理成為計算機(jī)應(yīng)用的主要方面。數(shù)據(jù)處理的中心問題是數(shù)據(jù)管理。數(shù)據(jù)庫系統(tǒng)技術(shù)是數(shù)據(jù)管理技術(shù)發(fā)展的最新研究成果。 1.1 數(shù)據(jù)管理技術(shù)的發(fā)展1.1.1數(shù)據(jù)管理技術(shù)概述 數(shù)據(jù)管理技術(shù)隨著應(yīng)用進(jìn)步而迅速發(fā)展應(yīng)用的發(fā)展始終是數(shù)據(jù)管理技術(shù)進(jìn)步的動力?;蛘哒f,應(yīng)用發(fā)展與技術(shù)進(jìn)步是互相推動、互相促進(jìn)的?;仡檾?shù)據(jù)管理領(lǐng)域的發(fā)展歷史,正說明了這一點。 1.1.2 計算機(jī)數(shù)據(jù)管理的三個階段

2、 數(shù)據(jù)管理具體就是指人們對數(shù)據(jù)進(jìn)行收集、組織、存儲、加工、傳播和利用的一系列活動的總和。計算機(jī)數(shù)據(jù)管理經(jīng)歷了人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)等三個階段。一、人工管理階段 50年代中期以前,計算機(jī)主要用于科學(xué)計算。在這一階段,計算機(jī)除硬件外,沒有管理數(shù)據(jù)的軟件。使用計算機(jī)對數(shù)據(jù)進(jìn)行管理時,設(shè)計人員除考慮應(yīng)用程序、數(shù)據(jù)的邏輯定義和組織外,還必須考慮數(shù)據(jù)在存儲設(shè)備內(nèi)的存儲方式和地址。其特點如下: 數(shù)據(jù)不保存 編寫程序時要確定數(shù)據(jù)的物理存儲 數(shù)據(jù)面向程序 二、文件系統(tǒng)階段 在50年代后期至60年代中期,計算機(jī)外存已有了磁鼓、磁盤等存儲設(shè)備,軟件有了操作系統(tǒng)。人們在操作系統(tǒng)的支持下,設(shè)計開發(fā)了一種專門管理

3、數(shù)據(jù)的計算機(jī)軟件,稱之為文件系統(tǒng)。這時,計算機(jī)不僅用于科學(xué)計算,也已大量用于數(shù)據(jù)處理,其特點如下: 數(shù)據(jù)以文件的形式長期保存 盡管數(shù)據(jù)的物理結(jié)構(gòu)與邏輯結(jié)構(gòu)有了區(qū)別,但過于簡單 文件形式多樣化 程序與數(shù)據(jù)之間有一定的獨立性 三、數(shù)據(jù)庫系統(tǒng)階段 從60年代末期開始,隨著計算機(jī)技術(shù)的發(fā)展,數(shù)據(jù)管理的規(guī)模越來越大,數(shù)據(jù)量急劇增加,數(shù)據(jù)共享的要求越來越高。這時磁盤技術(shù)取得了重要進(jìn)展,為數(shù)據(jù)庫技術(shù)的發(fā)展提供了物質(zhì)條件。人們研制出了一種新的、先進(jìn)的數(shù)據(jù)管理方法,即數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫系統(tǒng)克服了以前所有數(shù)據(jù)管理方式的缺點,試圖提供一種完美的、更高的數(shù)據(jù)管理方式。數(shù)據(jù)庫系統(tǒng)管理方式具有如下特點: 數(shù)據(jù)共享 面向全

4、組織的數(shù)據(jù)結(jié)構(gòu)化 數(shù)據(jù)獨立性 可控數(shù)據(jù)冗余度 統(tǒng)一數(shù)據(jù)控制功能 1.2數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)1.2.1 數(shù)據(jù)庫系統(tǒng)的基本概念 數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)是與數(shù)據(jù)庫技術(shù)密切相關(guān)的4個基本概念。1. 數(shù)據(jù)(Data) 數(shù)據(jù)是對客觀信息的一種描述,它是由能被計算機(jī)識別與處理的數(shù)值、字符等符號構(gòu)成的集合,即數(shù)據(jù)是指描述事物的符號記錄。2. 數(shù)據(jù)庫(Data Base,DB) 數(shù)據(jù)庫指長期存儲在計算機(jī)內(nèi)有組織的、可共享的數(shù)據(jù)集合,即在計算機(jī)系統(tǒng)中按一定的數(shù)據(jù)模型組織、存儲和使用的相關(guān)聯(lián)的數(shù)據(jù)集合稱為數(shù)據(jù)庫。3. 數(shù)據(jù)庫管理系統(tǒng)(Data Base Management System ,DB

5、MS) 數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是為數(shù)據(jù)庫的建立、使用和維護(hù)而配置的軟件。它建立在操作系統(tǒng)的基礎(chǔ)上,是位于操作系統(tǒng)與用戶之間的一層數(shù)據(jù)管理軟件,主要功能是對數(shù)據(jù)庫進(jìn)行定義、操作、控制和管理。 由于不同數(shù)據(jù)庫管理系統(tǒng)要求的硬件資源、軟件環(huán)境是不同的,因此其功能與性能也存在差異,但一般說來,數(shù)據(jù)庫管理系統(tǒng)的功能主要包括以下6個方面。 數(shù)據(jù)的定義數(shù)據(jù)的處理數(shù)據(jù)庫的安全管理 數(shù)據(jù)的組織、存儲和管理 建立和維護(hù)數(shù)據(jù)庫 數(shù)據(jù)通信接口4. 數(shù)據(jù)庫系統(tǒng)(Data Base System,DBS) 數(shù)據(jù)庫系統(tǒng)是指在計算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成。從根本上說不過是計算機(jī)化的記錄保持系統(tǒng),它的總目的是

6、存儲和產(chǎn)生所需要的有用信息。這些有用的信息可以是使用該系統(tǒng)的個人或組織的有意義的任何事情,換句話說,是對某個人或組織輔助決策過程中不可少的事情。1.2.2數(shù)據(jù)庫系統(tǒng)的組成 數(shù)據(jù)庫系統(tǒng)要包括四個主要部分:數(shù)據(jù)(庫)、用戶、軟件、硬件。下面簡要介紹。(一)數(shù)據(jù) 數(shù)據(jù)是指數(shù)據(jù)庫系統(tǒng)中集中存儲的一批數(shù)據(jù)的集合。它是數(shù)據(jù)庫系統(tǒng)的工作對象。(二)用戶 存在一組使用數(shù)據(jù)庫的用戶,即指存儲、維護(hù)和檢索數(shù)據(jù)的各類請求。數(shù)據(jù)庫系統(tǒng)中主要有三類用戶:終端用戶、應(yīng)用程序員和數(shù)據(jù)庫管理員。(三)軟件 軟件是指負(fù)責(zé)數(shù)據(jù)庫存取、維護(hù)和管理的軟件系統(tǒng)。通常叫做數(shù)據(jù)庫管理系統(tǒng)(Data Base Management Syst

7、em,簡稱 DBMS)。數(shù)據(jù)庫系統(tǒng)各類用戶對數(shù)據(jù)庫的各種操作請求,都是由DBMS來完成的,它是數(shù)據(jù)庫系統(tǒng)的核心軟件。 (四)硬件 硬件是指存儲數(shù)據(jù)庫和運行數(shù)據(jù)庫管理系統(tǒng)DBMS(包括操作系統(tǒng))的硬件資源。 1.2.3 數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)的共享性高、冗余度低、易擴(kuò)充數(shù)據(jù)的獨立性高數(shù)據(jù)由DBMS 統(tǒng)一管理和控制1.2.4 數(shù)據(jù)庫管理系統(tǒng)的組成 DBMS大多是由許多“系統(tǒng)程序”所組成的一個集合。每個程序都有自己的功能,一個或幾個程序一起完成DBMS的一件或幾件工作。各種DBMS的組成因系統(tǒng)而異,一般說來,它由以下幾個部分組成。語言編譯處理程序 語言編譯處理程序主要包括以下程序:數(shù)據(jù)描述語

8、言翻譯程序;數(shù)據(jù)操作語言處理程序;終端命令解釋程序;數(shù)據(jù)庫控制命令解釋程序等。系統(tǒng)運行控制程序 主要包括:系統(tǒng)總控程序;存取控制程序;并發(fā)控制程序;完整性控制程序;保密性控制程序;數(shù)據(jù)存取和更新程序;通信控制程序等。系統(tǒng)建立、維護(hù)程序 主要包括:數(shù)據(jù)裝入程序;數(shù)據(jù)庫重組織程序;數(shù)據(jù)庫系統(tǒng)恢復(fù)程序;性能監(jiān)督程序等。數(shù)據(jù)字典 數(shù)據(jù)字典通常是一系列表,它存儲著數(shù)據(jù)庫中有關(guān)信息的當(dāng)前描述。它能幫助用戶、數(shù)據(jù)庫管理員和數(shù)據(jù)庫管理系統(tǒng)本身使用和管理數(shù)據(jù)庫。1.2.5數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu) 1.數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)和二級映像 1978 年美國國家標(biāo)準(zhǔn)學(xué)會(ANSI) 在一個有關(guān)數(shù)據(jù)庫標(biāo)準(zhǔn)的報告中,提出數(shù)據(jù)

9、庫系統(tǒng)的SPARC 分級結(jié)構(gòu)(Standard Planning And Requirements Committee) ,即數(shù)據(jù)庫的概念模式、外模式、內(nèi)模式三級數(shù)據(jù)模式的體系結(jié)構(gòu) 概念模式是對數(shù)據(jù)庫中數(shù)據(jù)的整體邏輯結(jié)構(gòu)和特征的描述,是對所有用戶的數(shù)據(jù)進(jìn)行綜合抽象而得到的統(tǒng)一的全局?jǐn)?shù)據(jù)視圖; 外模式是對各個用戶或程序所涉及到的數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)特征的描述,是完全按用戶自己對數(shù)據(jù)的需要、站在局部的角度進(jìn)行設(shè)計的; 內(nèi)模式是對數(shù)據(jù)的內(nèi)部表示或底層描述。 為了能夠在內(nèi)部實現(xiàn)數(shù)據(jù)庫的三個抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫管理系統(tǒng)在這三級模式之間提供了兩層映像。(1)外模式模式映像 對應(yīng)于同一個模式可以有任

10、意多個外模式。對于每一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式模式映像,它定義了該外模式與模式之間的對應(yīng)關(guān)系。 (2)模式內(nèi)模式映像 數(shù)據(jù)庫中只有一個模式,也只有一個內(nèi)模式,所以模式內(nèi)模式映像是惟一的,它定義了數(shù)據(jù)庫的全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。 2.數(shù)據(jù)庫系統(tǒng)的四級模式結(jié)構(gòu) 數(shù)據(jù)庫系統(tǒng)的四級數(shù)據(jù)模式包括元數(shù)據(jù)模式、概念模式、外模式和內(nèi)模式,即在三級模式基礎(chǔ)上加上元數(shù)據(jù)模式。數(shù)據(jù)庫系統(tǒng)的四級數(shù)據(jù)模式結(jié)構(gòu)如圖元數(shù)據(jù)模式 元數(shù)據(jù)是對數(shù)據(jù)的抽象,也稱“數(shù)據(jù)的數(shù)據(jù)”。元數(shù)據(jù)模式是對數(shù)據(jù)庫管理對象的描述,是對系統(tǒng)的數(shù)據(jù)、功能及聯(lián)系的抽象表示。根據(jù)元數(shù)據(jù)模式建立的一組基本表稱為系統(tǒng)數(shù)據(jù)字典。元數(shù)據(jù)模式

11、中包括: 數(shù)據(jù)模式的概念模式、外模式和內(nèi)模式情況;外模式/模式映像、模式/內(nèi)模式映像的情況;功能菜單以及菜單結(jié)構(gòu),系統(tǒng)功能/方法模型的映像;功能和方法中元數(shù)據(jù)模式/外模式映像。數(shù)據(jù)映像技術(shù) 數(shù)據(jù)庫系統(tǒng)的四級模式體系中包括四種數(shù)據(jù)映像,除了包括三級模式中有的外模式/模式映像和模式/內(nèi)模式映像,還包括以下兩種映像:元數(shù)據(jù)模式/外模式的映像,定義元數(shù)據(jù)模式與外模式之間的對應(yīng)關(guān)系;系統(tǒng)功能/方法模型的映像,定義系統(tǒng)功能與方法模型的對應(yīng)關(guān)系。1.2.6常見的數(shù)據(jù)庫管理系統(tǒng) 目前有許多數(shù)據(jù)庫產(chǎn)品,如Oracle、Sybase、Informix、Microsoft SQL Server、Microsoft

12、Access、Visual FoxPro等產(chǎn)品各以自己特有的功能,在數(shù)據(jù)庫市場上占有一席之地。下面簡要介紹幾種常用的數(shù)據(jù)庫管理系統(tǒng)。 Oracle是一個最早商品化的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),也是應(yīng)用廣泛、功能強(qiáng)大的數(shù)據(jù)庫管理系統(tǒng)。Oracle作為一個通用的數(shù)據(jù)庫管理系統(tǒng),不僅具有完整的數(shù)據(jù)管理功能,還是一個分布式數(shù)據(jù)庫系統(tǒng),支持各種分布式功能,特別是支持Internet應(yīng)用。作為一個應(yīng)用開發(fā)環(huán)境,Oracle提供了一套界面友好、功能齊全的數(shù)據(jù)庫開發(fā)工具。Oracle使用PL/SQL語言執(zhí)行各種操作,具有可開放性、可移植性、可伸縮性等功能。特別是在Oracle 8i中,支持面向?qū)ο蟮墓δ?,如支持類?/p>

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

14、管理系統(tǒng)。使用Microsoft Access無需編寫任何代碼,只需通過直觀的可視化操作就可以完成大部分?jǐn)?shù)據(jù)管理任務(wù)。 在Microsoft Access數(shù)據(jù)庫中,包括許多組成數(shù)據(jù)庫的基本要素。這些要素是存儲信息的表、顯示人機(jī)交互界面的窗體、有效檢索數(shù)據(jù)的查詢、信息輸出載體的報表、提高應(yīng)用效率的宏、功能強(qiáng)大的模塊工具等。它不僅可以通過ODBC與其它數(shù)據(jù)庫相連,實現(xiàn)數(shù)據(jù)交換和共享,還可以與Word、Excel等辦公軟件進(jìn)行數(shù)據(jù)交換和共享,并且通過對象鏈接與嵌入技術(shù)在數(shù)據(jù)庫中嵌入和鏈接聲音、圖像等多媒體數(shù)據(jù)。 1.3關(guān)系數(shù)據(jù)庫及其設(shè)計1.3.1數(shù)據(jù)模型 數(shù)據(jù)模型是描述數(shù)據(jù)、數(shù)據(jù)之間聯(lián)系的結(jié)構(gòu)模式。

15、數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)中用于提供信息表示和操作手段的形式構(gòu)架。不同的數(shù)據(jù)模型提供了模型化數(shù)據(jù)和信息的不同工具,根據(jù)模型應(yīng)用的不同目的,可以將模型分為兩類或兩個層次,一是概念模型(也稱信息模型),一是數(shù)據(jù)模型(層次模型、網(wǎng)狀模型和關(guān)系模型)。前者是按用戶的觀點來對數(shù)據(jù)和信息建模,后者是按計算機(jī)系統(tǒng)的觀點對數(shù)據(jù)建模。一、概念模型 概念模型是對客觀事物及其聯(lián)系的抽象,用于信息世界的建模,它強(qiáng)調(diào)其語義表達(dá)能力,以及能夠較方便、直接地表達(dá)應(yīng)用中各種語義知識。這類模型概念簡單。清晰、易于被用戶理解,是用戶和數(shù)據(jù)庫設(shè)計人員之間進(jìn)行交流的語言。這種信息結(jié)構(gòu)并不依賴于具體的計算機(jī)系統(tǒng),不是某一個DBMS支持的數(shù)據(jù)

16、模型,而是概念級的模型,然后再把概念模型轉(zhuǎn)換為計算機(jī)上某一種DBMS支持的數(shù)據(jù)模型。概念模型的概念主要如下:(1) 實體 客觀上存在且可區(qū)分的事物稱為實體。實體可以是人,也可以是物;可以指實際的對象,也可以指某些概念;可以指事物與事物間的聯(lián)系。如學(xué)生是一個實體。(2) 屬性 實體所具有的某一方面的特性。一個實體可以由若干個屬性來刻畫。如公司員工有員工編號、姓名、年齡、性別等屬性組成。如學(xué)生實體有學(xué)號、姓名和性別等屬性。(3) 關(guān)鍵字 實體的某一屬性或?qū)傩越M合,其取用的值能惟一標(biāo)識出某一實體,稱為關(guān)鍵宇,也稱碼。如學(xué)號是學(xué)生實體集的關(guān)鍵字,由于姓名有相同的可能,故不應(yīng)作為關(guān)鍵字。(4) 域 域是

17、某(些)屬性的取值范圍。如姓名的域為字符串集合,性別的域為男、女等。(5) 實體型 具有相同屬性的實體必須具有共同的特性。用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。例如,學(xué)生(學(xué)號,姓名,性別,班號)就是一個實體型。(6) 實體集 同型實體的集合稱為實體集。如全體學(xué)生就是一個實體集。(7) 聯(lián)系 現(xiàn)實世界的事物之間總是存在某種聯(lián)系的,這種聯(lián)系必然要在信息世界中加以反映。一般存在兩類聯(lián)系:一是實體內(nèi)部的聯(lián)系,如組成實體的屬性之間的聯(lián)系,二是實體之間的聯(lián)系。兩個實體之間的聯(lián)系又可分為如下三類:一對一聯(lián)系(1:1) 例如,一個部門有一個經(jīng)理,而每個經(jīng)理只在一個部門任職。這樣部門和經(jīng)理之

18、間就具有一對一聯(lián)系。一對多聯(lián)系(1:n) 例如,一個部門有多個職工,這樣部門和職工之間存在著一對多的聯(lián)系。多對多聯(lián)系(m:n) 例如,學(xué)校中的課程與學(xué)生之間就存在著多對多的聯(lián)系。每個課程可以供多個學(xué)生選修,而每個學(xué)生又都會選修多種課程。這種關(guān)系可以有很多種處理的辦法。 概念模型的表示方法很多,其中最著名的E-R方法(實體聯(lián)系方法),它用E-R圖來描述現(xiàn)實世界的概念模型。E-R圖的主要成分是實體、聯(lián)系和屬性。E-R圖通用的表現(xiàn)方式如下: 用長方形表示實體型,在框內(nèi)寫上實體名。 用橢圓形表示實體的屬性,并用無向邊把實體與屬性連接起來。 用菱形表示實體間的聯(lián)系,菱形框內(nèi)寫上聯(lián)系名。用無向邊分別把菱形

19、與有關(guān)實體相連接,在無向邊旁標(biāo)上聯(lián)系的類型。如果實體之間的聯(lián)系也具有屬性,則把屬性和菱形也用無向邊連接上?!纠?.1】畫出如下百貨公司的E-R圖。 某百貨公司管轄若干連鎖商店,每家商店經(jīng)營若干商品,每家商店有若干職工,但每個職工只能服務(wù)于一家商店。“商店” 實體型的屬性有:店號、店名、店址、店經(jīng)理。 “商品” 實體型的屬性有:商品號、品名、單價、產(chǎn)地?!奥毠ぁ?實體型的屬性有:工號、姓名、性別、工資。在聯(lián)系中應(yīng)反映出職工參加某商店工作的開始時間,商店銷售商品的月銷售量。 該E-R圖如下圖所示職 工商 品商 店經(jīng)營隸屬n1m店經(jīng)理開始時間工號姓名性別工資店名月銷售量店址商品號店號品名單價產(chǎn)地m二

20、、常用的數(shù)據(jù)模型 數(shù)據(jù)庫中的數(shù)據(jù)是結(jié)構(gòu)化的,這是按某種數(shù)據(jù)模型來組織數(shù)據(jù)的。當(dāng)前流行的基本數(shù)據(jù)模型有三類:關(guān)系模型層次模型網(wǎng)狀模型 它們之間的根本區(qū)別在于數(shù)據(jù)之間聯(lián)系的表示方式不同。關(guān)系模型是用“二維表”(或稱為關(guān)系)來表示數(shù)據(jù)之間的聯(lián)系;層次模型是用“樹結(jié)構(gòu)”來表示數(shù)據(jù)之間的聯(lián)系;網(wǎng)狀模型是用“圖結(jié)構(gòu)”來表示數(shù)據(jù)之間的聯(lián)系。 層次模型和網(wǎng)狀模型是早期的數(shù)據(jù)模型。通常把他們通稱為格式化數(shù)據(jù)模型,因為它們是屬于以“圖論”為基礎(chǔ)的表示方法。 分別按照三類數(shù)據(jù)模型設(shè)計和實現(xiàn)的DBMS可分別稱為關(guān)系DBMS、層次DBMS和網(wǎng)狀DBMS。相應(yīng)地存在有關(guān)系(數(shù)據(jù)庫)系統(tǒng)、層次(數(shù)據(jù)庫)系統(tǒng)和網(wǎng)狀(數(shù)據(jù)庫)

21、系統(tǒng)等簡稱。下面將三種數(shù)據(jù)模型作一個簡單介紹。1關(guān)系模型(Relational Model) 關(guān)系模型是用二維表格結(jié)構(gòu)來表示實體以及實體之間聯(lián)系的數(shù)據(jù)模型。如表1-1所示,關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是一個“二維表框架”組成的集合,每個二維表又可稱為關(guān)系,因此可以說,關(guān)系模型是“關(guān)系框架”組成的集合。目前大多數(shù)數(shù)據(jù)庫管理系統(tǒng)都是關(guān)系型的,如SQL Server2005就是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng)。2層次模型(Hierarchical Model) 層次數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)最早使用的一種模型,它的數(shù)據(jù)結(jié)構(gòu)是一棵“有向樹”。層次模型的特征如下:有且僅有一個結(jié)點沒有雙親,它就是根結(jié)點。其他結(jié)點有且僅有一個雙親。

22、 在層次模型中。每個結(jié)點描述一個實體型,稱為記錄類型。一個記錄類型可有許多記錄值,簡稱記錄。結(jié)點間的有向邊表示記錄間的聯(lián)系。如果要存取某一記錄類型的記錄,可以從根結(jié)點起,按照有向樹層次逐層向下查找。查找路徑就是存取路徑。 3網(wǎng)狀模型(Network Model) 如果取消層次模型的兩個限制,即兩個或兩個以上的結(jié)點都可以有多個雙親結(jié)點,則“有向樹”就變成了“有向圖”?!坝邢驁D”結(jié)構(gòu)描述了網(wǎng)狀模型。網(wǎng)狀模型的特征如下:可有一個以上的結(jié)點沒有雙親。至少有一個結(jié)點可以有多于一個雙親。1.3.2關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及特點關(guān)系模型有如下優(yōu)點:1.數(shù)據(jù)結(jié)構(gòu)簡單2.查詢與處理方便 3.數(shù)據(jù)獨立性很高 4.堅實的

23、理論基礎(chǔ) 關(guān)系模型也存在的不足的地方: 1查詢效率低 2關(guān)系DBMS實現(xiàn)較困難 1.3.3關(guān)系數(shù)據(jù)庫一、基本術(shù)語關(guān)系數(shù)據(jù)庫是基于關(guān)系模型的。有關(guān)的一些基本術(shù)語如下。關(guān)系:一個關(guān)系就是一張二維表,每個關(guān)系有一個關(guān)系名。元組:表中的一行即為一個元組,對應(yīng)存儲文件中的一個記錄值。屬性:表中的列稱為屬性,每一列有一個屬性名。屬性值相當(dāng)于記錄中的數(shù)據(jù)項或者字段值。域:屬性的取值范圍,即不同元組對同一個屬性的值所限定的范圍。例如,邏輯型屬性只能從邏輯真(如.T.)或邏輯假(如.F.)兩個值中取值。關(guān)系模式:對關(guān)系的描述稱為關(guān)系模式,格式為: 關(guān)系名(屬性名1,屬性名2,屬性名n)一個關(guān)系模式對應(yīng)一個關(guān)系文

24、件的結(jié)構(gòu)。例如: R(S#,SNAME,SEX,BIRTHDAY,CLASS)候選關(guān)鍵字:屬性或?qū)傩越M合,其值能夠惟一地標(biāo)識一個元組。主關(guān)鍵字:在一個關(guān)系中可能有多個候選關(guān)鍵字,從中選擇一個作為主關(guān)鍵字。主屬性:包含在任何候選關(guān)鍵字中諸屬性稱為主屬性,不包含在任何候選關(guān)鍵字中諸屬性稱為非關(guān)鍵字屬性。外關(guān)鍵字:如果一個關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它們是另外一個關(guān)系的關(guān)鍵字,則稱其為該關(guān)系的外關(guān)鍵字。全關(guān)鍵字:關(guān)系模型的所有屬性組是這個關(guān)系模式的候選關(guān)鍵字,稱為全關(guān)鍵字。關(guān)系模型的特征是:描述的一致性,不僅用關(guān)系描述實體本身,而且也用關(guān)系描述實體之間的聯(lián)系??芍苯颖硎径鄬Χ嗟穆?lián)系。關(guān)

25、系必須是規(guī)范化的關(guān)系,即每個屬性是不可分的數(shù)據(jù)項,不許表中有表。關(guān)系模型是建立在數(shù)學(xué)概念基礎(chǔ)上的,有較強(qiáng)的理論根據(jù)。二、關(guān)系運算從一個關(guān)系中找出所需要的數(shù)據(jù),就要使用關(guān)系關(guān)系運算。關(guān)系運算包括選擇、投影和聯(lián)接等。(1)選擇 從一個關(guān)系中選出滿足給定條件的記錄的操作稱為選擇或篩選。選擇是從行的角度進(jìn)行的運算,選出滿足條件的那些記錄構(gòu)成原關(guān)系的一個子集。(2)投影 從一個關(guān)系中選出若干指定字段的值的操作稱為投影。投影是從列的角度進(jìn)行的運算,所得到的字段個數(shù)通常比原關(guān)系少,或者字段的排列順序不同。(3)聯(lián)接 聯(lián)接是把兩個關(guān)系中的記錄按一定的條件橫向結(jié)合,生成一個新的關(guān)系。最常用的聯(lián)接運算是自然聯(lián)接,

26、它是利用兩個關(guān)系中共有的字段,把該字段值相等的記錄聯(lián)接起來。 系統(tǒng)在執(zhí)行聯(lián)接運算時,要進(jìn)行大量的比較操作。不同關(guān)系中的公共字段或具有相同語義的字段是實現(xiàn)聯(lián)接運算的“紐帶”。 需要明確的是:聯(lián)接和投影屬于單目運算,它們的操作對象只是一個關(guān)系。聯(lián)接則為雙目運算,其操作對象是兩個關(guān)系。三、規(guī)范化設(shè)計理念和方法 為了使數(shù)據(jù)庫設(shè)計的方法趨向完備,人們研究了規(guī)范化理論。目前規(guī)范化理論的研究已經(jīng)有了很大的進(jìn)展。下面簡單介紹一下規(guī)范化設(shè)計方法。 首先,滿足一定條件的關(guān)系模式,稱為范式(Normal Form,簡寫為NF)。在 1271年至1972年,關(guān)系數(shù)據(jù)模型的創(chuàng)始人E.F.Codd系統(tǒng)地提出了第一范式(1

27、NF)、第二范式(2NF)和第三范式(3NF)的概念。1974年Codd和Boyce共同提出了BCNF范式,為第三范式的改進(jìn)。一個低級范式的關(guān)系模式,通過分解(投影)方法可轉(zhuǎn)換成多個高一級范式的關(guān)系模式的集合,這種過程稱為規(guī)范化。1.第一范式(1NF) 如果一個關(guān)系模式,它的每一個分量是不可分的數(shù)據(jù)項,即其域為簡單域,則此關(guān)系模式為第一范式。 第一范式是最低的規(guī)范化要求,第一范式要求數(shù)據(jù)表不能存在重復(fù)的記錄,即存在一個關(guān)鍵字。1NF的第二個要求是每個字段都不可再分,即已經(jīng)分到最小,關(guān)系數(shù)據(jù)庫的定義就決定了數(shù)據(jù)庫滿足這一條。主關(guān)鍵字達(dá)到下面幾個條件:主關(guān)鍵字段在表中是惟一的。主關(guān)鍵字段不能存在空

28、值。每條記錄都必須有一個主關(guān)鍵字。主關(guān)鍵字是關(guān)鍵字的最小子集。 滿足1NF的關(guān)系模式有許多不必要的重復(fù)值,并且增加了修改其數(shù)據(jù)時疏漏的可能性。為了避免這種數(shù)據(jù)冗余和更新數(shù)據(jù)的遺漏,就引出了第二范式。2.第二范式(2NF) 如果一個關(guān)系屬于1NF,且所有的非主關(guān)鍵字段都完全地依賴于主關(guān)鍵字,則稱之為第二范式,簡記為2NF。 為了說明問題現(xiàn)舉一個例子來說明:有一個庫房存儲的庫有4個字段(零件號、倉庫號、零件數(shù)量、倉庫地址),這個庫符合1NF,其中“零件號”和“倉庫號”構(gòu)成主關(guān)鍵字。但是因為“倉庫地址”只完全依賴于“倉庫號”,即只依賴于主關(guān)鍵字的一部分,所以它不符合2NF。 這樣首先存在數(shù)據(jù)冗余,因

29、為倉庫數(shù)量可能不多。其次,存在如果更改倉庫地址時,如果漏改了某一記錄,存在數(shù)據(jù)不一致性。再次,如果某個倉庫的零件出庫完了,那么這個倉庫地址就丟失了,即這種關(guān)系不允許存在某個倉庫中不放零件的情況。我們可以用投影分解的方法消除部分依賴的情況,從而使關(guān)系達(dá)到2NF的標(biāo)準(zhǔn)。方法就是從關(guān)系中分解出新的二維表,使得每個二維表中所有的非關(guān)鍵字都完全依賴于各自的主關(guān)鍵字。我們可以如下分解:分解成兩個表(零件號、倉庫號、零件數(shù)量)和(倉庫號、倉庫地址)。這樣就完全符合2NF了。3.第三范式(3NF) 如果一個關(guān)系屬于2NF,且每個非關(guān)鍵字不傳遞依賴于主關(guān)鍵字,這種關(guān)系就是3NF。 簡而言之,從2NF中消除傳遞依

30、賴,就是3NF。比如有一個表(姓名、工資等級、工資額),其中姓名是關(guān)鍵字,此關(guān)系符合2NF,但是因為工資等級決定工資額,這就叫傳遞依賴,它不符合3NF。我們同樣可以使用投影分解的辦法分解成兩個表:即姓名,工資等級和工資等級,工資額。 上面提到了投影分解的方法,關(guān)系模式的規(guī)范化過程是通過投影分解來實現(xiàn)的。這種把低一級關(guān)系模式分解成若干個高一級關(guān)系模式的投影分解方法不是惟一的,應(yīng)該在分解中注意滿足3個條件:無損聯(lián)接分解,分解后不丟失信息。分解后得的每一關(guān)系都是高一級范式,不要同級甚至低級分解。分解的個數(shù)最少,這是完美要求,應(yīng)做到盡量少。 一般情況,規(guī)范化到3NF就滿足需要了,規(guī)范化程度更高的還有B

31、CNF、4NF、5NF,因為不經(jīng)常用到,這里就不作解釋和討論了。1.4 數(shù)據(jù)庫的設(shè)計流程 數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求。 數(shù)據(jù)庫設(shè)計分為六個階段:需求分析 準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)。概念結(jié)構(gòu)設(shè)計 對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。邏輯結(jié)構(gòu)設(shè)計 將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型,并對其進(jìn)行優(yōu)化。物理結(jié)構(gòu)設(shè)計 為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)。數(shù)據(jù)庫實施 建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)

32、入庫,并進(jìn)行試運行。數(shù)據(jù)庫運行和維護(hù) 對數(shù)據(jù)庫系統(tǒng)進(jìn)行評價、調(diào)整與修改。1.4.1 需求分析 需求分析是整個數(shù)據(jù)庫設(shè)計過程中最重要步驟之一,是后繼各階段的基礎(chǔ)。在需求分析階段,從多方面對整個組織進(jìn)行調(diào)查,收集和分析各項應(yīng)用對信息和處理兩方面的需求。(1) 收集資料 收集資料是數(shù)據(jù)庫設(shè)計人員和用戶共同完成的任務(wù)。確定企業(yè)組織的目標(biāo),從這些目標(biāo)導(dǎo)出對數(shù)據(jù)庫的總體要求。通過調(diào)研,確定由計算機(jī)完成的功能。(2) 分析整理 分析的過程是對所收集到的數(shù)據(jù)進(jìn)行抽象的過程,產(chǎn)生求解的模型。(3) 數(shù)據(jù)流圖 采用數(shù)據(jù)流圖來描述系統(tǒng)的功能。數(shù)據(jù)流圖可以形象地描述事務(wù)處理與所需數(shù)據(jù)的關(guān)聯(lián),便于用結(jié)構(gòu)化系統(tǒng)方法,自頂

33、向下,逐層分解,步步細(xì)化。(4) 數(shù)據(jù)字典 對數(shù)據(jù)流圖中的數(shù)據(jù)流和加工等進(jìn)一步定義,從而完整地反映系統(tǒng)需求。(5) 用戶確認(rèn) 需求分析得到的數(shù)據(jù)流圖和數(shù)據(jù)字典要返回給用戶,通過反復(fù)完善,最終取得用戶的認(rèn)可。1.4.2概念結(jié)構(gòu)設(shè)計 概念設(shè)計階段的目標(biāo)是產(chǎn)生整體數(shù)據(jù)庫概念結(jié)構(gòu),即概念模式。概念模式是整個組織各個用戶關(guān)心的信息結(jié)構(gòu)。描述概念結(jié)構(gòu)的有力工具是E-R圖。 有關(guān)E-R圖的描述參見1.3.1小節(jié)。1.4.3 邏輯結(jié)構(gòu)設(shè)計 邏輯設(shè)計就是把上述概念模型轉(zhuǎn)換成為某個具體的數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型。 1.E-R圖型向關(guān)系模型的轉(zhuǎn)換轉(zhuǎn)換原則如下:(1) 每一個實體型轉(zhuǎn)換為一個關(guān)系模式,實體的屬性

34、就是關(guān)系的屬性,實體的關(guān)鍵字就是關(guān)系的關(guān)鍵字。(2) 聯(lián)系的轉(zhuǎn)換 聯(lián)系轉(zhuǎn)換的原則如下: 一般1:1和1:m聯(lián)系不產(chǎn)生新的關(guān)系模式,而是將一方實體的關(guān)鍵字加入到多方實體對應(yīng)的關(guān)系模式中,聯(lián)系的屬性也一并加入。 m:n聯(lián)系要產(chǎn)生一個新的關(guān)系模式,該關(guān)系模式由聯(lián)系涉及實體的關(guān)鍵字加上聯(lián)系的屬性(若有)組成?!纠?.2】將例1.1生成的E-R圖轉(zhuǎn)換為關(guān)系模式。轉(zhuǎn)換的關(guān)系模式如下:職工(工號,姓名,性別,工資,店號,開始時間)商店(店號,店名,店址,店經(jīng)理)商品(商品號,品名,單價,產(chǎn)地)經(jīng)營(店號,商品號,月銷售量)2.關(guān)系模型的優(yōu)化 應(yīng)用關(guān)系規(guī)范化理論對上述產(chǎn)生的關(guān)系模式進(jìn)行優(yōu)化,具體步驟如下:(1

35、) 確定每個關(guān)系模式內(nèi)部各個屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間的數(shù)據(jù)依賴。(2) 對各個關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行最小化處理,消除冗余的聯(lián)系。(3) 確定各關(guān)系模式的范式等級。(4) 按照需求分析階段得到的處理要求,確定要對哪些模式進(jìn)行合并或分解。(5) 為了提高數(shù)據(jù)操作的效率和存儲空間的利用率,對上述產(chǎn)生的關(guān)系模式進(jìn)行適當(dāng)?shù)匦薷?、調(diào)整和重構(gòu)。3.設(shè)計用戶子模式 全局關(guān)系模型設(shè)計完成后,還應(yīng)根據(jù)局部應(yīng)用的需求,結(jié)合具體DBMS的特點,設(shè)計用戶的子模式。子模式設(shè)計時應(yīng)注意考慮用戶的習(xí)慣和方便,主要包括: 使用更符合用戶習(xí)慣的別名。 可以為不同級別的用戶定義不同的視圖,以保證系統(tǒng)的安全性。

36、 可將經(jīng)常使用的復(fù)雜的查詢定義為視圖,簡化用戶對系統(tǒng)的使用。1.4.4 物理結(jié)構(gòu)設(shè)計 數(shù)據(jù)庫的物理設(shè)計是指對一個給定的邏輯數(shù)據(jù)庫模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程。物理設(shè)計通常分為兩步: 1.確定數(shù)據(jù)庫的物理結(jié)構(gòu)(1) 確定數(shù)據(jù)的存取方法確定數(shù)據(jù)的存取方法包括以下兩種選擇。 索引方法的選擇。 聚簇方法的選擇。(2) 確定數(shù)據(jù)的存儲結(jié)構(gòu)確定數(shù)據(jù)的存儲結(jié)構(gòu)包括以下兩項內(nèi)容。 確定數(shù)據(jù)的存放位置。 確定系統(tǒng)配置。2.對物理結(jié)構(gòu)進(jìn)行評價 對時間效率、空間效率、維護(hù)開銷和各種用戶要求進(jìn)行權(quán)衡,從多種設(shè)計方案中選擇一個較優(yōu)的方案。1.4.5 數(shù)據(jù)庫的實施實施階段的工作主要有:建立數(shù)據(jù)庫結(jié)構(gòu)數(shù)據(jù)載入

37、應(yīng)用程序的編關(guān)鍵字和調(diào)試數(shù)據(jù)庫試運行1.4.6 數(shù)據(jù)庫的運行和維護(hù) 數(shù)據(jù)庫系統(tǒng)投入正式運行后,對數(shù)據(jù)庫經(jīng)常性的維護(hù)工作主要由DBA完成,主要包括如下工作:數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù)數(shù)據(jù)庫的安全性、完整性控制數(shù)據(jù)庫性能的監(jiān)督、分析和改造數(shù)據(jù)庫的重組織與重構(gòu)造1.5 SQL Server2005概述“Microsoft SQL Server 2005 是用于大規(guī)模聯(lián)機(jī)事務(wù)處理(OLTP)、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用的數(shù)據(jù)庫和數(shù)據(jù)分析平臺?!币陨线@句話是微軟對SQL Server 2005的定義,從這句話可以看出,SQL Server 2005是一個數(shù)據(jù)平臺,是一個全面的、集成的、端到端的數(shù)據(jù)解決方案。它能為用戶提供一個安全可靠并且高效的平臺用于企業(yè)數(shù)據(jù)和人工智能。 1.5.1 SQL Server 2005數(shù)據(jù)平臺 SQL Server 2005為它的使用者提供了強(qiáng)大的、界面友好的工具,同時降低了從移動設(shè)備到企業(yè)數(shù)據(jù)系統(tǒng)的多平臺上

溫馨提示

  • 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

提交評論