《數(shù)據(jù)庫原理及應(yīng)用》課件ch1_第1頁
《數(shù)據(jù)庫原理及應(yīng)用》課件ch1_第2頁
《數(shù)據(jù)庫原理及應(yīng)用》課件ch1_第3頁
《數(shù)據(jù)庫原理及應(yīng)用》課件ch1_第4頁
《數(shù)據(jù)庫原理及應(yīng)用》課件ch1_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫原理及應(yīng)用主講教師:第1章

數(shù)據(jù)庫系統(tǒng)概述本章主要內(nèi)容

本章主要介紹數(shù)據(jù)庫的基本概念、數(shù)據(jù)管理的發(fā)展過程、數(shù)據(jù)庫系統(tǒng)組成、數(shù)據(jù)模型、數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)以及數(shù)據(jù)庫新技術(shù)等內(nèi)容。通過本章的學(xué)習(xí)使讀者從中領(lǐng)悟到為什么要應(yīng)用數(shù)據(jù)庫以及使用數(shù)據(jù)庫技術(shù)所帶來的重要意義,本章是后續(xù)章節(jié)的準(zhǔn)備和基礎(chǔ)。本章學(xué)習(xí)目標(biāo)理解數(shù)據(jù)庫相關(guān)概念及數(shù)據(jù)庫的作用。了解數(shù)據(jù)管理技術(shù)的發(fā)展階段及各階段的特點。掌握數(shù)據(jù)庫系統(tǒng)的組成、各部分的功能及其相互之間的關(guān)系。理解并掌握數(shù)據(jù)庫體系的三級模式結(jié)構(gòu)、兩級映像及數(shù)據(jù)獨立性概念及其作用。掌握數(shù)據(jù)模型的概念及其組成,重點掌握概念模型。了解數(shù)據(jù)庫系統(tǒng)發(fā)展的特點及主流數(shù)據(jù)庫技術(shù)的發(fā)展趨勢。1.1數(shù)據(jù)庫基本概念1.數(shù)據(jù)

數(shù)據(jù)是記錄信息的物理符號,是表達(dá)和傳遞信息的工具。

在現(xiàn)代計算機(jī)系統(tǒng)中,凡是能為計算機(jī)所接受和處理的各種字符、數(shù)字、圖形、圖像及聲音等都可稱為數(shù)據(jù)。因此,數(shù)據(jù)泛指一切可被計算機(jī)接受和處理的符號。

數(shù)據(jù)有“型”和“值”之分。數(shù)據(jù)的型是指數(shù)據(jù)的結(jié)構(gòu),而數(shù)據(jù)的值是指數(shù)據(jù)的具體取值。1.1數(shù)據(jù)庫基本概念2.信息

信息的內(nèi)容是關(guān)于客觀事物或思想方面的知識,即信息的內(nèi)容能反映已存在的客觀事實,能預(yù)測未發(fā)生事物的狀態(tài)和能用于指揮、控制事物發(fā)展的決策。

信息對于人類社會的發(fā)展有著重要的意義,它可以提高人們對事物的認(rèn)識,減少人們活動的盲目性;信息是社會機(jī)體進(jìn)行活動的紐帶,社會的各個組織通過信息網(wǎng)相互了解并協(xié)同工作,使整個社會協(xié)調(diào)發(fā)展;社會越發(fā)展,信息的作用就越突出;信息又是管理活動的核心,要想把事務(wù)管理好,就需要掌握更多的信息,并利用信息進(jìn)行工作。1.1數(shù)據(jù)庫基本概念總之,信息和數(shù)據(jù)是有區(qū)別的。數(shù)據(jù)是一種符號象征,它本身是沒有意義的,而信息是有意義的知識,但數(shù)據(jù)經(jīng)過加工處理后就能成為有意義的信息,也就是說數(shù)據(jù)處理把數(shù)據(jù)和信息聯(lián)系在一起,下式可以簡單明確地表明三者之間的關(guān)系:

信息=數(shù)據(jù)+數(shù)據(jù)處理

1.1數(shù)據(jù)庫基本概念3.數(shù)據(jù)處理

數(shù)據(jù)處理包含數(shù)據(jù)管理、數(shù)據(jù)加工和數(shù)據(jù)傳播。數(shù)據(jù)管理主要任務(wù)是收集信息,將信息用數(shù)據(jù)表示并按類別組織、保存,其目的是在需要的時候,為各種應(yīng)用和數(shù)據(jù)處理提供數(shù)據(jù)。1.1數(shù)據(jù)庫基本概念4.數(shù)據(jù)管理

在數(shù)據(jù)處理中,最基本的工作是數(shù)據(jù)管理工作。數(shù)據(jù)管理是其他數(shù)據(jù)處理的核心和基礎(chǔ)。

數(shù)據(jù)管理工作應(yīng)包括以下3項內(nèi)容:

(1)組織和保存數(shù)據(jù),即將收集到的數(shù)據(jù)合理地分類組織,將其存儲在物理載體上,使數(shù)據(jù)能夠長期地保存。

