




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第二章第二章 數(shù)據(jù)庫技術數(shù)據(jù)庫技術v 數(shù)據(jù)庫基礎數(shù)據(jù)庫基礎v 數(shù)據(jù)模型數(shù)據(jù)模型v 數(shù)據(jù)庫設計數(shù)據(jù)庫設計v 數(shù)據(jù)庫保護數(shù)據(jù)庫保護v SQL語言語言v 第一節(jié)第一節(jié) 數(shù)據(jù)庫基礎數(shù)據(jù)庫基礎一、數(shù)據(jù)庫基本概念一、數(shù)據(jù)庫基本概念二、數(shù)據(jù)管理方法的發(fā)展二、數(shù)據(jù)管理方法的發(fā)展三、數(shù)據(jù)庫系統(tǒng)結構三、數(shù)據(jù)庫系統(tǒng)結構一、數(shù)據(jù)庫基本概念1、數(shù)據(jù)庫(DB 即Database) 數(shù)據(jù)庫是長期存儲在計算機內、有組織的、統(tǒng)一管理的、能為多個用戶共享的、與應用程序彼此獨立的相關數(shù)據(jù)的集合。數(shù)據(jù)庫的特點:數(shù)據(jù)的共享性數(shù)據(jù)的獨立性數(shù)據(jù)的完整性數(shù)據(jù)庫中的數(shù)據(jù)冗余少例如:一個學校的全體學生信息可作為一個數(shù)據(jù)庫2、數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)
2、庫管理系統(tǒng)(Database Management System,DBMS)是用于管理數(shù)據(jù)庫的計算機軟件,在操作系統(tǒng)支持下工作,其職能是建立、維護數(shù)據(jù)庫,接受和處理用戶程序或命令訪問數(shù)據(jù)庫的各種請求。其功能可概括為三方面: 數(shù)據(jù)庫的定義和建立 數(shù)據(jù)庫的操縱 數(shù)據(jù)庫的運行控制(完整性、安全性、并發(fā)控制)常用的數(shù)據(jù)庫管理系統(tǒng)有Oracle、SQL Server、FoxPro、Access等。3、數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(Database System,DBS)是引進數(shù)據(jù)庫技術后的計算機系統(tǒng),通常由以下部分組成: 硬件 軟件:操作系統(tǒng)、高級程序語言、應用開發(fā)工具軟件、DBMS、應用系統(tǒng)、數(shù)據(jù)庫。 數(shù)據(jù)庫
3、管理員 用戶二、數(shù)據(jù)管理方法的發(fā)展數(shù)據(jù)管理技術發(fā)展經(jīng)歷了三個階段:人工管理、文件系統(tǒng)和數(shù)據(jù)庫數(shù)據(jù)管理技術發(fā)展經(jīng)歷了三個階段:人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)階段。系統(tǒng)階段。1人工管理階段(人工管理階段(20世紀世紀50年代中期以前)年代中期以前)早期的數(shù)據(jù)處理都是通過手工進行的,因為當時的計算機主要用于早期的數(shù)據(jù)處理都是通過手工進行的,因為當時的計算機主要用于科學計算。計算機上沒有專門管理數(shù)據(jù)的軟件,也沒有磁盤之類科學計算。計算機上沒有專門管理數(shù)據(jù)的軟件,也沒有磁盤之類的設備來存儲數(shù)據(jù)。應用程序和數(shù)據(jù)之間的關系如圖的設備來存儲數(shù)據(jù)。應用程序和數(shù)據(jù)之間的關系如圖 1-1 所示。所示。 人工管理階段
4、數(shù)據(jù)處理具有以下幾個特點:人工管理階段數(shù)據(jù)處理具有以下幾個特點: 數(shù)據(jù)量較少。數(shù)據(jù)量較少。 數(shù)據(jù)不保存。數(shù)據(jù)不保存。 沒有軟件系統(tǒng)對數(shù)據(jù)進行管理。沒有軟件系統(tǒng)對數(shù)據(jù)進行管理。數(shù)據(jù)不共享。數(shù)據(jù)不共享。數(shù)據(jù)不具有獨立性。數(shù)據(jù)不具有獨立性。用戶用戶 1 應用程序應用程序 1 應用程序應用程序 2 應用程序應用程序 3用戶用戶 2 應用程序應用程序 n用戶用戶 m用戶用戶 3 3 應用程序應用程序 4 數(shù)據(jù)組數(shù)據(jù)組 1 數(shù)據(jù)組數(shù)據(jù)組 2 2 數(shù)據(jù)組數(shù)據(jù)組 3 數(shù)據(jù)組數(shù)據(jù)組 4 數(shù)據(jù)組數(shù)據(jù)組 n n圖1-1 應用程序和數(shù)據(jù)之間的關系2文件系統(tǒng)階段文件系統(tǒng)階段20 世紀50年代中期以后, 計算機硬件方面已
5、有了磁盤、磁鼓等直接存取存儲的設備;軟件方面,操作系統(tǒng)中已有了專門的數(shù)據(jù)管理軟件,即文件系統(tǒng);處理方式上不僅有了批處理,而且能夠聯(lián)機實時處理。文件系統(tǒng)對數(shù)據(jù)的管理,實際上是通過應用程序和數(shù)據(jù)之間的一種接口實現(xiàn)的,如圖 1- 2所示。數(shù)據(jù)文件 1數(shù)據(jù)文件 2數(shù)據(jù)文件 3數(shù)據(jù)文件 n用戶 1應用程序 1應用程序 2應用程序 3用戶 2應用程序 n用戶 mOS用戶 3應用程序 4數(shù)據(jù)文件 4圖1-2 應用程序與文件的關系 文件系統(tǒng)具有如下特點: 由于有了存儲設備,數(shù)據(jù)可以保存在外存上反復處理。 由于有了專用的軟件對數(shù)據(jù)進行管理,程序和數(shù)據(jù)之間就有了一定的獨立性,數(shù)據(jù)和程序都以獨立的文件形式存放。 文
6、件組織形式的多樣化,有數(shù)據(jù)文件、索引文件、鏈接文件等。 文件系統(tǒng)具有如下缺點:文件系統(tǒng)具有如下缺點: 數(shù)據(jù)冗余度大數(shù)據(jù)冗余度大:文件與應用程序密切相關。相同的數(shù)據(jù)集合在不同的應用程序中使用時,經(jīng)常需要重復定義、重復存儲。 數(shù)據(jù)不一致性數(shù)據(jù)不一致性:由于相同數(shù)據(jù)的重復存儲,單獨管理,給數(shù)據(jù)的修改和維護帶來難度,容易造成數(shù)據(jù)的不一致。 數(shù)據(jù)聯(lián)系弱數(shù)據(jù)聯(lián)系弱:文件系統(tǒng)中數(shù)據(jù)組織成記錄,記錄由字段組成,記錄內部有了一定的結構。但是文件之間是孤立的,從整體上看沒有反映現(xiàn)實世界事務之間的內在聯(lián)系,因此很難對數(shù)據(jù)進行合理的組織以適應不同應用的需要。 數(shù)據(jù)獨立性差數(shù)據(jù)獨立性差:文件系統(tǒng)中的文件是為某一特定應用
7、服務的,文件的邏輯結構對該應用程序來說是優(yōu)化的,想對現(xiàn)有的數(shù)據(jù)再增加一些新的應用會很困難,系統(tǒng)不易擴充。一旦數(shù)據(jù)的邏輯結構改變,必須修改應用程序,修改文件結構的定義,因此數(shù)據(jù)與程序之間仍缺乏獨立性。 3數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段 從20世紀60年代后期以來,計算機用于管理的規(guī)模更為龐大,數(shù)據(jù)量急劇增長,多種語言對數(shù)據(jù)的共享要求越來越強,實時處理要求也更多,這就需要有更好的數(shù)據(jù)管理手段,加上這個時期已有了大容量的磁盤,而且計算機硬件價格下降,為數(shù)據(jù)庫系統(tǒng)的出現(xiàn)提供了可能性。數(shù)據(jù)庫系統(tǒng)階段的特點如下:(1)數(shù)據(jù)結構化。即采用復雜的數(shù)據(jù)模型表示數(shù)據(jù)結構。數(shù)據(jù)模型不僅描述數(shù)據(jù)本身的特點,還描述數(shù)據(jù)之
8、間的聯(lián)系。數(shù)據(jù)不再面向某個應用,而是面向整個應用系統(tǒng)。(2)數(shù)據(jù)共享性高、冗余度小、易擴充。數(shù)據(jù)冗余明顯減少,實現(xiàn)數(shù)據(jù)共享。(3)有較高的數(shù)據(jù)獨立性。(4)數(shù)據(jù)由DBMS統(tǒng)一管理和控制。可以對數(shù)據(jù)進行安全性、完整性和并發(fā)行控制。 該階段應用程序與數(shù)據(jù)庫之間的對應關系如圖1-3所示。用戶 1應用程序 1應用程序 2應用程序 3用戶 2應用程序 n用戶 mDBMS數(shù)據(jù)庫用戶 3應用程序 4圖1-3 應用程序與數(shù)據(jù)庫的關系三、數(shù)據(jù)庫系統(tǒng)結構數(shù)據(jù)庫系統(tǒng)結構 從數(shù)據(jù)庫管理系統(tǒng)角度看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結構。這是數(shù)據(jù)庫管理系統(tǒng)內部的系統(tǒng)結構。 從數(shù)據(jù)庫最終用戶角度看,數(shù)據(jù)庫系統(tǒng)的結構分為單用戶結構
9、、主從式結構、分布式結構、客戶服務器結構、瀏覽器服務器結構。這是數(shù)據(jù)庫系統(tǒng)外部的體系結構。(一)數(shù)據(jù)庫系統(tǒng)的模式結構 數(shù)據(jù)庫系統(tǒng)是一個由外模式、模式和內模式組成的多級系統(tǒng)結構。這就是有名的SPARE分級結構。三級結構對數(shù)據(jù)庫的組織從內到外分三個層次描述,分別稱為內模式、模式和外模式。1、模式 模式也稱概念模式或邏輯模式(模式也稱概念模式或邏輯模式(Schema) 是數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結構和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。它是數(shù)據(jù)庫系統(tǒng)模式結構的中間層,既不涉及數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境,也與具體的應用程序和開發(fā)工具無關。一個數(shù)據(jù)庫只有一個模式。2 2、外模式、外模式 外模式也稱用戶
10、模式或子模式(外模式也稱用戶模式或子模式(External External Schema)Schema),它是數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結構和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)的邏輯表示。 外模式是保證數(shù)據(jù)庫安全性的一個有力措施。每個用戶只能看見和訪問所對應的外模式中的數(shù)據(jù),數(shù)據(jù)中的其余數(shù)據(jù)是不可見的。 有了外模式后,程序員不必關心概念模式,只與外模式發(fā)生聯(lián)系,按外模式的結構存儲和操縱數(shù)據(jù)。3 3、內模式、內模式 內模式也稱存儲模式內模式也稱存儲模式 (Internal Schema)(Internal Schema),是數(shù)據(jù)
11、物理結構和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內部的表示方式。定義所有的內部記錄類型、索引和文件的組織方式,以及數(shù)據(jù)控制方面的細節(jié)。 模式是內模式的邏輯表示;內模式是模式的物理實現(xiàn);外模式則是模式的部分抽取。三個模式反映了對數(shù)據(jù)庫的三種不同觀點:模式表示了概念級數(shù)據(jù)庫,體現(xiàn)了對數(shù)據(jù)庫的總體觀;內模式表示了物理級數(shù)據(jù)庫,體現(xiàn)了對數(shù)據(jù)庫的存儲觀;外模式表示了用戶級數(shù)據(jù)庫,體現(xiàn)了對數(shù)據(jù)庫的用戶觀。總體觀和存儲觀只有一個,而用戶觀可能有多個,有一個應用,就有一個用戶觀。 上述三級模式,只有內模式才是真正負責存儲數(shù)據(jù)的,而模式和外模式僅是一種邏輯表示數(shù)據(jù)的方法,但卻可以放心大膽地使用它們,這是靠DBMS的映射
12、功能實現(xiàn)的。在三個模式間存在著兩種映射:一是“外模式模式”間的映射,這種映射把用戶數(shù)據(jù)庫與概念數(shù)據(jù)庫聯(lián)系起來;二是“模式內模式”間的映射,這種映射把概念數(shù)據(jù)庫與物理數(shù)據(jù)庫聯(lián)系起來。正是通過這兩種映射,換來了用戶使用數(shù)據(jù)庫的方便,最終把用戶對數(shù)據(jù)的邏輯操作導向對數(shù)據(jù)庫的物理操作。 數(shù)據(jù)庫系統(tǒng)的模式結構如圖1-4所示。圖1-4 數(shù)據(jù)庫的模式結構(二)數(shù)據(jù)庫系統(tǒng)的體系結構 根據(jù)計算機系統(tǒng)的結構不同,數(shù)據(jù)庫系統(tǒng)結構可分為: 單用戶結構單用戶結構 主從結構主從結構 客戶機服務器結構客戶機服務器結構 分布式結構分布式結構 瀏覽器瀏覽器/服務器結構服務器結構 1、單用戶數(shù)據(jù)庫系統(tǒng) 單用戶數(shù)據(jù)庫系統(tǒng)是一種最簡
13、單的數(shù)據(jù)庫系統(tǒng),整個數(shù)據(jù)庫系統(tǒng),包括應用程序、DBMS、數(shù)據(jù),都裝在一臺計算機上,由一個用戶獨占,不同機器之間不能共享。DBMS 2、主從、主從結構的結構的數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)系統(tǒng):將DBMS軟件、所有用戶數(shù)據(jù)和應用程序放在一臺大型主機(作為服務器)上,其余計算機作為終端通過通信線路向服務器發(fā)出數(shù)據(jù)庫應用請求,這種網(wǎng)絡數(shù)據(jù)庫應用系統(tǒng)稱為主從式數(shù)據(jù)庫體系結構。主主機機終端終端終端終端終端終端終端終端終端終端圖圖1-1 以單個主機為中心以單個主機為中心DBMS 3、客戶客戶/服務器結構的數(shù)據(jù)庫系統(tǒng)服務器結構的數(shù)據(jù)庫系統(tǒng) 把DBMS的功能和應用分開,網(wǎng)絡中某個或某些節(jié)點上計算機專門用于執(zhí)行DBMS功能,
14、成為數(shù)據(jù)庫服務器,簡稱服務器,其他節(jié)點上的計算機安裝DBMS的外圍應用開發(fā)工具,支持用戶的應用,成為客戶機,這就是客戶/服務器(Client/Server,簡稱C/S)結構的數(shù)據(jù)庫系統(tǒng)。 在C/S結構中,客戶端的請求被傳到數(shù)據(jù)庫服務器,數(shù)據(jù)庫服務器進行處理后,只將結果(而不是整個數(shù)據(jù))返回給用戶,從而顯著減少網(wǎng)絡上的數(shù)據(jù)傳輸量,提高了系統(tǒng)的性能、吞吐量和負載能力。 4、分布式結構的數(shù)據(jù)庫系統(tǒng)、分布式結構的數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫中的數(shù)據(jù)在邏輯上是一個整體,但在物理上分布在計算機網(wǎng)絡的不同節(jié)點上。網(wǎng)絡中各個節(jié)點都可以獨立處理本地數(shù)據(jù)庫中的數(shù)據(jù),執(zhí)行局部應用;同時也可以同時存取和處理多個異地數(shù)據(jù)庫中的數(shù)
15、據(jù),執(zhí)行全局應用。 分布式結構的數(shù)據(jù)庫系統(tǒng)是建立在數(shù)據(jù)庫技術與網(wǎng)絡技術發(fā)展的基礎之上的,它適應地理上分散的公司、團體和組織對于數(shù)據(jù)庫應用的需求。但數(shù)據(jù)的分布存放,給數(shù)據(jù)的處理、管理與維護帶來了困難。 4、瀏覽器、瀏覽器/服務器結構的數(shù)據(jù)庫系統(tǒng)服務器結構的數(shù)據(jù)庫系統(tǒng)(Browser/Server,簡稱,簡稱B/S)是隨著Internet技術的興起,對C/S結構的一種改進的結構。在這種結構下,用戶界面完全通過www瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn)。 B/S結構用通用瀏覽器就實現(xiàn)了原來需要復雜專用軟件才能實現(xiàn)的強大功能,并節(jié)約了成本。Web ServerDBMS第
16、二節(jié)第二節(jié) 數(shù)據(jù)模型數(shù)據(jù)模型一、現(xiàn)實世界的信息化過程二、概念模型及其表示三、常見的數(shù)據(jù)模型一、現(xiàn)實世界的信息化過程 現(xiàn)實世界中的客觀事物是不能直接輸入計算機中去處理的,必須抽象為某種數(shù)據(jù)模型才能在計算機中處理。數(shù)據(jù)從現(xiàn)實世界進入到數(shù)據(jù)庫一般經(jīng)歷現(xiàn)實世界、信息世界和數(shù)據(jù)世界三個階段。1、現(xiàn)實世界現(xiàn)實世界 現(xiàn)實世界是事物的客觀存在,由所觀察的事物及其性質反映。2、信息世界信息世界 信息世界是現(xiàn)實世界在人們頭腦中的反映。客觀事物經(jīng)過抽象后,在信息世界中稱為實體,實體由屬性來描述。信息世界用概念模型(實體模型)來描述。3、數(shù)據(jù)世界數(shù)據(jù)世界 數(shù)據(jù)世界是指信息世界中的信息的數(shù)據(jù)化。它通過抽象模擬,用記錄和
17、數(shù)據(jù)項分別描述信息世界中的實體和屬性。實體模型數(shù)據(jù)化后即為數(shù)據(jù)模型。認識抽象數(shù)據(jù)世界 DBMS支持的數(shù)據(jù)模型信息世界 概念模型(實體、屬性)數(shù)據(jù)化現(xiàn)實世界現(xiàn)實世界、信息世界和數(shù)據(jù)世界的關系二、概念模型及其表示 在進行數(shù)據(jù)庫設計時,必須首先給出概念模型。概念模型不僅是數(shù)據(jù)庫設計人員對現(xiàn)實世界研究的產物,也是用戶觀點對現(xiàn)實世界的抽象,更為重要的是,它是數(shù)據(jù)庫設計人員與用戶進行交流的工具。(一)概念模型中的基本概念 實體實體:表示客觀存在并可相互區(qū)別的事物或概念。可以是具體的人、事、物,如:一個職工、一個學生;也可以是抽象的概念,如:學校、一門課、學生的一次選課等都是實體。 屬性屬性:實體所具有的某
18、一特性稱為屬性。一個實體可以由若干個屬性來刻畫。如學生實體可以由學號、姓名、性別、出生年月、系、入學時間等屬性組成。 碼碼:能唯一標識實體的屬性集稱為碼。如學號是學生實體的碼。 域域:屬性的取值范圍稱為該屬性的域。 實體型實體型:用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。如:學生(學號,姓名,性別,出生年月,系,入學時間)就是一個實體型。 實體集實體集:同型實體的集合稱為實體集。如:全體學生就是一個實體集。在同一實體集中,每個實體的屬性及其域是相同的,但可能取不同的值。(二)概念模型中實體之間的聯(lián)系1、兩個不同實體集之間存在的聯(lián)系類型有:一對一聯(lián)系一對一聯(lián)系 指實體集A中的每一個
19、實體最多(也可沒有)只與實體集B中的一個實體相聯(lián)系,反之亦然,稱實體集A與實體集B具有一對一聯(lián)系一對一聯(lián)系。記為1:1。例如:企業(yè)與總經(jīng)理之間的聯(lián)系一對多聯(lián)系一對多聯(lián)系 如果實體集 A中的每一個實體可與實體集B中的多個實體相聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集 A與實體集B具有一對多聯(lián)系一對多聯(lián)系。記為1:n。例如:車間和工人之間的聯(lián)系多對多聯(lián)系多對多聯(lián)系 如果對于實體集A中的每一個實體,實體集 B中的多個實體與之聯(lián)系,反之,對于實體集 B中的每一個實體,實體集A中也有多個實體與之聯(lián)系,則稱實體集A與實體集B具有多對多聯(lián)系。多對多聯(lián)系。記為m:
20、n。例如,產品和車間之間的聯(lián)系2、兩個以上實體之間的聯(lián)系、兩個以上實體之間的聯(lián)系兩個以上不同實體集之間的存在1:1:1,1:1:n,1:m:n 和r:m:n的聯(lián)系。產品工人零件裝配1MN供應商項目零件裝配R MN(三)概念模型的表示方法E-R圖 概念模型是對信息世界建模,是現(xiàn)實世界到信息世界的第一層抽象,是數(shù)據(jù)庫設計人員進行數(shù)據(jù)庫設計的有力工具,也是數(shù)據(jù)庫設計人員和用戶之間進行交流的語言。 用于表示概念模型最著名且使用最廣泛的是實體聯(lián)系方法(E-R圖法,EntityRelationship Approach),該方法用E-R圖來描述現(xiàn)實世界的概念模型。E-R圖的基本元素是:實體、聯(lián)系、屬性,其
21、表示方法為:1、實體用長方形表示,長方形內寫明實體名;2、實體屬性用橢圓形表示,用線段將其與實體連接起來3、實體間的聯(lián)系用菱形表示,菱形內寫上聯(lián)系名,并用線段分別與有關實體連接起來。舉例【例【例1.11.1】學校有若干個系,每個系有若干名教師和學生;每個教師可以擔任若干門課程,并參加多項項目;每個學生可以同時選修多門課程。請設計某學校的教學管理的E-R模型,要求給出每個實體、聯(lián)系的屬性。解:解:某學校的教學管理的E-R模型應該有五個實體:系、教師、學生、項目、課程。設計各實體屬性如下:系(系號,系名,主任名)教師(教師號,教師名,職稱)學生(學號,姓名,年齡,性別)項目(項目號,名稱,負責人)
22、課程(課程號,課程名,學分)由此得到實體及其屬性圖如下圖所示系系系系 號號系系 名名主任名主任名 學學 號號姓姓 名名年齡年齡性別性別學生學生教教 師師教師號教師號教師名教師名職職 稱稱項項 目目名名 稱稱負責人負責人項目號項目號課課 程程課程號課程號課程名課程名學學 分分實體及其屬性圖 各實體之間的聯(lián)系有: 教師擔任課程的1:n“任課”聯(lián)系; 教師參加項目的n:m“參加”聯(lián)系; 學生選修課程的n:m “選修”聯(lián)系: 系、教師與學生之間的所屬關系的1:n:m “領導”聯(lián)系。 其中“參加”聯(lián)系有一個排名屬性,“ 選修 ”聯(lián)系有一個成績屬性。 通過上述分析,某學校的教學管理的E-R模型如下圖所示。
23、 n 1 n n 1 n 系系系系 號號系系 名名主任名主任名 學學 號號姓姓 名名年齡年齡性別性別教教 師師教師號教師號教師名教師名職職 稱稱課課 程程課程號課程號課程名課程名學學 分分項項 目目名名 稱稱負責人負責人排排 名名成績成績學生學生項目號項目號領導領導選修選修參加參加任任 課課mnmm學校教學管理學校教學管理E-R模型模型三、常見的數(shù)據(jù)模型 概念模型是人們對現(xiàn)實 世界事務之間各種聯(lián)系的一種抽象表示,是一種模擬。它只描述了實體的存在及聯(lián)系,即只描述了實體間存在什么類型的聯(lián)系,而不能指出如何實現(xiàn)各種聯(lián)系。 數(shù)據(jù)模型是概念模型的數(shù)據(jù)化,是一種形式化描述數(shù)據(jù)、數(shù)據(jù)間關系以及有關數(shù)據(jù)約束規(guī)
24、則的方法。在數(shù)據(jù)庫技術發(fā)展過程中,先后出現(xiàn)了三種數(shù)據(jù)模型,即層次模型、網(wǎng)狀模型和關系模型。1、層次模型、層次模型 按照層次結構的形式來組織數(shù)據(jù)的數(shù)據(jù)模型,把整個數(shù)據(jù)結構表示為一個有序的樹形的集合,而這些有序樹的每個結點是一個由若干數(shù)據(jù)項組合而成的記錄型。 需滿足兩個條件: 整個模型有且僅有一個根結點。 根結點之外的結點有且僅有一個父節(jié)點。 層次模型的特點是記錄之間的聯(lián)系通過指針實現(xiàn),比較簡單,查詢效率高。缺點是只能表示 1:n 的聯(lián)系,盡管有許多輔助手段實現(xiàn) m:n 的聯(lián)系,但較復雜不易掌握;由于層次順序嚴格和復雜,插入刪除操作的限制比較多,導致應用程序編制比較復雜。R1R21R22R31R3
25、2R332、網(wǎng)狀模型、網(wǎng)狀模型 它允許有一個以上的結點沒有父節(jié)點,一個結點也可以有多個父節(jié)點,從而構成一個復雜的網(wǎng)絡結構。 主要優(yōu)點是:主要優(yōu)點是:能更為直接地描述現(xiàn)實世界,具有良好的性能,存取效率高。 主要缺點是:主要缺點是:結構復雜。例如,當應用環(huán)境不斷擴大時,數(shù)據(jù)庫結構就變得很復雜,不利于最終用戶掌握。編制應用程序難度比較大。 該模型的DDL、DML語言復雜,記錄之間的聯(lián)系是通過存取路徑來實現(xiàn)的,因此程序員必須了解系統(tǒng)結構的細節(jié),增加了編寫應用程序的負擔。R1R2R5R4R3R6R73、關系模型、關系模型 關系模型是把數(shù)據(jù)結構看成一個二維表,每個二維表就是一個關系,關系模型是由若干個二維
26、表格組成的集合。 特點:(1)表格中的每一列都是不可再分的基本屬性;(2)各列被指定一個相異的名字;(3)各行不允許重復;(4)行、列的次序無關。 關系:即一張二維表,也稱為表。 元組:表中的一行稱為一個元組或一個記錄。 屬性:表中的一列稱為屬性,或字段也稱為列。 數(shù)據(jù)項:一個行和列交叉的地方就是數(shù)據(jù)項。 碼:是一個屬性或一組屬性,且能在關系中唯一的表示一個元組,被選中來充當主碼的叫主鍵,某關系中一個屬性充當其他關系的主碼,則此屬性為該關系的外碼。 關系模型與網(wǎng)狀模型、層次模型最大的差別是用主碼而不是用指針導航數(shù)據(jù),表格簡單、直觀易懂,用戶只需要簡單的查詢語句就可以對數(shù)據(jù)庫進行操作,即用戶只須
27、指出 “ 干什么”或 “找什么”,而不必詳細說明“怎么干”或 “怎么找 ” ,無需涉及存儲結構和訪問技術等細節(jié)。第三節(jié)第三節(jié) 數(shù)據(jù)庫設計數(shù)據(jù)庫設計數(shù)據(jù)庫設計數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,構造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應用需求。數(shù)據(jù)庫設計人員應該具備的技術和知識:w數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設計技術w計算機科學的基礎知識和程序設計的方法和技巧w軟件工程的原理和方法1. 應用領域的知識一、數(shù)據(jù)庫設計方法 手工與經(jīng)驗相結合方法 設計質量與設計人員的經(jīng)驗和水平有直接關系 數(shù)據(jù)庫運行一段時間后常常不同程度地發(fā)現(xiàn)各種問題,增加了維護代價 規(guī)范設計
28、法 典型方法 新奧爾良(New Orleans)方法 將數(shù)據(jù)庫設計分為四個階段:需求分析、概念設計、邏輯設計、物理設計 S.B.Yao方法 將數(shù)據(jù)庫設計分為六個步驟:需求分析、模式構成、模式總匯、模式重構、模式分析和物理數(shù)據(jù)庫設計 I.R.Palmer方法 把數(shù)據(jù)庫設計當成一步接一步的過程二、數(shù)據(jù)庫設計的步驟 數(shù)據(jù)庫設計分6個階段 需求分析 概念結構設計 邏輯結構設計 物理結構設計 數(shù)據(jù)庫實施 數(shù)據(jù)庫運行和維護 需求分析和概念結構設計獨立于任何數(shù)據(jù)庫管理系統(tǒng) 邏輯設計和物理設計與選用的DBMS密切相關(一)數(shù)據(jù)庫設計的準備工作:選定參加設計的人員1. 數(shù)據(jù)庫分析設計人員數(shù)據(jù)庫分析設計人員 數(shù)據(jù)
29、庫設計的核心人員 自始至終參與數(shù)據(jù)庫設計 其水平?jīng)Q定了數(shù)據(jù)庫系統(tǒng)的質量2. 用戶和數(shù)據(jù)庫管理員用戶和數(shù)據(jù)庫管理員 在數(shù)據(jù)庫設計中也是舉足輕重的 主要參加需求分析和數(shù)據(jù)庫的運行維護 用戶積極參與帶來的好處 加速數(shù)據(jù)庫設計 提高數(shù)據(jù)庫設計的質量3.應用開發(fā)人員(程序員和操作員)應用開發(fā)人員(程序員和操作員) 在系統(tǒng)實施階段參與進來,負責編制程序和準備軟硬件環(huán)境 (二)需求分析 需求析就是準確了解與分析用戶需求(包括數(shù)據(jù)與處理),是最困難、最耗費時間的一步,也是整個數(shù)據(jù)庫設計過程中最重要的一步。1、需求分析的任務 詳細調查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等) 充分了解原系統(tǒng)(手工系統(tǒng)或計算機系
30、統(tǒng)) 明確用戶的各種需求 確定新系統(tǒng)的功能 充分考慮今后可能的擴充和改變2、需求分析的難點、需求分析的難點用戶缺少計算機知識,開始時無法確定計算機究竟能為自己做什么,不能做什么,因此無法一下子準確地表達自己的需求,他們所提出的需求往往不斷地變化。設計人員缺少用戶的專業(yè)知識,不易理解用戶的真正需求,甚至誤解用戶的需求。解決方法解決方法:設計人員必須采用有效的方法,與用戶不斷深入地進行交流,才能逐步得以確定用戶的實際需求3、需求分析的步驟、需求分析的步驟(1)系統(tǒng)詳細調查)系統(tǒng)詳細調查 調查組織機構情況:組織部門的組成情況、各部門的職責等 調查各部門的業(yè)務活動情況:各個部門輸入和使用什么數(shù)據(jù)、 如
31、何加工處理這些數(shù)據(jù)、 輸出什么信息、 輸出到什么部門、輸出結果的格式是什么(2)數(shù)據(jù)分析)數(shù)據(jù)分析 采用自頂向下的結構化分析方法,從系統(tǒng)組織機構的最高層開始,對收集來的大量數(shù)據(jù)用逐層分解的方法進行分析。(3)繪制數(shù)據(jù)流圖和編寫數(shù)據(jù)字典)繪制數(shù)據(jù)流圖和編寫數(shù)據(jù)字典(4)確定數(shù)據(jù)庫系統(tǒng)的邊界)確定數(shù)據(jù)庫系統(tǒng)的邊界 確定哪些功能由計算機完成或將來準備讓計算機完成 確定哪些活動由人工完成(5)編寫用戶需求說明書)編寫用戶需求說明書(6)用戶對需求分析結果進行評審)用戶對需求分析結果進行評審4、常用調查方法、常用調查方法跟班作業(yè) 通過親身參加業(yè)務工作了解業(yè)務活動的情況 能比較準確地理解用戶的需求,但比較
32、耗時開調查會 通過與用戶座談來了解業(yè)務活動情況及用戶需求請專人介紹詢問 對某些調查中的問題,可以找專人詢問設計調查表請用戶填寫 如果調查表設計合理,則很有效,且易于為用戶接受查閱記錄 查閱與原系統(tǒng)有關的數(shù)據(jù)記錄5、數(shù)據(jù)流圖、數(shù)據(jù)流圖 數(shù)據(jù)流圖的四種基本元素及其含義:(1)外部實體(2)數(shù)據(jù)流(3)處理功能(4)數(shù)據(jù)儲存 數(shù)據(jù)流圖的繪制方法:自頂向下、逐層分解。先將整個系統(tǒng)按總的處理功能畫出頂層的數(shù)據(jù)流圖,然后逐層細分,畫出下一層的數(shù)據(jù)流圖。外部外部實體實體數(shù)據(jù)數(shù)據(jù)流流處理處理功能功能數(shù)據(jù)儲數(shù)據(jù)儲存存外部實體外部實體 S實體名數(shù)據(jù)流圖實例宏遠快遞公司是一家從事國際貨物快遞的物流企業(yè)。客戶可以通過
33、該公司將貨物發(fā)運到用戶手中。公司接到客戶的貨物快遞申請單后,簽訂貨物快遞合同、提交貨物、辦理貨物快遞手續(xù)。收貨人員將貨物送到貨場,貨場管理員經(jīng)過分揀,確定運輸方式(鐵路、海運、空運)和線路,填寫發(fā)貨通知單交給發(fā)貨員發(fā)貨。貨物到達目的地后,當?shù)乜爝f人員將到貨通知單送達收貨人。收貨人簽字后,快遞人員將貨物快遞回執(zhí)寄回客戶,即通知貨物已經(jīng)送達。6、數(shù)據(jù)字典、數(shù)據(jù)字典 數(shù)據(jù)字典是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結果,數(shù)據(jù)字典是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結果,在數(shù)據(jù)庫設計中占有很重要的地位。數(shù)據(jù)字典雖在需求分析階在數(shù)據(jù)庫設計中占有很重要的地位。數(shù)據(jù)字典雖在需求分析階段建立,在數(shù)據(jù)庫
34、設計過程中不斷修改、充實、完善段建立,在數(shù)據(jù)庫設計過程中不斷修改、充實、完善 。 數(shù)據(jù)字典的內容數(shù)據(jù)字典的內容 數(shù)據(jù)項:數(shù)據(jù)項:數(shù)據(jù)項是不可再分的數(shù)據(jù)單位。數(shù)據(jù)項是不可再分的數(shù)據(jù)單位。 數(shù)據(jù)結構:數(shù)據(jù)結構:數(shù)據(jù)結構反映了數(shù)據(jù)之間的組合關系。數(shù)據(jù)結構反映了數(shù)據(jù)之間的組合關系。 數(shù)據(jù)流:數(shù)數(shù)據(jù)流:數(shù)據(jù)流是數(shù)據(jù)結構在系統(tǒng)內傳輸?shù)穆窂綋?jù)流是數(shù)據(jù)結構在系統(tǒng)內傳輸?shù)穆窂?數(shù)據(jù)存儲數(shù)據(jù)存儲:數(shù)據(jù)存儲是數(shù)據(jù)及其結構停留或保存的地方,也:數(shù)據(jù)存儲是數(shù)據(jù)及其結構停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。數(shù)據(jù)存儲可以是手工文檔、手是數(shù)據(jù)流的來源和去向之一。數(shù)據(jù)存儲可以是手工文檔、手工憑單或計算機文檔。工憑單或計
35、算機文檔。 處理功能:處理功能:用判定表或判定樹來描述。用判定表或判定樹來描述。數(shù)據(jù)字典中只需要描數(shù)據(jù)字典中只需要描述處理功能的說明性信息述處理功能的說明性信息數(shù)據(jù)字典實例數(shù)據(jù)項,以數(shù)據(jù)項,以“學號學號”為例:為例: 數(shù)據(jù)項:學號數(shù)據(jù)項:學號 含義說明:唯一標識每個學生含義說明:唯一標識每個學生別名:學生編號別名:學生編號 類型:字符型類型:字符型 長度:長度:8 取值范圍:取值范圍:00000000至至99999999取值含義:前兩位標別該學生所在年級,取值含義:前兩位標別該學生所在年級, 后六位按順序編號后六位按順序編號數(shù)據(jù)字典實例數(shù)據(jù)結構,以數(shù)據(jù)結構,以“學生學生”為例為例“學生學生”是
36、該系統(tǒng)中的一個核心數(shù)據(jù)結構:是該系統(tǒng)中的一個核心數(shù)據(jù)結構: 數(shù)據(jù)結構:學生數(shù)據(jù)結構:學生 含義說明:是學生管理系統(tǒng)的主體數(shù)據(jù)結構,含義說明:是學生管理系統(tǒng)的主體數(shù)據(jù)結構, 定義了一個學生的有關信息定義了一個學生的有關信息 組成:學號,姓名,性別,年齡,所在系,年級組成:學號,姓名,性別,年齡,所在系,年級數(shù)據(jù)字典實例數(shù)據(jù)流,數(shù)據(jù)流,“體檢結果體檢結果”可如下描述:可如下描述: 數(shù)據(jù)流:體檢結果數(shù)據(jù)流:體檢結果 說明:學生參加體格檢查的最終結果說明:學生參加體格檢查的最終結果 數(shù)據(jù)流來源:體檢數(shù)據(jù)流來源:體檢 數(shù)據(jù)流去向:批準數(shù)據(jù)流去向:批準 組成:組成:平均流量:平均流量:高峰期流量:高峰期流
37、量:數(shù)據(jù)字典實例數(shù)據(jù)存儲,數(shù)據(jù)存儲,“學生登記表學生登記表”可如下描述:可如下描述: 數(shù)據(jù)存儲:學生登記表數(shù)據(jù)存儲:學生登記表 說明:記錄學生的基本情況說明:記錄學生的基本情況流入數(shù)據(jù)流:流入數(shù)據(jù)流: 流出數(shù)據(jù)流:流出數(shù)據(jù)流: 組成:組成: 數(shù)據(jù)量:每年數(shù)據(jù)量:每年3000張張 存取方式:隨機存取存取方式:隨機存取數(shù)據(jù)字典實例處理功能處理功能“分配宿舍分配宿舍”可如下描述:可如下描述:處理功能:分配宿舍處理功能:分配宿舍說明:為所有新生分配學生宿舍說明:為所有新生分配學生宿舍輸入:學生,宿舍輸入:學生,宿舍輸出:宿舍安排輸出:宿舍安排處理:在新生報到后,為所有新生分配學生宿舍。處理:在新生報到
38、后,為所有新生分配學生宿舍。 要求同一間宿舍只能安排同一性別的學生,要求同一間宿舍只能安排同一性別的學生, 同一個學生只能安排在一個宿舍中。同一個學生只能安排在一個宿舍中。 每個學生的居住面積不小于每個學生的居住面積不小于3平方米。平方米。 安排新生宿舍其處理時間應不超過安排新生宿舍其處理時間應不超過15分鐘。分鐘。(三)概念結構設計 整個數(shù)據(jù)庫設計的關鍵 通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型 常用方法:-圖法。用-R圖來描述現(xiàn)實世界的概念模型。(四)邏輯結構設計把概念結構設計階段設計好的基本E-R圖轉換為與選用DBMS產品所支持的數(shù)據(jù)模型相符合的邏輯結構。
39、分為兩步:、將概念結構轉換為關系模型。、對關系模型進行優(yōu)化。現(xiàn)實世界現(xiàn)實世界信息世界信息世界計算機世界計算機世界事物總體事物總體實體集實體集表表事物的個體事物的個體實體實體記錄記錄特征特征屬性屬性字段字段事物之間的聯(lián)系事物之間的聯(lián)系E-R模型模型數(shù)據(jù)模型數(shù)據(jù)模型三個世界術語對應三個世界術語對應E-R模型轉化為關系模型 1、將實體轉換表信息世界 機器世界實體 表屬性 表的列(字段)實例 表的行(記錄)碼 表的某列(鍵 2、將實體間的聯(lián)系映射成一個表、將實體間的聯(lián)系映射成一個表 一個1:1聯(lián)系可以轉換為一個獨立的關系表,也可以與任意一端所對應的關表合并。 一個1:n聯(lián)系可以轉換為一個獨立的表,也可以與n端所對應的表合并。 一個m:n聯(lián)系轉換為一個表。與該聯(lián)系相連的各實體的關鍵字以及聯(lián)系本身的屬性均轉換為該表的屬性,新表的關鍵字包含各實體的關鍵字。 3個或3個以上實體間的一個多元聯(lián)系可以轉換為一個表。與該多元聯(lián)系
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外籍人員用餐管理辦法
- 維修質量風險管理辦法
- 電廠燃料采購管理辦法
- 后勤職工培訓課件
- 肝膿腫護理課件下載
- 肝臟生理功能課件中醫(yī)
- 福州八上期中數(shù)學試卷
- 肝病用藥護理課件
- 肝病心理護理課件下載
- 高中學考往年數(shù)學試卷
- 太極拳理論考試復習題
- 《水利水電工程白蟻實時自動化監(jiān)測預警系統(tǒng)技術規(guī)范》
- 2024年湖北省中考英語試卷
- GB/T 15316-2024節(jié)能監(jiān)測技術通則
- 科創(chuàng)板股票開戶知識測評題庫及答案
- 幼兒園食堂舉一反三自查報告
- 光伏分布式項目日報模板
- 蘇科版九年級物理上冊一課一測-11.1杠桿
- 中試平臺管理制度
- 診斷學題庫(附答案)
- 重要概念一胎產式胎兒身體縱軸與母體縱軸之間的關系
評論
0/150
提交評論