版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1數(shù)據(jù)庫原理與應(yīng)用第1章數(shù)據(jù)庫系統(tǒng)概述本章導(dǎo)讀: 在當(dāng)今信息時(shí)代,計(jì)算機(jī)應(yīng)用的80%以上都是數(shù)據(jù)處理。數(shù)據(jù)處理的重要環(huán)節(jié)是數(shù)據(jù)管理,而數(shù)據(jù)庫技術(shù)是數(shù)據(jù)管理的最新技術(shù),其主要研究如何科學(xué)地組織和存儲(chǔ)數(shù)據(jù),高效地使用和管理數(shù)據(jù)。數(shù)據(jù)庫是現(xiàn)代信息社會(huì)的基石,幾乎所有的計(jì)算機(jī)應(yīng)用軟件都構(gòu)建于數(shù)據(jù)庫系統(tǒng)之上,它是科學(xué)研究和決策管理的前提條件和支撐技術(shù)。知識要點(diǎn):基本概念數(shù)據(jù)模型數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫保護(hù)1.數(shù)據(jù)庫既然如此之重要,那么究竟什么是數(shù)據(jù)庫?
2.需要理解的概念和掌握的知識有哪些?21.1基本概念1.1.1數(shù)據(jù)與信息1.1.2數(shù)據(jù)處理與數(shù)據(jù)管理1.1.3數(shù)據(jù)管理技術(shù)的發(fā)展1.1.4數(shù)據(jù)庫系統(tǒng)的組成31.1.1
數(shù)據(jù)與信息
1.?dāng)?shù)據(jù):是指能夠被計(jì)算機(jī)存儲(chǔ)和識別的物理符號。有多種表現(xiàn)形式,如文本、圖形、聲音、視頻等;數(shù)據(jù)是數(shù)據(jù)庫中存儲(chǔ)的基本對象,用型(Type,數(shù)據(jù)類型)和值(Value,數(shù)據(jù)值)來表征,型是指對某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說明,值是型的一個(gè)具體賦值。舉例如下:記錄型:學(xué)生(學(xué)號char(8),姓名char(6),性別char(2),年齡tinyint,系別varchar(20))記錄值:('090201','李欣','女',23,'管理系')2.信息:是人們對客觀世界的直接描述,用來傳遞的一些有用知識或消息,或者說是經(jīng)過加工處理后用于人們計(jì)劃、決策、行為等具體應(yīng)用的數(shù)據(jù)。3.比較:數(shù)據(jù)是信息的載體或符號表示,是信息的具體表現(xiàn)形式;信息是數(shù)據(jù)的內(nèi)涵,是對數(shù)據(jù)語義的解釋。數(shù)據(jù)彼此相互獨(dú)立,是尚未組織起來的符號集合;信息是按要求以一定格式組織起來的數(shù)據(jù)。同一數(shù)據(jù)可有不同的信息解釋含義,而同一信息也可有不同的數(shù)據(jù)表現(xiàn)形式。
41.1基本概念1.1.1數(shù)據(jù)與信息1.1.2數(shù)據(jù)處理與數(shù)據(jù)管理1.1.3數(shù)據(jù)管理技術(shù)的發(fā)展1.1.4數(shù)據(jù)庫系統(tǒng)的組成51.1.2數(shù)據(jù)處理與數(shù)據(jù)管理
1.?dāng)?shù)據(jù)處理:就是將數(shù)據(jù)轉(zhuǎn)換成信息的過程,包括對數(shù)據(jù)的收集、加工、分類、存儲(chǔ)、統(tǒng)計(jì)、檢索和傳輸?shù)纫幌盗谢顒?dòng)的總稱。其目的是從原始的或雜亂無章的數(shù)據(jù)出發(fā),根據(jù)事物之間固有的聯(lián)系和運(yùn)動(dòng)規(guī)律,采用分析、推理、歸納等手段,推導(dǎo)出對人們有用的數(shù)據(jù)或信息作為決策的依據(jù)。或者說,數(shù)據(jù)是輸入,是原料,而信息是產(chǎn)出,是輸出的結(jié)果。數(shù)據(jù)處理的真正含義是為輸出信息而作的處理過程,如圖1-1所示。2.?dāng)?shù)據(jù)管理:是指對數(shù)據(jù)進(jìn)行分類、組織、存儲(chǔ)、檢索及維護(hù)等各種操作,是數(shù)據(jù)處理的核心環(huán)節(jié)和首要問題。數(shù)據(jù)庫技術(shù)本質(zhì)上就是數(shù)據(jù)管理技術(shù)。數(shù)據(jù)信息數(shù)據(jù)處理圖1-161.1基本概念1.1.1數(shù)據(jù)與信息1.1.2數(shù)據(jù)處理與數(shù)據(jù)管理1.1.3數(shù)據(jù)管理技術(shù)的發(fā)展1.1.4數(shù)據(jù)庫系統(tǒng)的組成71.1.3數(shù)據(jù)管理技術(shù)發(fā)展
數(shù)據(jù)管理技術(shù)是應(yīng)數(shù)據(jù)管理需求而產(chǎn)生,并伴隨著計(jì)算機(jī)硬件、軟件發(fā)展而發(fā)展。數(shù)據(jù)管理技術(shù)發(fā)展經(jīng)歷三個(gè)階段:人工管理階段,文件系統(tǒng)階段,數(shù)據(jù)庫系統(tǒng)階段。1.人工管理階段:20世紀(jì)50年代中期以前,其典型特征包括:數(shù)據(jù)不能被保存;數(shù)據(jù)不能獨(dú)立于應(yīng)用程序,應(yīng)用程序管理數(shù)據(jù);數(shù)據(jù)不能被共享,即不同程序不能直接交換數(shù)據(jù)。2.文件系統(tǒng)階段:20世紀(jì)50年代中后期,其典型特征包括:數(shù)據(jù)可長期保存在磁盤上;文件管理數(shù)據(jù);數(shù)據(jù)共享性差,數(shù)據(jù)冗余度大;數(shù)據(jù)獨(dú)立性差。3.?dāng)?shù)據(jù)庫系統(tǒng)階段:20世紀(jì)60年代中后期開始,其典型特征包括:數(shù)據(jù)結(jié)構(gòu)化,描述數(shù)據(jù)時(shí)不僅要描述數(shù)據(jù)本身還要描述數(shù)據(jù)彼此之間的聯(lián)系;數(shù)據(jù)由DBMS統(tǒng)一管理;數(shù)據(jù)的共享性好;數(shù)據(jù)獨(dú)立性好,不會(huì)因?yàn)橄到y(tǒng)存儲(chǔ)結(jié)構(gòu)與邏輯結(jié)構(gòu)的變化而影響應(yīng)用程序,即保持物理獨(dú)立性和邏輯獨(dú)立性。
數(shù)據(jù)庫管理系統(tǒng)的出現(xiàn)標(biāo)志著數(shù)據(jù)管理技術(shù)進(jìn)入了數(shù)據(jù)庫系統(tǒng)階段。數(shù)據(jù)庫系統(tǒng)是在文件系統(tǒng)的基礎(chǔ)上發(fā)展起來的,因而同樣需要操作系統(tǒng)的支持才能工作。20世紀(jì)70年代,伴隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,數(shù)據(jù)庫技術(shù)與計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)相結(jié)合產(chǎn)生了分布式數(shù)據(jù)庫系統(tǒng)。其最大特點(diǎn):①各地計(jì)算機(jī)通過通信網(wǎng)絡(luò)相連;②數(shù)據(jù)庫分布各地;③本地計(jì)算機(jī)不能單獨(dú)勝任的任務(wù)可以交給其它計(jì)算機(jī)處理。81.1基本概念1.1.1數(shù)據(jù)與信息1.1.2數(shù)據(jù)處理與數(shù)據(jù)管理1.1.3數(shù)據(jù)管理技術(shù)的發(fā)展1.1.4數(shù)據(jù)庫系統(tǒng)的組成91.1.4數(shù)據(jù)庫系統(tǒng)的組成(1)
數(shù)據(jù)庫系統(tǒng)(DBS)是指引入數(shù)據(jù)庫后的計(jì)算機(jī)系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員構(gòu)成。在不引起混淆的情況下,數(shù)據(jù)庫系統(tǒng)也簡稱數(shù)據(jù)庫。1.?dāng)?shù)據(jù)庫:數(shù)據(jù)庫(DB)就是管理數(shù)據(jù)的倉庫,一般是指長期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可共享的相關(guān)數(shù)據(jù)集合。數(shù)據(jù)庫能被各種用戶共享、具有冗余度小、數(shù)據(jù)間聯(lián)系密切的特點(diǎn)。2.?dāng)?shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)(DBMS)是數(shù)據(jù)庫的組織機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。3.?dāng)?shù)據(jù)庫應(yīng)用系統(tǒng):是基于數(shù)據(jù)庫管理系統(tǒng)的應(yīng)用軟件。在計(jì)算機(jī)應(yīng)用領(lǐng)域,從事某種具體業(yè)務(wù)的用戶實(shí)際面對的數(shù)據(jù)庫系統(tǒng)是一套在數(shù)據(jù)庫管理系統(tǒng)支持下建立起來的應(yīng)用軟件。4.?dāng)?shù)據(jù)庫管理人員:數(shù)據(jù)庫管理人員(DatabaseAdministrator,簡稱DBA),是一個(gè)負(fù)責(zé)設(shè)計(jì)、開發(fā)、維護(hù)和使用數(shù)據(jù)庫的人員,這個(gè)職位對不同的人意味著不同的意義。101.1.4數(shù)據(jù)庫系統(tǒng)的組成(2)--DBMS功能(1)數(shù)據(jù)定義功能DBMS提供數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL),用戶通過它可以方便地對數(shù)據(jù)庫中的數(shù)據(jù)對象進(jìn)行定義。如外模式、模式、內(nèi)模式,數(shù)據(jù)的完整性約束和用戶權(quán)限等。(2)數(shù)據(jù)操縱功能DBMS還提供數(shù)據(jù)操縱語言(DataManipulationLanguage,DML),用戶可以使用DML操縱數(shù)據(jù)實(shí)現(xiàn)對數(shù)據(jù)的基本操作,如查詢、插入、刪除和修改等。(3)數(shù)據(jù)庫運(yùn)行和控制功能DBMS的核心工作是對數(shù)據(jù)庫的運(yùn)行管理,包括數(shù)據(jù)的安全性控制、完整性控制和多用戶環(huán)境下的并發(fā)控制、權(quán)限控制。(4)數(shù)據(jù)庫的建立和維護(hù)功能它包括數(shù)據(jù)庫中數(shù)據(jù)的輸入、轉(zhuǎn)換功能,數(shù)據(jù)庫的轉(zhuǎn)儲(chǔ)、恢復(fù)功能,數(shù)據(jù)庫的重組功能和性能監(jiān)視、分析功能等,這些功能通常由一些實(shí)用程序完成。(5)數(shù)據(jù)字典數(shù)據(jù)字典存放著對實(shí)際數(shù)據(jù)各級模式的所做的定義,即對數(shù)據(jù)結(jié)構(gòu)的描述,對數(shù)據(jù)庫的使用和操作都要通過查閱數(shù)據(jù)字典來進(jìn)行。如SQLSever數(shù)據(jù)庫系統(tǒng)中,其數(shù)據(jù)字典中存放著用戶建立的表和索引,系統(tǒng)建立的表和索引以及用于恢復(fù)數(shù)據(jù)的信息等。111.2數(shù)據(jù)模型
模型是對現(xiàn)實(shí)世界特征的抽象和模擬,數(shù)據(jù)模型是對數(shù)據(jù)特征的抽象和模擬。數(shù)據(jù)模型是數(shù)據(jù)庫技術(shù)的核心和基礎(chǔ),數(shù)據(jù)庫系統(tǒng)是建立在數(shù)據(jù)模型的基礎(chǔ)上,是對某個(gè)企業(yè)或組織所涉及的數(shù)據(jù)進(jìn)行提取和綜合?,F(xiàn)實(shí)世界的具體事物及其聯(lián)系必須轉(zhuǎn)換成計(jì)算機(jī)可識別和存儲(chǔ)的數(shù)據(jù),才能被計(jì)算機(jī)處理。問題:目前,任何一門科學(xué)技術(shù)手段都不可能對現(xiàn)實(shí)世界進(jìn)行原樣復(fù)制和管理,只能抽取事物某些局部要素,構(gòu)造反映事物的本質(zhì)特征及其內(nèi)在聯(lián)系,幫助人們理解和表述數(shù)據(jù)處理的靜態(tài)性和動(dòng)態(tài)性特征。那么計(jì)算機(jī)如何將現(xiàn)實(shí)世界映射成能被計(jì)算機(jī)處理和識別的數(shù)據(jù)世界呢?121.2
數(shù)據(jù)模型1.2.1數(shù)據(jù)化過程1.2.2數(shù)據(jù)模型的3要素1.2.3數(shù)據(jù)模型的分類1.2.4E-R模型1.2.53種邏輯模型131.2.1數(shù)據(jù)化過程(1)為了將現(xiàn)實(shí)世界客觀事物及其聯(lián)系以數(shù)據(jù)形式存儲(chǔ)到計(jì)算機(jī)系統(tǒng)內(nèi),人們對現(xiàn)實(shí)生活中事物特征經(jīng)過認(rèn)識、概念化、數(shù)據(jù)化的逐級抽象過程,這一過程常被劃分三個(gè)階段:現(xiàn)實(shí)世界,信息世界(概念模型),數(shù)據(jù)世界(邏輯模型和物理模型)。也就是說,首先把現(xiàn)實(shí)世界中的客觀對象抽象為一種概念化信息結(jié)構(gòu),稱之為概念模型(這種結(jié)構(gòu)不依賴于具體計(jì)算機(jī)系統(tǒng),也不依賴于具體DBMS的數(shù)據(jù)模型),然后把概念模型轉(zhuǎn)化為計(jì)算機(jī)系統(tǒng)某DBMS支持的數(shù)據(jù)模型:邏輯模型(面向用戶的可視視圖邏輯結(jié)構(gòu))和物理模型(面向計(jì)算機(jī)系統(tǒng)的物理存儲(chǔ)結(jié)構(gòu))。抽象和轉(zhuǎn)換過程如圖1-2所示。141.2.1數(shù)據(jù)化過程(2)數(shù)據(jù)在每一種世界都有其對應(yīng)概念和術(shù)語。1.現(xiàn)實(shí)世界是指客觀存在的事物及其聯(lián)系。在現(xiàn)實(shí)世界中,客觀存在并可以區(qū)分的事物稱為個(gè)體。個(gè)體的總和,稱為總體。個(gè)體與個(gè)體之間相區(qū)別的特征,稱為特性。在現(xiàn)實(shí)世界,事物內(nèi)部和事物之間存在的相關(guān)性,稱之為聯(lián)系。2.信息世界又稱概念世界,是指現(xiàn)實(shí)世界在人腦中的反映,是對客觀事物及其聯(lián)系的一種描述?,F(xiàn)實(shí)世界的個(gè)體被抽象成信息世界的實(shí)體?,F(xiàn)實(shí)世界的特性被抽象成信息世界的屬性,每一屬性的取值范圍,稱為值域。能唯一標(biāo)識一個(gè)實(shí)體的屬性及屬性組,稱為關(guān)鍵字。現(xiàn)實(shí)世界的總體被抽象成信息世界的實(shí)體集,與之對應(yīng),用實(shí)體名及其屬性名的集合來描述同類實(shí)體的共同特征和性質(zhì),稱為實(shí)體型。現(xiàn)實(shí)世界的聯(lián)系反映到信息世界表現(xiàn)為實(shí)體(型)內(nèi)部的聯(lián)系和實(shí)體(型)之間的聯(lián)系。實(shí)體內(nèi)部的聯(lián)系通常是組成實(shí)體的各屬性之間的聯(lián)系;實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系。151.2.1數(shù)據(jù)化過程(3)--聯(lián)系分類實(shí)體集間的聯(lián)系總是錯(cuò)綜復(fù)雜的,但就兩個(gè)實(shí)體的聯(lián)系來說有以下三種:(1)一對一聯(lián)系。如果對于實(shí)體集A中每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)(也可以沒有)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對一聯(lián)系,記為1:1,如圖1-3所示。例如:學(xué)生與學(xué)號,圖書與ISBN,國家與總統(tǒng)。(2)一對多聯(lián)系。對于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有多個(gè)實(shí)體與之聯(lián)系,反之,對于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱A與B有一對多的聯(lián)系,記為1:n,如圖1-4所示。例如:學(xué)校與學(xué)生、公司與職員、省與市。(3)多對多聯(lián)系。對于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有多個(gè)實(shí)體與之聯(lián)系,而對于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有多個(gè)實(shí)體與之聯(lián)系,則稱A與B之間有多對多的聯(lián)系,記為m:n,如圖1-5所示。例如:教師與課程,學(xué)生與課程,學(xué)生與教師考生與志愿院校。圖1-3一對一圖1-4一對多圖1-5多對多161.2.1數(shù)據(jù)化過程(4)3.?dāng)?shù)據(jù)世界將信息世界的實(shí)體及其聯(lián)系進(jìn)一步抽象成便于計(jì)算機(jī)存儲(chǔ)的二進(jìn)制方式,又稱為存儲(chǔ)世界,或者機(jī)器世界。數(shù)據(jù)世界是信息世界中的信息數(shù)據(jù)化后的產(chǎn)物,信息世界的實(shí)體被抽象成數(shù)據(jù)世界的記錄。信息世界的實(shí)體集被抽象成數(shù)據(jù)世界的文件。信息世界的屬性被抽象成數(shù)據(jù)世界的字段(數(shù)據(jù)項(xiàng))。信息在現(xiàn)實(shí)世界、信息世界和數(shù)據(jù)世界之間的對應(yīng)關(guān)系,如表1-1所示。表1-1信息的三種世界術(shù)語對應(yīng)表現(xiàn)實(shí)世界信息世界數(shù)據(jù)世界個(gè)體實(shí)例記錄特性屬性數(shù)據(jù)項(xiàng)總體對象或?qū)嶓w型數(shù)據(jù)或文件實(shí)體間的聯(lián)系對象間的聯(lián)系數(shù)據(jù)間的聯(lián)系客觀實(shí)體及聯(lián)系概念模型邏輯或物理模型171.2
數(shù)據(jù)模型1.2.1數(shù)據(jù)化過程1.2.2數(shù)據(jù)模型的3要素1.2.3數(shù)據(jù)模型的分類1.2.4E-R模型1.2.53種邏輯模型181.2.2數(shù)據(jù)模型的3要素(1)一般而言,數(shù)據(jù)的描述包括兩個(gè)方面:一方面是數(shù)據(jù)的靜態(tài)性,包括數(shù)據(jù)的基本結(jié)構(gòu),數(shù)據(jù)間的聯(lián)系以及對數(shù)據(jù)的約束;另一方面是數(shù)據(jù)的動(dòng)態(tài)性,即對數(shù)據(jù)的操縱(數(shù)據(jù)操作及其規(guī)則)。換句話說,數(shù)據(jù)模型是一組嚴(yán)格定義的概念集合,這些概念精確地描述了系統(tǒng)的靜態(tài)特征(數(shù)據(jù)結(jié)構(gòu))、動(dòng)態(tài)特征(數(shù)據(jù)操縱)和完整性約束條件,這就是數(shù)據(jù)模型的3要素。1.?dāng)?shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)是實(shí)體對象存儲(chǔ)在數(shù)據(jù)庫中記錄型的集合,表示數(shù)據(jù)庫的顯示視圖(邏輯結(jié)構(gòu))和存儲(chǔ)方式(物理結(jié)構(gòu)),即將基本的數(shù)據(jù)項(xiàng)組織成較大的數(shù)據(jù)單位的規(guī)則,用以描述數(shù)據(jù)的類型、內(nèi)容、性質(zhì)和數(shù)據(jù)之間的相互關(guān)系。它是數(shù)據(jù)模型最基本的組成部分,是對系統(tǒng)靜態(tài)特征的描述,包括兩個(gè)方面。數(shù)據(jù)本身:類型、內(nèi)容、性質(zhì)。例如關(guān)系模型中的域、屬性、關(guān)系等。數(shù)據(jù)間的聯(lián)系:數(shù)據(jù)之間是如何相互關(guān)聯(lián)的,例如關(guān)系模型中的主碼、外碼等。數(shù)據(jù)結(jié)構(gòu)包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu),邏輯結(jié)構(gòu)和物理結(jié)構(gòu)是相互獨(dú)立的。(1)邏輯結(jié)構(gòu)是指用戶看到的和直接操作數(shù)據(jù)的視圖結(jié)構(gòu)。邏輯結(jié)構(gòu)又分為局部邏輯結(jié)構(gòu)(外模式)和全局邏輯結(jié)構(gòu)(概念模式)。應(yīng)用程序直接與數(shù)據(jù)局部邏輯結(jié)構(gòu)有關(guān)。(2)物理結(jié)構(gòu)是指數(shù)據(jù)在數(shù)據(jù)庫內(nèi)的物理存儲(chǔ)方式。物理結(jié)構(gòu)獨(dú)立于外模式,用戶或應(yīng)用程序無須關(guān)心;也獨(dú)立于具體的存儲(chǔ)設(shè)備,由DBMS來管理和實(shí)現(xiàn)的。在數(shù)據(jù)庫中,邏輯結(jié)構(gòu)是數(shù)據(jù)模型的核心。依據(jù)全局?jǐn)?shù)據(jù)結(jié)構(gòu)的不同,數(shù)據(jù)模型可以分為層次模型、網(wǎng)狀模型、關(guān)系模型,與之對應(yīng)的數(shù)據(jù)庫管理系統(tǒng)分別是層次型數(shù)據(jù)庫、網(wǎng)狀型數(shù)據(jù)庫、關(guān)系型數(shù)據(jù)庫。191.2.2數(shù)據(jù)模型的3要素(2)2.?dāng)?shù)據(jù)操縱
數(shù)據(jù)操縱是指對數(shù)據(jù)模型中各種對象的操作及其操作規(guī)則的集合。在數(shù)據(jù)庫中,主要指查詢和修改(插入、刪除、更新)兩類操作。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號、操作規(guī)則(如優(yōu)先級)以及實(shí)現(xiàn)操作的語言。數(shù)據(jù)操縱是對系統(tǒng)動(dòng)態(tài)特性的描述。3.完整性約束
完整性約束是指對數(shù)據(jù)模型中的數(shù)據(jù)及其聯(lián)系賦予的制約和依存規(guī)則的集合。用來限定數(shù)據(jù)模型的數(shù)據(jù)狀態(tài)及狀態(tài)變化所應(yīng)滿足的條件,以保證數(shù)據(jù)的正確性、有效性和兼容性。數(shù)據(jù)模型應(yīng)該反映和規(guī)定本數(shù)據(jù)模型必須遵守的基本的通用的完整性約束條件。在關(guān)系模型中,任何關(guān)系必須滿足是實(shí)體完整性和參照完整性的兩個(gè)條件。此外,數(shù)據(jù)模型還應(yīng)該提供定義完整性約束條件的機(jī)制,以反映具體應(yīng)用涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。201.2
數(shù)據(jù)模型1.2.1數(shù)據(jù)化過程1.2.2數(shù)據(jù)模型的3要素1.2.3數(shù)據(jù)模型的分類1.2.4E-R模型1.2.53種邏輯模型211.2.3數(shù)據(jù)模型的分類(1)數(shù)據(jù)模型是反映客觀事物及其聯(lián)系的組織結(jié)構(gòu)(邏輯結(jié)構(gòu)和物理結(jié)構(gòu)),是數(shù)據(jù)庫系統(tǒng)中用于提供信息表示和操作手段的形式框架。在數(shù)據(jù)處理的不同階段,需要使用不同的數(shù)據(jù)模型來描述和抽象數(shù)據(jù)特征,包括概念數(shù)據(jù)模型,邏輯數(shù)據(jù)模型,物理數(shù)據(jù)模型。注意:數(shù)據(jù)模型的選擇應(yīng)滿足3個(gè)基本要求:一是比較真實(shí)地模擬事物及其聯(lián)系,二是為人所理解,三是便于在計(jì)算機(jī)上實(shí)現(xiàn)。1.概念數(shù)據(jù)模型
概念數(shù)據(jù)模型(ConceptualDataModel)簡稱概念模型,也稱信息模型,是現(xiàn)實(shí)世界到信息世界的第一層抽象,也是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。它是按照用戶的觀點(diǎn)對信息世界的建模,不注重?cái)?shù)據(jù)的組織結(jié)構(gòu),強(qiáng)調(diào)數(shù)據(jù)模擬的語義表達(dá)能力,使數(shù)據(jù)更接近于現(xiàn)實(shí)世界,便于用戶理解,是用戶和數(shù)據(jù)庫設(shè)計(jì)人員之間交流的工具。概念模型是一種獨(dú)立于計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)模型,完全不涉及信息在計(jì)算機(jī)中表示;話句話說,概念模型僅僅從思想上、道理上搞清楚實(shí)體的屬性及實(shí)體集之間的聯(lián)系,但不涉及屬性的組織和存儲(chǔ)方式。概念模型主要用于數(shù)據(jù)庫的設(shè)計(jì),通過實(shí)體、聯(lián)系和約束描述現(xiàn)實(shí)世界的靜態(tài)、動(dòng)態(tài)和時(shí)態(tài)特征,不與具體的DBMS相關(guān),只是用來描述某個(gè)特定組織所關(guān)心的信息結(jié)構(gòu)。
概念模型的表示方法很多,其中最著名的、最為常用的方法是E-R模型(Entity-RelationshipMode,實(shí)體-聯(lián)系模型),也稱E-R圖。221.2.3數(shù)據(jù)模型的分類(2)2.邏輯數(shù)據(jù)模型
邏輯數(shù)據(jù)模型(LogicalDataModel)直接面向數(shù)據(jù)的邏輯結(jié)構(gòu),它是現(xiàn)實(shí)世界的第二層次的抽象,著重描述數(shù)據(jù)的組織結(jié)構(gòu),很少考慮數(shù)據(jù)語義和用戶對數(shù)據(jù)庫的理解。邏輯模型是按照計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(shù)據(jù)的建模,也是用戶從數(shù)據(jù)庫中看到的數(shù)據(jù)模型,是具體DBMS所支持的數(shù)據(jù)模型。邏輯模型既面向用戶,又面向系統(tǒng),主要用于DBMS的實(shí)現(xiàn)。DBMS常以其所用的邏輯數(shù)據(jù)模型(數(shù)據(jù)的邏輯結(jié)構(gòu))來分類,如網(wǎng)狀數(shù)據(jù)模型、層次數(shù)據(jù)模型和關(guān)系數(shù)據(jù)模型等。邏輯數(shù)據(jù)模型模型既要面向用戶,又要面向系統(tǒng)。
在關(guān)系數(shù)據(jù)庫的設(shè)計(jì)過程中,用概念模型(E-R圖)表示的數(shù)據(jù)必須轉(zhuǎn)換成邏輯模型(關(guān)系模型)表示的數(shù)據(jù),才能在DBMS中實(shí)現(xiàn)。231.2.3數(shù)據(jù)模型的分類(3)3.物理數(shù)據(jù)模型物理數(shù)據(jù)模型(PhysicalDataModel)是對數(shù)據(jù)最低層次的抽象,它描述數(shù)據(jù)在計(jì)算機(jī)系統(tǒng)內(nèi)(存儲(chǔ)介質(zhì)上)的存儲(chǔ)結(jié)構(gòu)(存儲(chǔ)方式和表現(xiàn)形式)。它不但與具體的DBMS有關(guān),而且還與操作系統(tǒng)和硬件有關(guān)。每一種邏輯數(shù)據(jù)模型在數(shù)據(jù)庫存儲(chǔ)時(shí)都有對應(yīng)的物理數(shù)據(jù)模型。從現(xiàn)實(shí)世界到概念世界的轉(zhuǎn)換是由數(shù)據(jù)庫設(shè)計(jì)人員完成的,從概念模型到邏輯模型的轉(zhuǎn)換可以由數(shù)據(jù)庫設(shè)計(jì)人員完成,也可以用數(shù)據(jù)庫設(shè)計(jì)工具輔助完成,從邏輯模型到物理模型的轉(zhuǎn)換一般是由DBMS自動(dòng)完成的,而設(shè)計(jì)者只設(shè)計(jì)索引、聚集等特殊結(jié)構(gòu)。241.2
數(shù)據(jù)模型1.2.1數(shù)據(jù)化過程1.2.2數(shù)據(jù)模型的3要素1.2.3數(shù)據(jù)模型的分類1.2.4E-R模型1.2.53種邏輯模型251.2.4E-R模型(1)
E-R模型是P.P.Chen于1976年首先提出的一種面向問題的概念模型,即用簡單的圖形方式描述世界中的數(shù)據(jù)及其聯(lián)系。E-R數(shù)據(jù)模型問世后,經(jīng)歷了許多修改和擴(kuò)充,這兒僅介紹基本的E-R數(shù)據(jù)模型。1.描述方法E-R模型的構(gòu)成是實(shí)體、屬性和聯(lián)系,其表示方法如下:(1)實(shí)體:用矩形框表示,矩形框內(nèi)寫上實(shí)體名。(2)屬性:用橢圓框表示,框內(nèi)寫上屬性名,并用無向邊與其實(shí)體集相連。(3)聯(lián)系:用菱形框表示,菱形框中寫上聯(lián)系名,用無向連線將參加聯(lián)系的實(shí)體矩形框分別與菱形框相連,并在連線上標(biāo)明聯(lián)系的類型,即1:1、1:m或m:n。圖1-6學(xué)生實(shí)體及其屬性的E-R模型圖【例1-1】如學(xué)生實(shí)體具有學(xué)號、姓名、性別、出生日期、入學(xué)時(shí)間、籍貫等屬性,用E-R圖表示如圖1-6所示。261.2.4E-R模型(2)【例1-2】如學(xué)生實(shí)體和課程實(shí)體之間為存在選修聯(lián)系(m:n),其選修聯(lián)系附帶屬性為成績,其E-R模型如圖1-7所示。圖1-7學(xué)生和課程實(shí)體之間m:n聯(lián)系的E-R模型圖注意:如果一個(gè)聯(lián)系具有屬性,則這些屬性仍用橢圓形框表示,并用無向邊將這些屬性與該聯(lián)系連接起來。mn271.2
數(shù)據(jù)模型1.2.1數(shù)據(jù)化過程1.2.2數(shù)據(jù)模型的3要素1.2.3數(shù)據(jù)模型的分類1.2.4E-R模型1.2.53種邏輯模型281.2.5
3種邏輯模型(1)
不同的數(shù)據(jù)模型有不同的數(shù)據(jù)結(jié)構(gòu),不同的描述工具,對應(yīng)不同的數(shù)據(jù)管理系統(tǒng),現(xiàn)有的數(shù)據(jù)庫管理系統(tǒng)都是基于某種數(shù)據(jù)模型的。根據(jù)邏輯模型的不同,DBMS通常分為層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο竽P偷?。那么這些邏輯模型究竟有什么不同的3要素呢?291.2.5
3種邏輯模型(2)--層次模型
1.層次模型:現(xiàn)實(shí)世界中,很多事物之間的聯(lián)系本身就是一種很自然的層次關(guān)系,如組織機(jī)構(gòu),家族關(guān)系,物種分類等等。層次數(shù)據(jù)模型的提出,首先是為了模擬這種按層次組織起來的事物。層次模型是最早用于商品數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)模型。最著名最典型的層次數(shù)據(jù)庫系統(tǒng)是IBM公司于1969年開發(fā)的大型商品數(shù)據(jù)庫管理系統(tǒng)IMS(IntegratedDataStore)。(1)基本概念和數(shù)據(jù)結(jié)構(gòu)層次模型:用上下分層的有向樹形結(jié)構(gòu)來描述實(shí)體及實(shí)體間聯(lián)系的數(shù)據(jù)模型。樹是由結(jié)點(diǎn)和連線組成的,結(jié)點(diǎn)表示實(shí)體集,連線表示實(shí)體之間的聯(lián)系,層次模型只能描述一對一、一對多(1:n)聯(lián)系,如果要描述多對多的聯(lián)系,必須采用某種方法將其分解為一對多的聯(lián)系。樹的每個(gè)結(jié)點(diǎn)表示一個(gè)實(shí)體(記錄),它是同類實(shí)體集合的(結(jié)構(gòu))定義,每個(gè)記錄包含若干字段,用來描述實(shí)體的屬性。上一層記錄和下一層記錄表現(xiàn)為父(雙親)子(子女)結(jié)點(diǎn),上下層父子結(jié)點(diǎn)必須是不同的實(shí)體(記錄),實(shí)體(記錄)之間的一對多聯(lián)系用結(jié)點(diǎn)之間的連線(有向邊)表示。各記錄及其字段都必須有唯一的命名。例如,圖1-12是某學(xué)校的系、專業(yè)、班級、教師和課程組成的層次數(shù)據(jù)模型。301.2.53種邏輯模型(3)--層次模型從層次模型的定義和結(jié)構(gòu)看,層次模型需要滿足兩個(gè)基本條件:
A.有且僅有一個(gè)結(jié)點(diǎn)沒有父結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱為根結(jié)點(diǎn)。
B.根結(jié)點(diǎn)以外的其它結(jié)點(diǎn)有且僅有一個(gè)父結(jié)點(diǎn)。(2)數(shù)據(jù)操縱和完整性約束在層次模型中,任何一個(gè)給定值只有按其路徑查看時(shí),才能顯示它的全部意義。同樣,對層次數(shù)據(jù)模型數(shù)據(jù)庫進(jìn)行查詢、插入、刪除和更新操作時(shí),任何一個(gè)子結(jié)點(diǎn)的值不能脫離其父結(jié)點(diǎn)而獨(dú)立存在。在插入時(shí),如果沒有雙親結(jié)點(diǎn)就不能插入子結(jié)點(diǎn)的值,新來的教師位分配專業(yè)教研室則無法插入到數(shù)據(jù)庫中。在刪除時(shí),如果刪除雙親結(jié)點(diǎn)時(shí),則其相應(yīng)的子結(jié)點(diǎn)也會(huì)同時(shí)被刪除。在更新時(shí),如果更新某個(gè)值時(shí),則應(yīng)該更新所有需要修改的值,以保持?jǐn)?shù)據(jù)的一致性。在查詢時(shí),需要考慮層次模型的存取路徑,僅允許自頂向下的單項(xiàng)查詢,如可以直接查詢某課程的基本信息、某教師基本信息,但不能直接查詢某教師的學(xué)生信息,而對于實(shí)體集之間多對多聯(lián)系的處理,解決的方法是引入冗余結(jié)點(diǎn)。311.2.53種邏輯模型(4)--網(wǎng)狀模型2.網(wǎng)狀模型(NetworkDataModel)現(xiàn)實(shí)世界中,事物之間的聯(lián)系大多數(shù)是網(wǎng)狀的、非層次的聯(lián)系,網(wǎng)狀數(shù)據(jù)模型比層次模型更能直接描述現(xiàn)實(shí)世界事物之間復(fù)雜的聯(lián)系。世界上第一個(gè)網(wǎng)狀數(shù)據(jù)庫管理系統(tǒng),也是第一個(gè)DBMS是美國通用電氣公司Bachman等人在1964年開發(fā)成功的IDS(IntegratedDataStore)。(1)基本概念和數(shù)據(jù)結(jié)構(gòu)網(wǎng)狀模型:用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)結(jié)構(gòu)模型。同層次模型一樣,同樣是由結(jié)點(diǎn)和連線組成的,結(jié)點(diǎn)表示實(shí)體集,連線表示實(shí)體之間的聯(lián)系,不過網(wǎng)狀模型的結(jié)點(diǎn)間可以允許存在兩條或多條連線,但是每一連線只能表示1:n聯(lián)系。網(wǎng)狀模型中以記錄為數(shù)據(jù)的存儲(chǔ)單位。記錄包含若干數(shù)據(jù)項(xiàng)。所有的實(shí)體記錄都具有一個(gè)以其為始點(diǎn)和終點(diǎn)循環(huán)鏈表,而每一個(gè)聯(lián)系都處于兩個(gè)鏈表中。321.2.53種邏輯模型(5)--網(wǎng)狀模型網(wǎng)狀數(shù)據(jù)庫的數(shù)據(jù)項(xiàng)可以是多值的和復(fù)合的數(shù)據(jù)。每個(gè)記錄有一個(gè)惟一地標(biāo)識它的內(nèi)部標(biāo)識符,稱為碼(databasekey,dbk),它在一個(gè)記錄存入數(shù)據(jù)庫時(shí)由DBMS自動(dòng)賦予。dbk可以看作記錄的邏輯地址,可作記錄的替身,或用于尋找記錄。網(wǎng)狀模型實(shí)例如圖1-13所示。
圖1-13網(wǎng)狀模型(2)網(wǎng)狀數(shù)據(jù)模型的操縱與完整性約束在網(wǎng)狀模型中,每個(gè)記錄單獨(dú)存放,記錄之間的聯(lián)系用指針和鏈表實(shí)現(xiàn),從而構(gòu)成導(dǎo)航式數(shù)據(jù)庫。用戶在操作數(shù)據(jù)庫時(shí)除了指明對象外,還要規(guī)定存取路徑。它沒有層次模型中那樣嚴(yán)格的完整性約束條件,只對數(shù)據(jù)操縱加了一些限制,提供了一定的完整性約束:◆允許插入無父結(jié)點(diǎn)的子結(jié)點(diǎn);◆允許只刪除父結(jié)點(diǎn),其子結(jié)點(diǎn)仍在;◆更新操作較簡單,只需更新指定記錄即可;◆查詢方便,對稱結(jié)構(gòu),查詢格式相同。331.2.53種邏輯模型(6)--關(guān)系模型3.關(guān)系模型層次數(shù)據(jù)模型和網(wǎng)狀數(shù)據(jù)模型都缺少堅(jiān)實(shí)的理論基礎(chǔ),因此其數(shù)據(jù)模型有比較多的限制,實(shí)際使用時(shí)也不太方便,目前廣泛使用的是關(guān)系數(shù)據(jù)模型,關(guān)系數(shù)據(jù)模型是建立在數(shù)學(xué)概念基礎(chǔ)上的,現(xiàn)在流行的數(shù)據(jù)庫系統(tǒng)大多數(shù)是基于關(guān)系模型的關(guān)系數(shù)據(jù)庫系統(tǒng)。(1)基本概念和數(shù)據(jù)結(jié)構(gòu)關(guān)系模型:用二維表格結(jié)構(gòu)來描述實(shí)體及實(shí)體聯(lián)系的數(shù)據(jù)模型。從用戶觀點(diǎn)看,關(guān)系模型由一組關(guān)系組成,每個(gè)關(guān)系的數(shù)據(jù)結(jié)構(gòu)是一張規(guī)范化了的二維表。表中每行對應(yīng)一個(gè)實(shí)體對象,表中每列對應(yīng)一個(gè)實(shí)體屬性。關(guān)系模型實(shí)例如表1-2~1-4所示(第1行是實(shí)體型,其余行是實(shí)體集)。在關(guān)系模型中,實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來表示。關(guān)系既能反映實(shí)體集之間的一對一聯(lián)系,也能反映一對多和對多對聯(lián)系。34表1-2
學(xué)生 表1-3
課程 1-4選修學(xué)號姓名性別
課程號課程名稱
課程號學(xué)號成績0713011001徐同學(xué)男
01計(jì)算機(jī)基礎(chǔ)
010713011001900713011002盧同學(xué)女
02C
020713011002930713011003江同學(xué)男
03數(shù)據(jù)結(jié)構(gòu)
020713011003900713011004戴同學(xué)女
04計(jì)算機(jī)網(wǎng)絡(luò)
030713011004890713011005華同學(xué)男
05數(shù)據(jù)挖掘
030713011005880713011006王同學(xué)男
06數(shù)據(jù)庫基礎(chǔ)
030713011006900713011007吳同學(xué)女
07ERP
040713011007951.2.53種邏輯模型(7)--關(guān)系模型351.2.53種邏輯模型(8)--關(guān)系模型盡管關(guān)系與傳統(tǒng)的二維表格、傳統(tǒng)的數(shù)據(jù)文件具有類似之處,但是它們又有區(qū)別,嚴(yán)格地說,關(guān)系是一種規(guī)范化的二維表格,具有如下性質(zhì):◆屬性值具有原子性,不可分解;◆每一個(gè)屬性必須有各自不同的名稱,但可以相同的值域;◆關(guān)系中任何兩行不能完全相同;◆理論上沒有行序,但是有時(shí)使用時(shí)可以有行序;◆理論上屬性次序也可以交換,但是使用時(shí)應(yīng)考慮定義的屬性的次序。(2)關(guān)系數(shù)據(jù)模型的操縱與完整性約束在關(guān)系模型中,操作對象和操作結(jié)果都是關(guān)系,即若干元組的集合;存取路徑對用戶隱蔽,用戶操作數(shù)據(jù)時(shí),只要指出“干什么”或“找什么”即可,不必考慮“怎么找(干)”關(guān)系型完整性約束包括實(shí)體完整性、參照完整性、用戶定義的完整性。361.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)伴隨時(shí)間的推移和需求的變化,數(shù)據(jù)庫中的數(shù)據(jù)總是不斷變化的,數(shù)據(jù)庫中整體數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)的變化也是有可能的,而且也是正常的和必需的,但所有這些變化都不應(yīng)該影響用戶數(shù)據(jù)的局部邏輯結(jié)構(gòu),否則,VB、C#、Java等編寫的基于數(shù)據(jù)庫的應(yīng)用程序代碼就必須重新編寫。1.數(shù)據(jù)庫如何做到這一點(diǎn)呢?2.需要掌握哪些概念呢?1.3.1模式與體系結(jié)構(gòu)1.3.2三級模式結(jié)構(gòu)和兩層映像371.3.1三級模式結(jié)構(gòu)1.?dāng)?shù)據(jù)模式的概念數(shù)據(jù)模式是一個(gè)數(shù)據(jù)庫基于特定數(shù)據(jù)模型的邏輯結(jié)構(gòu)和特征定義,它是描述一類事物的結(jié)構(gòu)、屬性、類型和約束。它描述數(shù)據(jù)模型的“型”,不涉及具體的值。某數(shù)據(jù)模式下的一組具體的“值”稱為該數(shù)據(jù)模式的一個(gè)實(shí)例。一個(gè)模式可以有許多實(shí)例,模式是相對穩(wěn)定的(其結(jié)構(gòu)相對不變),反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系;而實(shí)例是相對變動(dòng)的,反映的是數(shù)據(jù)庫某一時(shí)刻的狀態(tài)(數(shù)據(jù)值可以不斷變化的)。2.體系結(jié)構(gòu)的概念數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)是數(shù)據(jù)庫系統(tǒng)的一個(gè)總體框架??疾鞌?shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)可以有多種不同的層次或不同的角度。從數(shù)據(jù)庫管理系統(tǒng)(DBMS)角度看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結(jié)構(gòu),這是數(shù)據(jù)庫系統(tǒng)內(nèi)部的體系結(jié)構(gòu),通常稱為數(shù)據(jù)庫體系結(jié)構(gòu);從數(shù)據(jù)庫最終用戶角度來看,數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)可以分為單機(jī)結(jié)構(gòu)、主從式結(jié)構(gòu)、分布式結(jié)構(gòu)、C/S結(jié)構(gòu)和B/S結(jié)構(gòu)等,這是數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu),簡稱數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)。381.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.3.1模式與體系結(jié)構(gòu)1.3.2三級模式結(jié)構(gòu)和兩層映像391.3.2三級模式結(jié)構(gòu)和兩層映像(1)雖然數(shù)據(jù)庫管理系統(tǒng)軟件種類繁多,應(yīng)用環(huán)境不同,其依賴的邏輯數(shù)據(jù)模型不盡相同,其數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)也各不相同,但是,為了確保用戶數(shù)據(jù)的局部邏輯結(jié)構(gòu)不受整體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的影響,數(shù)據(jù)庫管理系統(tǒng)普遍采用三級模式結(jié)構(gòu)和兩層映象。1.三級模式結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)有邏輯結(jié)構(gòu)和物理結(jié)構(gòu)之分,邏輯結(jié)構(gòu)主要面向用戶的可視操作部分,物理結(jié)構(gòu)面向操作系統(tǒng)的存儲(chǔ)部分。從數(shù)據(jù)庫系統(tǒng)安全的角度考慮,數(shù)據(jù)庫系統(tǒng)必須屏蔽復(fù)雜的物理存儲(chǔ)結(jié)構(gòu)和隱藏具體的維護(hù)細(xì)節(jié),呈現(xiàn)出簡單的邏輯結(jié)構(gòu),供用戶查詢和修改(插入、刪除和更新)自己感興趣的數(shù)據(jù)。為了實(shí)現(xiàn)用戶數(shù)據(jù)到系統(tǒng)數(shù)據(jù)的存儲(chǔ)和轉(zhuǎn)換,需要按照數(shù)據(jù)間的邏輯關(guān)系進(jìn)行精確地描述,通過DBMS將數(shù)據(jù)的邏輯結(jié)構(gòu)轉(zhuǎn)換為數(shù)據(jù)的物理結(jié)構(gòu),存放到外存儲(chǔ)介質(zhì)上。三級模式結(jié)構(gòu):外(子)模式、概念模式和內(nèi)(物理)模式組成,如圖1-14所示。401.3.2三級模式結(jié)構(gòu)和兩層映像(2)圖1-14數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)41(1)外模式(ExternalSchema):又稱子模式,或用戶模式,是對數(shù)據(jù)局部邏輯結(jié)構(gòu)和特征的描述,是用戶看到的和直接操作的部分?jǐn)?shù)據(jù)視圖。應(yīng)用程序是按數(shù)據(jù)局部邏輯結(jié)構(gòu)進(jìn)行設(shè)計(jì),每個(gè)應(yīng)用程序或用戶對應(yīng)不同的外模式,一個(gè)數(shù)據(jù)庫有多個(gè)外模式。外模式是用戶與數(shù)據(jù)庫系統(tǒng)的接口,用戶對數(shù)據(jù)的操作,實(shí)質(zhì)是對外模式的數(shù)據(jù)的操作。外模式負(fù)責(zé)定義用戶數(shù)據(jù),或者從概念模式導(dǎo)出數(shù)據(jù)。(2)概念模式(ConceptualSchema):簡稱模式,又稱邏輯模式,對數(shù)據(jù)全局邏輯結(jié)構(gòu)和特征的描述,是所有用戶的共同的邏輯數(shù)據(jù)視圖,是數(shù)據(jù)庫所有外模式的聯(lián)合。數(shù)據(jù)庫是按數(shù)據(jù)全局邏輯結(jié)構(gòu)設(shè)計(jì),一個(gè)數(shù)據(jù)庫只有一個(gè)概念模式。概念模式是外模式和內(nèi)模式的中間環(huán)節(jié)和隔離層,是保證數(shù)據(jù)獨(dú)立性的關(guān)鍵部分。概念模式不僅負(fù)責(zé)定義數(shù)據(jù)的邏輯結(jié)構(gòu)(數(shù)據(jù)項(xiàng)的名稱、類型。值域),還負(fù)責(zé)定義實(shí)體之間的關(guān)系、數(shù)據(jù)完整性約束等。(3)內(nèi)模式(InternalSchema):又稱物理模式或存儲(chǔ)模式,它給出了數(shù)據(jù)庫物理結(jié)構(gòu)與存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。內(nèi)模式負(fù)責(zé)定義所有數(shù)據(jù)的物理存儲(chǔ)策略和訪問控制方法,包括記錄的存儲(chǔ)順序、文件的組織方式、索引的組織方式等,但不涉及物理記錄在磁盤上的存儲(chǔ),對物理數(shù)據(jù)的存儲(chǔ)和讀取是由操作系統(tǒng)的文件系統(tǒng)實(shí)現(xiàn)的。內(nèi)模式依賴于全局邏輯結(jié)構(gòu),DBMS提供內(nèi)模式描述語言(內(nèi)模式DDL,或者存儲(chǔ)模式DDL)來嚴(yán)格地定義內(nèi)模式,一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式。1.3.2三級模式結(jié)構(gòu)和兩層映像(3)421.3.2三級模式結(jié)構(gòu)和兩層映像(4)2.二級映像三級模式對應(yīng)數(shù)據(jù)的3級抽象,它把數(shù)據(jù)的具體組織留給DBMS管理,使用戶能邏輯地抽象處理數(shù)據(jù),而不用關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的表示和存儲(chǔ)。為了實(shí)現(xiàn)這3級抽象的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫系統(tǒng)在這三級模式中提供了兩層映像,即外模式/模式映像、模式/內(nèi)模式映像。(1)外模式/模式映像外模式/模式映像,定義并保證了外模式與模式之間的對應(yīng)關(guān)系。外模式/模式映像定義通常保存在外模式中。當(dāng)模式發(fā)生變化時(shí),如新增關(guān)系、改變關(guān)系的屬性等,DBA可以通過修改映像(外模式/模式)使外模式不發(fā)生改變。由于應(yīng)用程序是根據(jù)外模式進(jìn)行設(shè)計(jì)的,只要外模式不變,應(yīng)用程序就不需要修改。數(shù)據(jù)庫系統(tǒng)的外模式/模式之間的映像技術(shù)不僅建立了用戶數(shù)據(jù)庫與邏輯數(shù)據(jù)庫之間的對應(yīng)關(guān)系,使得用戶能夠按照外模式進(jìn)行程序設(shè)計(jì),同時(shí)也保證了數(shù)據(jù)與應(yīng)用程序的邏輯獨(dú)立性,簡稱數(shù)據(jù)的邏輯獨(dú)立性。(2)模式/內(nèi)模式映像模式/內(nèi)模式之間的映像,定義并保證了數(shù)據(jù)的概念模式與內(nèi)模式之間的對應(yīng)關(guān)系。它說明數(shù)據(jù)的記錄、數(shù)據(jù)項(xiàng)在計(jì)算機(jī)內(nèi)部是如何組織和表示的。當(dāng)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)改變時(shí),如新增一數(shù)據(jù)文件,改變文件增長方式等,DBA可以通過修改模式/內(nèi)模式之間的映像使概念模式保持不變。由于用戶或程序是按數(shù)據(jù)的外模式使用數(shù)據(jù)的,只要概念模式不變,用戶仍可以按原來的方式使用數(shù)據(jù),應(yīng)用程序也不需要修改。模式/內(nèi)模式的映像技術(shù)不僅使用戶或應(yīng)用程序能夠按數(shù)據(jù)的邏輯結(jié)構(gòu)來使用數(shù)據(jù),還提供了內(nèi)模式變化而應(yīng)用程序不變的方法,從而保證了數(shù)據(jù)與應(yīng)用程序的物理獨(dú)立性,簡稱數(shù)據(jù)的物理獨(dú)立性。數(shù)據(jù)與程序之間的獨(dú)立性,使得數(shù)據(jù)的定義和描述可以從應(yīng)用程序中分離出去。另外,由于數(shù)據(jù)的存取由DBMS管理,用戶不必考慮存取路徑等細(xì)節(jié),從而簡化了應(yīng)用程序的編制,大大減少了應(yīng)用程序的維護(hù)和修改。431.4數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì)是一項(xiàng)基礎(chǔ)性工作,不僅要考慮合理的數(shù)據(jù)庫結(jié)構(gòu)外,還要考慮其它哪些相關(guān)因素?1.4.1數(shù)據(jù)設(shè)計(jì)概述1.4.2E-R模型向關(guān)系模型轉(zhuǎn)換441.4.1數(shù)據(jù)設(shè)計(jì)概述(1)數(shù)據(jù)庫設(shè)計(jì)是指在給定應(yīng)用環(huán)境下和現(xiàn)有DBMS基礎(chǔ)上,構(gòu)造最優(yōu)的數(shù)據(jù)庫模型、建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能有效存儲(chǔ)和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求。通俗地說,是把現(xiàn)實(shí)世界的信息按現(xiàn)有DBMS所支持的數(shù)據(jù)模型轉(zhuǎn)化為計(jì)算機(jī)世界的數(shù)據(jù)存貯的過程。數(shù)據(jù)庫設(shè)計(jì)主要包含兩個(gè)方面內(nèi)容:一是結(jié)構(gòu)設(shè)計(jì)(概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)),也就是設(shè)計(jì)數(shù)據(jù)庫框架或數(shù)據(jù)結(jié)構(gòu),包括數(shù)據(jù)庫的設(shè)計(jì)、表的設(shè)計(jì)和確定表之間聯(lián)系;二是行為設(shè)計(jì)(數(shù)據(jù)庫實(shí)施),即設(shè)計(jì)訪問數(shù)據(jù)庫的應(yīng)用程序,事務(wù)處理等,形成數(shù)據(jù)庫應(yīng)用系統(tǒng)。根據(jù)規(guī)范設(shè)計(jì)法規(guī)定,數(shù)據(jù)庫設(shè)計(jì)一般經(jīng)過以下6個(gè)階段:(1)需求分析:全面、準(zhǔn)確了解并分析用戶需求,以便系統(tǒng)能夠滿足用戶需求。(2)概念設(shè)計(jì):將需求分析得到的用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型(E-R圖)。(3)邏輯設(shè)計(jì):將概念模型(E-R圖)轉(zhuǎn)換為DBMS支持的邏輯模型(關(guān)系模型)。(4)物理設(shè)計(jì):為邏輯模型選擇最合適應(yīng)用環(huán)境的物理結(jié)構(gòu),即確定存儲(chǔ)結(jié)構(gòu)和存取方法,包括數(shù)據(jù)的存放位置和存取路徑以及系統(tǒng)配置。一般說來,關(guān)系型數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的存取是透明的,故不用考慮物理設(shè)計(jì)。451.4.1數(shù)據(jù)設(shè)計(jì)概述(2)(5)數(shù)據(jù)庫實(shí)施:建立數(shù)據(jù)庫、組織數(shù)據(jù)入庫、編制和調(diào)試應(yīng)用程序并進(jìn)行試運(yùn)行。(6)數(shù)據(jù)庫運(yùn)行和維護(hù):在數(shù)據(jù)庫系統(tǒng)運(yùn)行過程中不斷地對其進(jìn)行評價(jià)、調(diào)整與修改。在數(shù)據(jù)庫設(shè)計(jì)過程中,需要的注意事項(xiàng):1)充分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子商務(wù)物流效率客戶反饋提升
- 高一化學(xué)鞏固練習(xí):物質(zhì)的分類(基礎(chǔ))
- 2024高中地理第2章區(qū)域可持續(xù)發(fā)展第1節(jié)荒漠化的危害與治理-以我國西北地區(qū)為例學(xué)案湘教版必修3
- 2024高中物理第三章傳感器章末復(fù)習(xí)課達(dá)標(biāo)作業(yè)含解析粵教版選修3-2
- 2024高中語文第2單元孟子蚜第6課我善養(yǎng)吾浩然之氣訓(xùn)練含解析新人教版選修先秦諸子蚜
- 2024高考化學(xué)一輪復(fù)習(xí)課練11硫及其化合物含解析
- 2024高考?xì)v史一輪復(fù)習(xí)第15講中國近現(xiàn)代社會(huì)生活的變遷學(xué)案含解析人民版
- 2024高考地理一輪復(fù)習(xí)第二部分人文地理-重在運(yùn)用第一章人口的變化第16講人口的數(shù)量變化和人口容量課時(shí)作業(yè)含解析新人教版
- 星星火炬照童心逐夢前行譜新篇-2024秋季學(xué)期學(xué)校少先隊(duì)工作總結(jié)【課件】
- 小學(xué)勞動(dòng)教育實(shí)施方案
- 2024-2025學(xué)年山東省德州市高中五校高二上學(xué)期期中考試地理試題(解析版)
- 麻風(fēng)病病情分析
- 《急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)》
- JJF(陜) 063-2021 漆膜沖擊器校準(zhǔn)規(guī)范
- 《中國糖尿病防治指南(2024版)》更新要點(diǎn)解讀
- 《數(shù)據(jù)分析你懂的》課件
- TSGD7002-2023-壓力管道元件型式試驗(yàn)規(guī)則
- 工程工程融資合同范例
- 《鐵路危險(xiǎn)貨物運(yùn)輸管理規(guī)則》
- 手術(shù)臺(tái)市場環(huán)境與對策分析
- 2024年度家庭醫(yī)生簽約服務(wù)培訓(xùn)課件
評論
0/150
提交評論