(2)數(shù)據(jù)維護(hù),即根據(jù)需要隨時進(jìn)行插入新數(shù)據(jù)、修改原數(shù)據(jù)和刪除失效數(shù)據(jù)的操作。

(3)提供數(shù)據(jù)查詢和數(shù)據(jù)統(tǒng)計功能,以便快速地得到需要的正確數(shù)據(jù),滿足各種使用要求。1.1數(shù)據(jù)庫基本概念5.數(shù)據(jù)庫

數(shù)據(jù)庫(DataBase,DB)是一個長期存儲在計算機(jī)內(nèi)的、有組織的、可共享的、統(tǒng)一管理的大量數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲,具有較小的冗余度、較高的數(shù)據(jù)獨立性和易擴(kuò)展性,并可為用戶共享。1.1數(shù)據(jù)庫基本概念6.數(shù)據(jù)庫管理系統(tǒng)

數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,DBMS)是負(fù)責(zé)數(shù)據(jù)庫的定義、建立、操縱、管理和維護(hù)的一種計算機(jī)軟件,是數(shù)據(jù)庫系統(tǒng)的核心部分。數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它提供了對數(shù)據(jù)庫資源進(jìn)行統(tǒng)一管理和控制的功能,使數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)存儲具有一定的規(guī)范性,提高了數(shù)據(jù)庫應(yīng)用的簡明性和方便性。1.1數(shù)據(jù)庫基本概念DBMS的工作模式如下:(1)接受應(yīng)用程序的數(shù)據(jù)請求和處理請求;(2)將用戶的數(shù)據(jù)請求(高級指令)轉(zhuǎn)換成復(fù)雜的機(jī)器代碼(底層指令);(3)實現(xiàn)對數(shù)據(jù)庫的操作;(4)從數(shù)據(jù)庫的操作中接受查詢結(jié)果;(5)對查詢結(jié)果進(jìn)行處理(格式轉(zhuǎn)換);(6)將處理結(jié)果返回給用戶。1.1數(shù)據(jù)庫基本概念7.IS信息系統(tǒng)(InformationSystem,IS)是由人、硬件、軟件和數(shù)據(jù)資源組成的復(fù)合系統(tǒng),目的是及時、正確地收集、加工、存儲、傳遞和提供信息,實現(xiàn)組織中各項活動的管理與控制。在組織內(nèi)部存在著各種各樣的信息流?;谟嬎銠C(jī)和各類通信技術(shù),集組織內(nèi)部各類信息流為一個系統(tǒng),并用于對組織內(nèi)部的各項業(yè)務(wù)活動進(jìn)行管理、調(diào)節(jié)和控制的信息處理網(wǎng)絡(luò)中,稱為一個組織的信息系統(tǒng)。學(xué)習(xí)數(shù)據(jù)庫及DBMS的基本理論和設(shè)計方法,其目的就是要掌握數(shù)據(jù)庫系統(tǒng)的設(shè)計、管理和應(yīng)用,以便能夠勝任信息系統(tǒng)的設(shè)計、開發(fā)與應(yīng)用工作。1.1數(shù)據(jù)庫基本概念8.數(shù)據(jù)庫系統(tǒng)(DBS)

數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,簡稱DBS)是指在計算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)。一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員構(gòu)成。1.1數(shù)據(jù)庫基本概念數(shù)據(jù)庫系統(tǒng)1.1數(shù)據(jù)庫基本概念9.數(shù)據(jù)庫系統(tǒng)組成

數(shù)據(jù)庫系統(tǒng)一般是由數(shù)據(jù)庫、硬件支撐環(huán)境、軟件系統(tǒng)和人員組成。1.2數(shù)據(jù)管理的發(fā)展

數(shù)據(jù)管理技術(shù)已經(jīng)歷了人工管理、文件系統(tǒng)及數(shù)據(jù)庫系統(tǒng)三個發(fā)展階段。比較項目人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段應(yīng)用背景科學(xué)計算科學(xué)計算、管理大規(guī)模管理硬件背景無直接存取存儲設(shè)備磁盤、磁鼓大容量磁盤軟件背景沒有操作系統(tǒng)有文件系統(tǒng)有數(shù)據(jù)庫管理系統(tǒng)處理方式批處理聯(lián)機(jī)實時處理、批處理聯(lián)機(jī)實時處理、分布處理、批處理數(shù)據(jù)的管理者用戶(程序員)文件系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)面向的對象某一應(yīng)用程序某一應(yīng)用現(xiàn)實世界數(shù)據(jù)的共享程度無共享,冗余度極大共享性差,冗余度大共享性高,冗余度小數(shù)據(jù)的獨立性不獨立,完全依賴于程序獨立性差具有高度的物理獨立性和一定的邏輯獨立性數(shù)據(jù)的結(jié)構(gòu)化無結(jié)構(gòu)記錄內(nèi)有結(jié)構(gòu)、整體無結(jié)構(gòu)整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述數(shù)據(jù)控制能力應(yīng)用程序自己控制應(yīng)用程序自己控制由數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)安全性、完整性、并發(fā)控制和恢復(fù)能力三個階段的比較1.2數(shù)據(jù)管理的發(fā)展1.人工管理階段特點如下:(1)數(shù)據(jù)不保存。(2)沒有對數(shù)據(jù)進(jìn)行管理的軟件系統(tǒng)。(3)數(shù)據(jù)不具獨立性。(4)數(shù)據(jù)不共享。1.2數(shù)據(jù)管理的發(fā)展2.文件系統(tǒng)階段特點如下:(1)數(shù)據(jù)需要長期留在外存上供反復(fù)使用。(2)文件的形式已經(jīng)多樣化。(3)程序和數(shù)據(jù)之間有了一定的獨立性。(4)數(shù)據(jù)的存取基本以記錄為單位。1.2數(shù)據(jù)管理的發(fā)展3.數(shù)據(jù)庫系統(tǒng)階段優(yōu)點。(1)數(shù)據(jù)結(jié)構(gòu)化。(2)具有較高的數(shù)據(jù)獨立性。(3)減少數(shù)據(jù)冗余。(4)數(shù)據(jù)共享。(5)統(tǒng)一的數(shù)據(jù)管理與控制功能。(6)方便的用戶接口。1.3數(shù)據(jù)模型1.數(shù)據(jù)模型

模型是對現(xiàn)實世界的抽象。在數(shù)據(jù)庫技術(shù)中,用模型的概念描述數(shù)據(jù)庫的結(jié)構(gòu)與語義,對現(xiàn)實世界進(jìn)行抽象,即數(shù)據(jù)模型是現(xiàn)實世界數(shù)據(jù)特征的抽象,是用來描述數(shù)據(jù)的一組概念和定義。換言之,數(shù)據(jù)模型是能表示實體類型及實體間聯(lián)系的模型。數(shù)據(jù)模型應(yīng)滿足三方面要求:

一是能比較真實地模擬現(xiàn)實世界;

二是容易為人所理解;

三是便于在計算機(jī)上實現(xiàn)。1.3數(shù)據(jù)模型

按照不同的應(yīng)用層次可將其劃分為概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理模型,如圖所示:數(shù)據(jù)模型的應(yīng)用層次1.3數(shù)據(jù)模型2.數(shù)據(jù)模型分類概念數(shù)據(jù)模型簡稱為概念模型,也稱為信息模型。它是一種獨立于計算機(jī)系統(tǒng)的數(shù)據(jù)模型,完全不涉及信息在計算機(jī)中的表示,只是用來描述某個特定組織所關(guān)心的信息結(jié)構(gòu),是對現(xiàn)實世界的第一層抽象。邏輯數(shù)據(jù)模型也稱為結(jié)構(gòu)數(shù)據(jù)模型,簡稱為數(shù)據(jù)模型。它直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),是對現(xiàn)實世界的第二層抽象。1.3數(shù)據(jù)模型3.數(shù)據(jù)模型的組成(1)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)規(guī)定了如何把基本的數(shù)據(jù)項組織成較大的數(shù)據(jù)單位,以描述數(shù)據(jù)的類型、內(nèi)容、性質(zhì)和數(shù)據(jù)之間的相互關(guān)系。它是數(shù)據(jù)模型基本的組成部分,規(guī)定了數(shù)據(jù)模型的靜態(tài)特性。在數(shù)據(jù)庫系統(tǒng)中,通常按照數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。例如,采用層次型數(shù)據(jù)結(jié)構(gòu)、網(wǎng)狀型數(shù)據(jù)結(jié)構(gòu)、關(guān)系型數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)模型分別稱為層次模型、網(wǎng)狀模型和關(guān)系模型。數(shù)據(jù)結(jié)構(gòu)是刻畫一個數(shù)據(jù)模型性質(zhì)最重要的方面。(2)數(shù)據(jù)操作。數(shù)據(jù)操作是指一組用于指定數(shù)據(jù)結(jié)構(gòu)的任何有效的操作或推導(dǎo)規(guī)則。數(shù)據(jù)庫中主要的操作有查詢和更新兩大類。數(shù)據(jù)模型要給出這些操作確切的含義、操作規(guī)則和實現(xiàn)操作的語言。因此,數(shù)據(jù)操作規(guī)定了數(shù)據(jù)模型的動態(tài)特性。(3)數(shù)據(jù)的約束條件。數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合,它定義了給定數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定相容的數(shù)據(jù)庫狀態(tài)集合和可允許的狀態(tài)改變,以保證數(shù)據(jù)庫中數(shù)據(jù)的正確性、有效性和相容性。1.3.2概念模型概念模型用于信息世界的建模,是對現(xiàn)實世界的第一層抽象,是數(shù)據(jù)庫設(shè)計人員進(jìn)行數(shù)據(jù)庫設(shè)計的有力工具,也是數(shù)據(jù)庫設(shè)計人員與用戶之間交流的語言,所以概念模型一方面要有較強的語義表達(dá)能力,能夠方便直接地表達(dá)應(yīng)用中的各種語義知識,另一方面它還應(yīng)該具有簡單、清晰、易于用戶理解的優(yōu)點。1.3.2概念模型1.信息世界中的基本概念(1)實體實體(Entity)是指客觀存在并可相互區(qū)分的事物。實體可以是具體的對象,例如一種產(chǎn)品、一個教室、一座房子、一名學(xué)生、一門課程等;實體也可以是抽象的事件,例如一場音樂會、一場球賽、一次選課等。(2)實體集實體集(EntitySet)是具有相同類型的相同性質(zhì)的實體的集合。例如,某公司的所有產(chǎn)品、某公司的所有倉庫、某學(xué)校的所有學(xué)生等。1.3.2概念模型(3)實體型和實體值實體有類型和值之分,用于描述和抽象同一實體集共同特性的實體名及其屬性名的集合稱為實體型(EntityType),例如,user1(id,name,password,address,postcode,email,homephone,cellphone,officephone)就是一個實體型。相應(yīng)地,實體集中的某個實體的值即為實體值(EntityValue),例如(“001”,“李平”,“123456”,“哈爾濱西大直街92號”,“150001”,“l(fā)iping@163.com”,“45188679543”,,“045186752243”)就是一個實體值,該實體值是用戶實體的一個具體實例。1.3.2概念模型(4)屬性實體所具有的某一特性稱為屬性。例如,學(xué)生實體中的每個實體都具有學(xué)號、姓名、年齡、性別和班級等特性,這些特性就是學(xué)生實體的屬性。(5)域?qū)傩缘娜≈捣秶Q為屬性的域。常見的域的例子有:長度為10的字符串、介于1和100之間的整數(shù)等。(6)鍵能唯一標(biāo)識實體中每個實體的屬性或?qū)傩越M稱為實體的鍵(Key)。(7)聯(lián)系聯(lián)系(Relationship)是實體之間的一個關(guān)聯(lián)。每個聯(lián)系都有一個名字,每個聯(lián)系都可以具有描述性的屬性。1.3.2概念模型2.兩個實體之間的聯(lián)系(1)一對一聯(lián)系:如果對于實體E1中的每個實體,在實體E2中至多只有一個實體與之相對應(yīng),反之亦然,則稱實體E1與E2之間的聯(lián)系是一對一聯(lián)系,例如,電影院中觀眾和座位之間就具有一對一的聯(lián)系,因為在一個座位上最多坐一位觀眾,而一位觀眾也只能坐在一個座位上。(2)一對多聯(lián)系:如果對于實體E1中的每個實體,在實體E2中有任意個(零個或多個)實體與之相對應(yīng),而對于E2中的每個實體卻至多和E1中的一個實體相對應(yīng),則稱實體E1與E2之間的聯(lián)系是一對多的聯(lián)系,例如,公司的部門與其職工之間、班級與學(xué)生之間、球隊與球員之間都具有一對多聯(lián)系。(3)多對多聯(lián)系:如果對于實體E1中的每個實體,在實體E2中有任意個(零個或多個)實體與之相對應(yīng),反之亦然,則稱實體E1與E2之間的聯(lián)系是多對多的聯(lián)系,1.3.2概念模型兩個實體型間的三類聯(lián)系1.3.2概念模型3.兩個以上的實體型之間的聯(lián)系一般地,兩個以上的實體型之間也存在著一對一、一對多、多對多聯(lián)系。若實體型E1,E2,…,En之間存在聯(lián)系,對于實體型Ej(j=1,2,…,i-1,i+1,…,n)中的給定實體,最多只和Ei中的一個實體相聯(lián)系,則說Ei與E1,E2,…,Ei-1,Ei+1,…,En之間的聯(lián)系是一對多的。請讀者給出多實體型之間一對一,多對多聯(lián)系的定義。1.3.2概念模型4.單個實體型內(nèi)的聯(lián)系同一個實體集內(nèi)部的各實體之間也可以存在一對一、一對多、多對多的聯(lián)系。例如,教師實體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系,即某一教師(干部)“領(lǐng)導(dǎo)”若干名教師,而一個教師僅被另外一個教師直接領(lǐng)導(dǎo),因此這是一對多的聯(lián)系,如圖所示。1.3.2概念模型5.概念模型的一種表示方法:實體-聯(lián)系方法(E-R方法)E-R圖提供了表示實體、屬性和聯(lián)系的方法:實體:用矩形表示,矩形框內(nèi)寫明實體名。屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來。聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型(1:1、1:n或m:n)。需要注意的是,如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來。1.3.2概念模型6.一個實例下面用E-R圖來表示針對“網(wǎng)上書店系統(tǒng)”項目創(chuàng)建概念模型。網(wǎng)上書店涉及到的實體有:用戶表:用戶編號,用戶名,密碼,地址,郵編,電子郵件地址,家庭電話,個人電話,辦公電話。圖書表:圖書編號,圖書名稱,圖書描述,圖書價格,圖書圖片路徑,作者,圖書類型編碼。圖書類型表:圖書類型編號,圖書類型名稱。訂單表:訂單編號,訂單狀態(tài),訂單金額,訂單產(chǎn)生時間,用戶編號。訂單條目表:條目編號,圖書數(shù)量,圖書編號,訂單編號。1.3.2概念模型上述實體中存在如下聯(lián)系:(1)一個用戶可以有多個訂單,一個訂單對應(yīng)一個用戶。(2)一個訂單可以有多個訂單條目,一個訂單條目只對應(yīng)一個訂單。(3)一個圖書只屬于一種圖書類型,一種圖書類型可以有都多個圖書。(4)一個訂單條目只有一種圖書,一種圖書可以有多個訂單條目。1.3.3常見的數(shù)據(jù)模型目前,數(shù)據(jù)庫領(lǐng)域中最常用的邏輯數(shù)據(jù)模型有:層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)關(guān)系模型(RelationalModel)面向?qū)ο竽P停∣bjectOrientedModel)對象關(guān)系模型(ObjectRelationalModel)1.3.4層次數(shù)據(jù)模型層次數(shù)據(jù)模型簡稱層次模型(HierarchicalModel),是按照層次結(jié)構(gòu)的形式組織數(shù)據(jù)庫數(shù)據(jù)的數(shù)據(jù)模型,是數(shù)據(jù)庫中使用較早的一種數(shù)據(jù)模型。層次模型用樹形結(jié)構(gòu)來表示各類實體以及實體間的聯(lián)系。現(xiàn)實世界中許多實體間的聯(lián)系就呈現(xiàn)一種自然的層次關(guān)系,如家族關(guān)系、行政機(jī)構(gòu)、軍隊編制等。層次模型使用樹形結(jié)構(gòu)表示記錄類型及其聯(lián)系,樹形結(jié)構(gòu)的基本特點如下:

①有且只有一個結(jié)點沒有父結(jié)點,此結(jié)點稱為根結(jié)點。

②根以外的其他結(jié)點有且只有一個父結(jié)點。

在層次模型中,樹的結(jié)點是記錄型。上一層記錄型和下一層記錄型之間的聯(lián)系是1:N的,用結(jié)點之間的連線表示。1.3.4層次數(shù)據(jù)模型層次模型1.3.5網(wǎng)狀數(shù)據(jù)模型在現(xiàn)實世界中事物之間的聯(lián)系更多是非層次關(guān)系,用層次模型表示非樹形結(jié)構(gòu)很不直接的,網(wǎng)狀數(shù)據(jù)模型(簡稱網(wǎng)狀模型)則可以克服這一缺點。網(wǎng)狀模型的典型代表是DBTG系統(tǒng),亦稱CODASYL系統(tǒng),這是20世紀(jì)70年代數(shù)據(jù)系統(tǒng)語言研究會(ConferenceOnDataSystemLanguage,CODASYL)下屬的數(shù)據(jù)庫任務(wù)組(DataBaseTaskGroup,DBTG)提出的一個系統(tǒng)方案。DBTG系統(tǒng)雖然不是實際的軟件系統(tǒng),但是它提出的基本概念、方法和技術(shù)具有普遍意義,對于網(wǎng)狀數(shù)據(jù)庫系統(tǒng)的研制和發(fā)展產(chǎn)生了重大的影響。1.3.5網(wǎng)狀數(shù)據(jù)模型網(wǎng)狀模型結(jié)點之間的聯(lián)系不受層次的限制,可以任意發(fā)生聯(lián)系,因此它的結(jié)構(gòu)是結(jié)點的連通圖。網(wǎng)狀模型結(jié)構(gòu)的特點如下:

①有一個以上的結(jié)點沒有父結(jié)點。

②至少有一個結(jié)點具有多于一個的父結(jié)點。網(wǎng)狀模型是一種比層次模型更具普遍性的結(jié)構(gòu),它去掉了層次模型的兩個限制,允許多個結(jié)點沒有父結(jié)點,允許結(jié)點有多個父結(jié)點。此外,它還允許兩個結(jié)點之間有多種聯(lián)系(稱為復(fù)合聯(lián)系)。因此,網(wǎng)狀模型可以更直接地描述復(fù)雜的現(xiàn)實世界。但是網(wǎng)狀模型在具體的實現(xiàn)上,只直接支持1:N聯(lián)系,對于記錄間的M:N聯(lián)系,可以將其轉(zhuǎn)換為1:N聯(lián)系。1.3.6關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型(簡稱關(guān)系模型)是目前最重要的、應(yīng)用最廣泛的一種數(shù)據(jù)模型。目前,主流的數(shù)據(jù)庫系統(tǒng)大部分都是基于關(guān)系模型的關(guān)系數(shù)據(jù)庫系統(tǒng)(RelationalDataBaseSystem,RDBS)。關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式。關(guān)系模型是由E.F.Codd于1970年首次提出的,20世紀(jì)80年代以來,計算機(jī)廠商新推出的DBMS幾乎都支持關(guān)系模型,非關(guān)系模型的DBMS產(chǎn)品大部分也都添加了關(guān)系接口,數(shù)據(jù)庫領(lǐng)域當(dāng)前的研究工作也都是以關(guān)系方法為基礎(chǔ)。所以本書的重點也將放在關(guān)系數(shù)據(jù)庫上。1.3.6關(guān)系數(shù)據(jù)模型1.數(shù)據(jù)結(jié)構(gòu)

關(guān)系數(shù)據(jù)模型與以往的模型不同,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上。嚴(yán)格的定義將在下一章給出。這里只簡單勾畫一下關(guān)系模型。從用戶的觀點看,關(guān)系模型由一組關(guān)系組成。每個關(guān)系的數(shù)據(jù)結(jié)構(gòu)是一張規(guī)范化的二維表?,F(xiàn)在以網(wǎng)上書店系統(tǒng)中的圖書表為例,介紹一下關(guān)系模型中的一些術(shù)語。關(guān)系(Relation):一個關(guān)系對應(yīng)通常說的一張表,如表1.3中的這張圖書表。元組(Tuple):表中的一行即為一個元組。屬性(Attribute):表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名,如表1.3中的7列,對應(yīng)7個屬性(id,name,description,price,img,zuozhe,sortkind_id)。1.3.6關(guān)系數(shù)據(jù)模型碼(Key):表中的某個屬性組,它可以唯一確定一個元組。域(Domain):屬性的取值范圍。分量:元組中的一個屬性值。關(guān)系模式:對關(guān)系的描述,一般表示為:關(guān)系名(屬性1,屬性2,…,屬性n)。

在關(guān)系模型中,實體以及實體間的聯(lián)系是用關(guān)系來表示。1.3.6關(guān)系數(shù)據(jù)模型關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)系必須滿足一定的規(guī)范條件,這些規(guī)范條件中最基本的一條就是,關(guān)系的每一個分量必須是一個不可再分的數(shù)據(jù)項,也就是說,不允許表中還有表。表1.4中工資和扣除是可分的數(shù)據(jù)項,不符合關(guān)系模型要求。1.3.6關(guān)系數(shù)據(jù)模型關(guān)系術(shù)語一般表格的術(shù)語關(guān)系模式表頭(表格的描述)關(guān)系(一張)二維表關(guān)系名表名元組記錄或行屬性列屬性名列名屬性值列值分量一條記錄中的一個列值非規(guī)范關(guān)系表中有表(大表中嵌有小表)術(shù)語對比1.3.6關(guān)系數(shù)據(jù)模型2.數(shù)據(jù)操作關(guān)系模型中常用的數(shù)據(jù)操作包括查詢操作和更新操作兩大部分。查詢操作有選擇、投影、聯(lián)接、除、并、交和差等,更新操作有插入、刪除和修改。查詢操作是關(guān)系模型中數(shù)據(jù)操作的主要部分。關(guān)系模型中數(shù)據(jù)操作的特點是集合操作方式,即操作的對象和結(jié)果都是集合,這種操作方式也稱為一次一集合的方式。相應(yīng)的,非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操作方式則為一次一記錄的方式。1.3.6關(guān)系數(shù)據(jù)模型3.完整性約束

關(guān)系模型允許定義三類完整性約束:實體完整性、參照完整性和用戶定義完整性。其中,實體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,應(yīng)該由關(guān)系系統(tǒng)自動支持。用戶定義完整性是應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語義約束。1.3.6關(guān)系數(shù)據(jù)模型4.關(guān)系模型與非關(guān)系模型的比較(1)關(guān)系模型建立在嚴(yán)格的數(shù)學(xué)概念基礎(chǔ)上。關(guān)系及其系統(tǒng)的設(shè)計和優(yōu)化有數(shù)學(xué)理論指導(dǎo),容易實現(xiàn)且性能較好。(2)關(guān)系模型的概念單一,容易理解。在關(guān)系數(shù)據(jù)庫中,無論是實體還是聯(lián)系,無論是操作的原始數(shù)據(jù)、中間數(shù)據(jù)還是結(jié)果數(shù)據(jù),都用關(guān)系表示。這種概念單一的數(shù)據(jù)結(jié)構(gòu),使數(shù)據(jù)操作方法統(tǒng)一,也使用戶易懂、易用。(3)關(guān)系模型的存取路徑對用戶隱蔽。用戶根據(jù)數(shù)據(jù)的概念模式和外模式進(jìn)行數(shù)據(jù)操作,而不必關(guān)心數(shù)據(jù)的內(nèi)模式情況,無論是計算機(jī)專業(yè)人員還是非計算機(jī)專業(yè)人員使用起來都很方便,數(shù)據(jù)的獨立性和安全保密性都比較好。(4)關(guān)系模型中的數(shù)據(jù)聯(lián)系是靠數(shù)據(jù)冗余實現(xiàn)的,關(guān)系數(shù)據(jù)庫中不可能完全消除數(shù)據(jù)冗余。由于數(shù)據(jù)冗余,使得關(guān)系的空間效率和時間效率都比較低。1.3.7面向?qū)ο髷?shù)據(jù)模型面向?qū)ο髷?shù)據(jù)模型(Object-OrientedDataModel,OO數(shù)據(jù)模型)是面向?qū)ο蟪绦蛟O(shè)計方法與數(shù)據(jù)庫技術(shù)相結(jié)合的產(chǎn)物,用以支持非傳統(tǒng)應(yīng)用領(lǐng)域?qū)?shù)據(jù)模型提出的新需求。它的基本目標(biāo)是以更接近人類思維的方式描述客觀世界的事物及其聯(lián)系,且使描述問題的問題空間和解決問題的方法空間在結(jié)構(gòu)上盡可能一致,以便對客觀實體進(jìn)行結(jié)構(gòu)模擬和行為模擬。1.4數(shù)據(jù)庫體系結(jié)構(gòu)大多數(shù)數(shù)據(jù)庫系統(tǒng)在總的體系結(jié)構(gòu)上都具有三級結(jié)構(gòu)的特征,即外部級(External,最接近用戶,是單個用戶所能看到的數(shù)據(jù)特性)、概念級(Conceptual,涉及所有用戶的數(shù)據(jù)定義)和內(nèi)部級(Internal,最接近于物理存儲設(shè)備,涉及物理數(shù)據(jù)存儲的結(jié)構(gòu))。這個三級結(jié)構(gòu)稱為數(shù)據(jù)庫的體系結(jié)構(gòu),有時也稱為“三級模式結(jié)構(gòu)”或“數(shù)據(jù)抽象的3個級別”。1.4.1數(shù)據(jù)庫三級模式結(jié)構(gòu)模式是對數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,數(shù)據(jù)模式是數(shù)據(jù)庫的框架,反映的是數(shù)據(jù)庫中數(shù)據(jù)的結(jié)構(gòu)及其相互關(guān)系。數(shù)據(jù)庫的三級模式由外模式、概念模式和內(nèi)模式三級模式構(gòu)成,其結(jié)構(gòu)如圖數(shù)據(jù)庫的三級模式結(jié)構(gòu)1.4.1數(shù)據(jù)庫三級模式結(jié)構(gòu)(1)概念模式概念模式(ConceptualSchema)簡稱模式,又稱數(shù)據(jù)庫模式、邏輯模式。它是數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)和特征的描述,由若干個概念記錄類型組成,還包含記錄間的聯(lián)系、數(shù)據(jù)的完整性和安全性等要求。概念模式以某一種數(shù)據(jù)模型為基礎(chǔ),綜合考慮了所有用戶的需求,并將這些需求有機(jī)地集成為一個邏輯整體。概念模式可以被看作現(xiàn)實世界中一個組織或部門中的實體及其聯(lián)系的抽象模型在具體數(shù)據(jù)庫系統(tǒng)中的實現(xiàn)。1.4.1數(shù)據(jù)庫三級模式結(jié)構(gòu)(2)外模式外模式(ExternalSchema)簡稱子模式,又稱用戶模式,是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是用戶與數(shù)據(jù)庫系統(tǒng)之間的接口。1.4.1數(shù)據(jù)庫三級模式結(jié)構(gòu)(3)內(nèi)模式內(nèi)模式(InternalSchema)也稱存儲模式。是對數(shù)據(jù)庫中數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示形式。一個數(shù)據(jù)庫只有一個內(nèi)模式,在內(nèi)模式中規(guī)定了數(shù)據(jù)項、記錄、鍵、索引和存取路徑等所有數(shù)據(jù)的物理組織以及優(yōu)化性能、響應(yīng)時間和存儲空間需求等信息,還規(guī)定了記錄的位置、塊的大小和溢出區(qū)等。此外,數(shù)據(jù)是否加密,是否壓縮存儲等內(nèi)容也可以在內(nèi)模式中加以說明,內(nèi)部記錄并不涉及到物理設(shè)備的約束,比內(nèi)模式更接近物理存儲。1.4.2數(shù)據(jù)庫二級映像功能1.兩級映像數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)進(jìn)行的3個級別的抽象,使用戶能邏輯地、抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在機(jī)器中的具體表示方式和存儲方式。而三級結(jié)構(gòu)之間往往差別很大,為了實現(xiàn)這3個抽象級別的聯(lián)系和轉(zhuǎn)換,DBMS在三級結(jié)構(gòu)之間提供了兩個層次的映像(Mapping):外模式/概念模式映像、概念模式/內(nèi)模式映像。所謂映像是一種對應(yīng)規(guī)則,它指出了映像雙方是如何進(jìn)行轉(zhuǎn)換的。1.4.2數(shù)據(jù)庫二級映像功能(1)外模式/概念模式映像外模式/概念模式映像定義了各個外模式與概念模式間的映像關(guān)系。對應(yīng)于同一個概念模式可以有多個外模式,對于每一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式/概念模式映像,它定義了該外模式與概念模式之間的對應(yīng)關(guān)系。外模式/概念模式映像定義通常在各自的外模式中加以描述。當(dāng)模式改變時,數(shù)據(jù)庫管理員修改有關(guān)的外模式/模式映像,使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。1.4.2數(shù)據(jù)庫二級映像功能(2)概念模式/內(nèi)模式映像概念模式/內(nèi)模式映像定義了數(shù)據(jù)庫全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。由于這兩級的數(shù)據(jù)結(jié)構(gòu)可能不一致,即記錄類型、字段類型的命名和組成可能不一樣,因此需要這個映像說明概念記錄和內(nèi)部記錄之間的對應(yīng)性。概念模式/內(nèi)模式映像一般是在內(nèi)模式中加以描述的。當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了(例如選用了另一種存儲結(jié)構(gòu)),數(shù)據(jù)庫管理員修改模式/內(nèi)模式映像,使模式保持不變,應(yīng)用程序不受影響,保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。1.4.2數(shù)據(jù)庫二級映像功能2.兩級數(shù)據(jù)獨立性(1)物理數(shù)據(jù)獨立性如果數(shù)據(jù)庫的內(nèi)模式要修改,即數(shù)據(jù)庫的物理結(jié)構(gòu)有所變化,那么只要對概念模式/內(nèi)模式映像做相應(yīng)的修改即可??梢允垢拍钅J奖M可能保持不變,即對內(nèi)模式的修改盡量不影響概念模式,當(dāng)然對于外模式和應(yīng)用程序的影響更小。這樣,就稱數(shù)據(jù)庫達(dá)到了物理數(shù)據(jù)獨立性(簡稱物理獨立性)。1.4.2數(shù)據(jù)庫二級映像功能(2)邏輯數(shù)據(jù)獨立性如果數(shù)據(jù)庫的概念模式要修改,例如增加記錄類型或增加數(shù)據(jù)項,那么只要對外模式/概念模式映像做相應(yīng)的修改,就可以使外模式和應(yīng)用程序盡可能保持不變。這樣,就稱數(shù)據(jù)庫達(dá)到了邏輯數(shù)據(jù)獨立性(簡稱邏輯獨立性)。1.4.2數(shù)據(jù)庫二級映像功能3.數(shù)據(jù)庫的抽象層次(1)物理數(shù)據(jù)庫以內(nèi)模式為框架的數(shù)據(jù)庫稱為物理數(shù)據(jù)庫,它是最里面的一個層次,是物理存儲設(shè)備上實際存儲的數(shù)據(jù)集合,這些數(shù)據(jù)稱為用戶處理的對象。從系統(tǒng)程序員來看,這些數(shù)據(jù)是他們用文件方式組織的一個個物理文件(存儲文件)。系統(tǒng)程序員編制專門的存儲程序,實現(xiàn)對文件中數(shù)據(jù)的存取。因此,物理數(shù)據(jù)庫也稱為系統(tǒng)程序員視圖或者數(shù)據(jù)的存儲結(jié)構(gòu)。1.4.2數(shù)據(jù)庫二級映像功能(2)概念數(shù)據(jù)庫以概念模式為框架的數(shù)據(jù)庫稱為概念數(shù)據(jù)庫,它是數(shù)據(jù)庫結(jié)構(gòu)中的一個中間層次,是數(shù)據(jù)庫的整體邏輯表示,它描述了每一個數(shù)據(jù)的邏輯定義及數(shù)據(jù)間的邏輯聯(lián)系。為了減少數(shù)據(jù)冗余,可把所有用戶的數(shù)據(jù)進(jìn)行綜合,構(gòu)成一個統(tǒng)一的有機(jī)邏輯整體。概念數(shù)據(jù)庫描述了數(shù)據(jù)庫系統(tǒng)所有對象的邏輯關(guān)系,而是實際存在的物理數(shù)據(jù)庫的一種邏輯描述,它是DBA概念下的數(shù)據(jù)庫,或稱為DBA的視圖。1.4.2數(shù)據(jù)庫二級映像功能(3)邏輯數(shù)據(jù)庫以外模式為框架的數(shù)據(jù)庫稱為邏輯數(shù)據(jù)庫,它是數(shù)據(jù)庫結(jié)構(gòu)的最外一層,是用戶所看到和使用的數(shù)據(jù)庫,因而也稱為用戶數(shù)據(jù)庫或用戶視圖。因此,邏輯數(shù)據(jù)庫是某個或某些用戶使用的數(shù)據(jù)集合,即用戶看到和

溫馨提示

  • 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

提交評論