數(shù)據(jù)庫課程-ch1 介紹_第1頁
數(shù)據(jù)庫課程-ch1 介紹_第2頁
數(shù)據(jù)庫課程-ch1 介紹_第3頁
數(shù)據(jù)庫課程-ch1 介紹_第4頁
數(shù)據(jù)庫課程-ch1 介紹_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數(shù)據(jù)庫系統(tǒng)概論計算機學院胡霍真教材Bookname:DatabaseSystemConcepts,第五版(本科教學版)Author:AbrahamSilberschatz,HenryEKorth,S.SudarshanPress:ChinaMachinePress參考書Bookname:AnIntroductiontoDatabaseSystemsAuthor:C.J.DatePress:ChinaMachinePressBookname:

數(shù)據(jù)庫系統(tǒng)概念(第三版)

Author:

薩師煊王珊

Press:

HigherEducationPressBookname:數(shù)據(jù)庫系統(tǒng)基礎Author:馮玉才

Press:

華中科技大學Chapter1:Introduction

第一章:介紹PurposeofDatabaseSystems數(shù)據(jù)庫系統(tǒng)作用ViewofData數(shù)據(jù)層次DataModels數(shù)據(jù)模型DataDefinitionLanguage數(shù)據(jù)定義語言DataManipulationLanguage數(shù)據(jù)操作語言TransactionManagement事務管理StorageManagement存儲管理DatabaseAdministrator數(shù)據(jù)庫管理員DatabaseUsers數(shù)據(jù)庫用戶OverallSystemStructure系統(tǒng)總體結構DatabaseManagementSystem(DBMS)

數(shù)據(jù)庫管理系統(tǒng)Data數(shù)據(jù)定義:描述事物的符號記錄稱為數(shù)據(jù)。數(shù)據(jù)是數(shù)據(jù)庫中存儲的基本對象,現(xiàn)實世界中的數(shù)據(jù)有很多種類,如文字、聲音、圖像、學生的檔案記錄等。數(shù)據(jù)在計算機中的描述:

例:某學生的記錄(19103104,張三,男,1985,計算機學院)DataBase數(shù)據(jù)庫,簡稱DB定義:是指長期存儲在計算機內的、有組織、可共享的相關數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù),按一定的數(shù)據(jù)模型組織、描述和存儲,能供各種用戶共享,具有較小的冗余度,數(shù)據(jù)間聯(lián)系密切,而又有較高的程序與數(shù)據(jù)的獨立性。DatabaseManagementSystem數(shù)據(jù)庫管理系統(tǒng)定義:關聯(lián)數(shù)據(jù)集合和一組訪問這些數(shù)據(jù)的程序集目的:DBMS提供高效、便利的應用環(huán)境主要功能:①數(shù)據(jù)定義功能(DDL)

②數(shù)據(jù)操縱功能(DML)

③數(shù)據(jù)庫的運行管理

④數(shù)據(jù)庫的建立和維護功能DataDefinitionLanguage(DDL)

數(shù)據(jù)定義語言①數(shù)據(jù)定義功能(DDL):用戶通過DBMS提供的數(shù)據(jù)定義語言DDL可以對數(shù)據(jù)庫中的數(shù)據(jù)對象進行定義。數(shù)據(jù)庫模式定義的規(guī)則說明如 createtableaccount(

account-numberchar(10),

balanceinteger)datadictionary數(shù)據(jù)字典數(shù)據(jù)字典中包含元數(shù)據(jù)(即關于數(shù)據(jù)的數(shù)據(jù))Databaseschema數(shù)據(jù)庫模式Datastorageanddefinitionlanguage數(shù)據(jù)存儲定義語言說明數(shù)據(jù)庫系統(tǒng)中存儲結構和訪問方法的語言通常是數(shù)據(jù)定義語言的擴充DataManipulationLanguage(DML)

數(shù)據(jù)操縱語言②數(shù)據(jù)操縱功能(DML):用戶可以使用DBMS提供的數(shù)據(jù)操縱語言DML操縱數(shù)據(jù),實現(xiàn)對數(shù)據(jù)庫的基本操作,如查詢、插入、刪除和修改等。訪問和操縱按照某種特定數(shù)據(jù)模型有組織起來的數(shù)據(jù)的語言DMLalsoknownasquerylanguage數(shù)據(jù)操縱語言一般被當作查詢語言兩類數(shù)據(jù)操縱語言過程化——用戶指定所需數(shù)據(jù)及訪問數(shù)據(jù)的方式非過程化——用戶指定所需數(shù)據(jù),但無須說明訪問數(shù)據(jù)的方式最常用的查詢語言是SQL,它的DML部分是非過程化的③數(shù)據(jù)庫的運行管理

數(shù)據(jù)庫在建立、運用和維護時由DBMS統(tǒng)一管理、統(tǒng)一控制,以保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復。④數(shù)據(jù)庫的建立和維護功能

包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入、轉換功能,數(shù)據(jù)庫的轉儲、恢復功能,數(shù)據(jù)庫的重組織功能和性能監(jiān)視、分析功能等。DataBaseSystem,簡稱DBS,數(shù)據(jù)庫系統(tǒng)定義:DBS是指在計算機系統(tǒng)中引入DB后的系統(tǒng)。組成:由DB、DBMS及其開發(fā)工具、應用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構成。DBS=DB+DBMS+APPLICATION+DBA+USERDBA:DataBaseAdministrator,數(shù)據(jù)庫管理員我們通常所說的數(shù)據(jù)庫系統(tǒng)主要是指DBMS,而不是指存放數(shù)據(jù)的具體數(shù)據(jù)庫。數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫操作系統(tǒng)應用系統(tǒng)…用戶用戶數(shù)據(jù)庫系統(tǒng)的應用:銀行業(yè):客戶、帳戶、貸款、銀行交易航空業(yè):預定、調度大學:注冊、評分銷售業(yè):客戶、產品、購買制造業(yè):生產、記帳、定單、供應鏈人力資源:雇員記錄、工資、課稅減免數(shù)據(jù)庫接觸生活各層面PurposeofDatabaseSystems

數(shù)據(jù)庫系統(tǒng)的目的數(shù)據(jù)管理技術隨著計算機軟硬件的發(fā)展而不斷發(fā)展,40多年來經歷了以下三個階段:人工管理階段50年代中期以前沒有操作系統(tǒng),沒有管理數(shù)據(jù)的軟件,沒有磁盤等直接存取的存儲設備,因此無法將數(shù)據(jù)存儲在磁盤上,人們只能用最原始的手工方式來操作計算機,例如用紙帶穿孔來標記數(shù)據(jù)。數(shù)據(jù)不保存、應用程序管理數(shù)據(jù)、數(shù)據(jù)不共享、數(shù)據(jù)不具有獨立性文件系統(tǒng)階段文件系統(tǒng)階段50年代后期到60年代中期計算機已經有了操作系統(tǒng)。在操作系統(tǒng)基礎之上建立的文件系統(tǒng)已經成熟并廣泛應用。因此,人們自然想到用文件把大量的數(shù)據(jù)存儲在磁盤上,以實現(xiàn)對數(shù)據(jù)的永久保存和自動管理以及維護。用文件系統(tǒng)管理數(shù)據(jù)的優(yōu)點數(shù)據(jù)可以長期保存由文件系統(tǒng)管理數(shù)據(jù)使用文件系統(tǒng)存儲數(shù)據(jù)的缺點:1、Dataredundancyandinconsistency數(shù)據(jù)冗余和不一致性多種文件格式,不同的文件中信息重復2、Difficultyinaccessingdata訪問數(shù)據(jù)困難要為每個新任務編寫新程序3、Dataisolation—multiplefilesandformats數(shù)據(jù)孤立——多文件和多格式4、Integrityproblems完整性問題Integrityconstraints完整性約束(如帳目結算>$25)是程序代碼的組成部分增加新的約束或改變現(xiàn)有約束困難1.數(shù)據(jù)冗余和不一致性nameaddressdepartmentsalaryHayesRoundHiddAccount500JohnsonPerryridgeAccount780SmithPerryridgeLoan1200namecoursedepartmentHayesOSAccountJohnsonDBAccountSmithOSLoanLoanHayesLoanHayesAccount?employeeEnrollment接受培訓的雇員不一致性2.訪問數(shù)據(jù)困難要求:

找出所有居住在武漢的顧客的姓名列表。

涉及問題從顧客表格中提取所需信息。必須寫一個新的應用程序。找出所有居住在武漢并且擁有至少1000美元存款的顧客的姓名列表。PurposeofDatabaseSystems(Cont.)

數(shù)據(jù)庫系統(tǒng)的作用(續(xù))使用文件系統(tǒng)的缺點(續(xù))5、Atomicityproblem原子性問題執(zhí)行部分更新時的失敗會導致數(shù)據(jù)庫處于不一致狀態(tài)如,帳號間的資金轉換要么完成,要么完全不進行6、Concurrent-accessanomalies并發(fā)訪問異常并發(fā)存取提高性能不經控制的并發(fā)存取會導致不一致如,兩個人讀余額,并同時進行更新操作。7、Securityproblems安全性問題數(shù)據(jù)庫系統(tǒng)為上述所有問題提供了解決方案6.并發(fā)訪問異常Husband$100AccountA$500Wife$50Read$500$500-$50=$450Write$450Read$500$500-$100=$400Write$400$400/$450X數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段60年代后期開始1969年,美國IBM公司研制了第一個層次數(shù)據(jù)庫管理系統(tǒng)IMS(InformationManagementSystem)。同年,美國的DBTG(DataBaseTaskGroup)小組發(fā)表了DBTG報告,給出了網狀型數(shù)據(jù)庫的規(guī)范。在1970年,IBM公司的E.F.Codd研究員發(fā)表論文提出了關系數(shù)據(jù)庫的模型,奠定了關系數(shù)據(jù)庫的理論基礎。隨后一系列工作成果使E.F.Codd獲得了1981年的ACM圖靈獎。數(shù)據(jù)庫系統(tǒng)的特點:1、數(shù)據(jù)結構化采用復雜的數(shù)據(jù)模型結構,描述數(shù)據(jù)本身的特點及數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)庫系統(tǒng)實現(xiàn)整體數(shù)據(jù)的結構化是數(shù)據(jù)庫的主要特征之一,也是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質區(qū)別。2、數(shù)據(jù)的共享性高、冗余度低、易擴充數(shù)據(jù)是面向整個系統(tǒng)的,使得數(shù)據(jù)可以被多個用戶、多個應用共享使用。數(shù)據(jù)共享大大減少數(shù)據(jù)冗余,也易于擴充。3、數(shù)據(jù)獨立性高物理獨立性:指用戶的應用程序與存儲在磁盤上的數(shù)據(jù)庫中的數(shù)據(jù)是相互獨立的。邏輯獨立性:指用戶的應用程序與數(shù)據(jù)庫的邏輯結構是相互獨立的。數(shù)據(jù)與程序的獨立,把數(shù)據(jù)的定義從程序中分離出去,加上數(shù)據(jù)的存取又由DBMS負責,從而簡化了應用程序的編制,大大減少了應用程序的維護和修改。4、數(shù)據(jù)由DBMS統(tǒng)一管理和控制數(shù)據(jù)庫的共享是并發(fā)的共享,即多個用戶可以同時存取數(shù)據(jù)庫中的數(shù)據(jù),甚至可以同時存取數(shù)據(jù)庫中同一數(shù)據(jù)。DBMS提供以下幾方面的數(shù)據(jù)控制功能:①數(shù)據(jù)的安全性保護②數(shù)據(jù)的完整性檢查③并發(fā)控制④數(shù)據(jù)庫恢復Model模型models模型:是現(xiàn)實世界特征的模擬和抽象。根據(jù)模型應用的不同目的,將模型劃分成兩類:Conceptmodels概念模型也稱信息模型;它是按用戶的觀點來對數(shù)據(jù)和信息建模;主要用于數(shù)據(jù)庫設計;Datamodels數(shù)據(jù)模型主要包括層次、網狀、關系模型等;它是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模;主要用于DBMS的實現(xiàn);數(shù)據(jù)模型:描述數(shù)據(jù)、數(shù)據(jù)聯(lián)系、數(shù)據(jù)語義以及一致性約束的概念工具的集合。Entity-RelationshipModel

實體-聯(lián)系模型實體-聯(lián)系模型的模式示例(客戶-儲戶-帳戶)EntityRelationshipModel(Cont.)

實體聯(lián)系模型(續(xù))E-Rmodelofrealworld現(xiàn)實世界的E-R模型Entities(objects)實體(對象)如客戶、帳戶、銀行分支機構Relationshipsbetweenentities實體間的聯(lián)系如客戶約翰遜持有帳戶A-101聯(lián)系集“儲戶”將客戶與帳戶關聯(lián)起來Mappingcardinalities映射基數(shù)廣泛應用于數(shù)據(jù)庫設計數(shù)據(jù)庫通常將E-R模型的設計轉換成關系模型(下面將論及)的設計,用于存儲和處理數(shù)據(jù)模型通常由數(shù)據(jù)結構(系統(tǒng)靜態(tài)特性)、數(shù)據(jù)操作(系統(tǒng)動態(tài)特性)和完整性約束三部分組成。常用的數(shù)據(jù)模型有以下四種:HierarchicalModel層次模型NetworkModel網狀模型RelationalModel關系模型ObjectOrientedModel面向對象模型其中,層次模型和網狀模型統(tǒng)稱為非關系型模型。層次模型層次模型的數(shù)據(jù)結構①有且只有一個結點沒有雙親結點,這個結點稱為

根結點;②根以外的其他結點有且只有一個雙親結點。層次模型用樹形結構來表示各類實體以及實體間的聯(lián)系。層次數(shù)據(jù)庫系統(tǒng)只能處理一對多的實體聯(lián)系。在層次模型中,每個結點表示一個記錄類型,記錄(類型)之間的聯(lián)系用結點之間的連線(有向邊)表示,這種聯(lián)系是父子之間的一對多的聯(lián)系。這使得層次數(shù)據(jù)庫系統(tǒng)只能處理一對多的實體聯(lián)系。每個記錄類型可包含若干個字段,記錄類型描述的是實體,字段描述的是實體的屬性,各個記錄類型和字段都必須命名。層次模型的基本特點:任何一個給定的記錄值只有按其路徑查看時,才能顯出它的全部意義。在層次數(shù)據(jù)模型中,沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在。例:教員學生數(shù)據(jù)庫模型職工號姓名研究方向教員學號姓名成績學生教研室編號教研室名教研室系編號系名辦公地點系例:教員學生數(shù)據(jù)庫的一個實例D02計算機信息樓系R01數(shù)據(jù)庫教研室R02信息系統(tǒng)R03網絡學生S63871文繼容AS63874張華CS63875李玲AE2101王大名數(shù)據(jù)庫教員E1709馮序數(shù)據(jù)倉庫E1101陳杉網絡安全教員E3704劉念網絡管理多對多聯(lián)系在層次模型中的表示層次模型不能直接表示多對多聯(lián)系,必須先設法將該關系分解為一對多聯(lián)系,然后再用層次模型來表示。分解的方法有兩種:冗余結點法和虛擬結點法。冗余結點法:增設兩個冗余結點,將多對多聯(lián)系轉換成兩個一對多聯(lián)系。虛擬結點法:將冗余結點轉換為虛擬結點(即指引元),指向所替代的結點。例:學生與課程之間的多對多聯(lián)系mn優(yōu)點:允許結點改變存儲位置。缺點:需要額外占用存儲空間,有潛在的不一致性。優(yōu)點:減少對存儲空間的浪費,避免產生潛在的不一致性。缺點:結點改變存儲位置可能引起虛擬結點中指針的修改。層次模型的數(shù)據(jù)操縱與完整性約束

層次模型的數(shù)據(jù)操縱主要有查詢、插入、刪除和修改。進行插入、刪除、修改操作時要滿足層次模型的完整性約束條件。插入:如果沒有相應的雙親結點值就不能插入子女結點值。例:調入一名教師,要分配教研室刪除:如果刪除雙親結點值,則相應的子女結點值也被同時刪除。例:刪除某個教研室修改:應修改所有相應記錄,以保證數(shù)據(jù)的一致性。例:對于冗余結點法層次模型的存儲結構層次數(shù)據(jù)庫中不僅要存儲數(shù)據(jù)本身,還要存儲數(shù)據(jù)之間的層次聯(lián)系。層次模型數(shù)據(jù)的存儲常常是和數(shù)據(jù)之間聯(lián)系的存儲結合在一起的。常用的實現(xiàn)方法有兩種:鄰接法:按照層次樹前序穿越的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來體現(xiàn)(或隱含)層次順序。鏈接法:用指引元來反映數(shù)據(jù)間的層次聯(lián)系。子女-兄弟鏈接法層次序列鏈接法層次數(shù)據(jù)庫及其實例A1B1C1C3C5C7B4C2C9B6C4C6C8A2…A1B1B4B6C1C3C5C7C2C9C6C4C8ABC鄰接法子女-兄弟鏈接法(最左邊的子女,最近的兄弟)A1B1B4B6*A2C1C4C9*C2C7*C5C3C8*C6層次序列鏈接法A1B6B4B1C8C6C4C9C2C7C5C3C1層次模型的優(yōu)缺點優(yōu)點①模型簡單。②用層次模型的應用系統(tǒng)性能好,特別是對于那些實體間聯(lián)系是固定的預先定義好的應用,采用層次模型來實現(xiàn),其性能優(yōu)于關系模型。③提供了良好的完整性支持。缺點①現(xiàn)實世界中很多聯(lián)系是非層次的,用層次模型表示會引入冗余數(shù)據(jù)或創(chuàng)建非自然的數(shù)據(jù)組織。②對插入刪除操作的限制比較多。③查詢子女結點必須通過雙親結點。④由于結構嚴密,層次命令趨于程序化。NetworkModel網狀數(shù)據(jù)模型的數(shù)據(jù)結構①允許一個以上的結點無雙親;②一個結點可以有多于一個的雙親。層次模型是網狀模型的一個特例。網狀模型去掉了層次模型的兩個限制,另外,它還允許兩個結點之間有多種聯(lián)系,因此能更直接地去描述現(xiàn)實世界。與層次模型一樣,網狀模型中每個結點表示一個記錄類型(實體),每個記錄類型可包含若干個字段(實體的屬性),結點間的連線表示記錄類型之間的父子聯(lián)系。從定義可以看出,層次模型中子女結點與雙親結點的聯(lián)系是唯一的,而在網狀模型中這種聯(lián)系可以不唯一。因此,要為每個聯(lián)系命名,并指出與該聯(lián)系有關的雙親記錄和子女記錄。例:學生/選課/課程的網狀數(shù)據(jù)庫模式學號課程號成績選課課程號課程名學分課程學號姓名系別學生S-SCC-SCDBTG模型(網狀數(shù)據(jù)模型的典型代表,不是實際的軟件,但他提出的基本概念、方法和技術具有普遍意義)中不能表示記錄之間多對多的聯(lián)系。為此引進一個學生選課的聯(lián)結記錄。網狀數(shù)據(jù)模型的操縱與完整性約束

具體的網狀數(shù)據(jù)庫系統(tǒng)對數(shù)據(jù)操縱都加了一些限制,提供了一定的完整性約束。DBTG系統(tǒng)在模式DDL中提供了定義DBTG數(shù)據(jù)庫完整性的若干概念和語句,主要有:支持記錄碼的概念,碼即唯一標識記錄的數(shù)據(jù)

項的集合。保證一個聯(lián)系中雙親記錄和子女記錄之間是一

對多聯(lián)系??梢灾С蛛p親記錄和子女記錄之間某些約束條件。例:學生選課記錄值必須是數(shù)據(jù)庫中存在的某一學生,某一門課的選修記錄。網狀數(shù)據(jù)模型的存儲結構網狀數(shù)據(jù)模型的存儲結構中關鍵是如何實現(xiàn)記錄之間的聯(lián)系。常用的方法是鏈接法。網狀數(shù)據(jù)模型的優(yōu)缺點優(yōu)點更為直接地描述現(xiàn)實世界。具有良好的性能,存取效率高。缺點結構復雜,不利于最終用戶掌握。其DDL、DML語言復雜,用戶不容易使用。學生/選課/課程的網狀數(shù)據(jù)庫實例S1C2AS2C1AS3C1BS3C2BS4C1AS2C3BS1C1AS1S2S3C1C2ASampleRelationalDatabase

關系型數(shù)據(jù)庫示例dataAbstraction

數(shù)據(jù)抽象Physicallevel物理層:抽象的最低層次,描述數(shù)據(jù)實際上是怎樣存儲的。Logicallevel邏輯層:比物理層稍高的抽象層次,描述數(shù)據(jù)庫中存儲什么數(shù)據(jù),及這些數(shù)據(jù)間的關聯(lián)。

Viewlevel視圖層:抽象的最高層次,只描述整個數(shù)據(jù)庫的某個部分。應用程序屏蔽了數(shù)據(jù)類型的細節(jié)視圖還可以出于安全原因屏蔽相關信息(如工資)Thethreelevelsofdataabstraction.數(shù)據(jù)抽象的三個層次Forexample,inaPascal-likelanguage,wemaydeclarearecordasfollows:type

customer=record

customer-name:string;

social-security:string;customer-street:string;

customer-city:string;

end;

Abankingenterprisemayhaveseveralsuchrecordtypes,including

account,withfieldsaccount-numberandbalance

employee,withfieldsemployee-nameandsalaryInstancesandSchemas

實例和模式(值與型)與編程語言中的類型和變量類似Schema模式——數(shù)據(jù)庫的總體設計例如,數(shù)據(jù)庫包括客戶、帳戶集,以及他們之間的關系信息。模擬程序中變量的類型信息varcustomer1:customer;Physicalschema物理模式:物理層的數(shù)據(jù)庫設計Logicalschema邏輯模式:邏輯層的數(shù)據(jù)庫設計Subschema子模式:數(shù)據(jù)庫的不同視圖Instance實例——某一時刻數(shù)據(jù)庫的實際內容模擬變量的值

數(shù)據(jù)庫系統(tǒng)的三級模式結構一、模式(Schema)

也稱邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。它包括數(shù)據(jù)庫中所有的域、關系和屬性的命名和描述,是整個數(shù)據(jù)庫的框架。一個數(shù)據(jù)庫只有一個模式,它以某種數(shù)據(jù)模型為基礎,綜合考慮所有用戶的需求并將之有機組成一個邏輯整體。定義模式既要定義數(shù)據(jù)的邏輯結構,也要定義數(shù)據(jù)之間的聯(lián)系和與數(shù)據(jù)有關的安全性、完整性要求。DBMS提供模式描述語言(模式DDL)

來嚴格地定義模式。數(shù)據(jù)庫系統(tǒng)的三級模式結構二、外模式(ExternalSchema)

也稱子模式或用戶模式,是數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結構和特征的描述,是一個或幾個具體數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)的數(shù)據(jù)視圖的描述,它只描述這些用戶所關心的域、屬性、關系和記錄,是與某一應用有關的數(shù)據(jù)的邏輯表示。

外模式通常是模式的子集。一個數(shù)據(jù)庫可以有多個外模式。外模式是各個用戶的數(shù)據(jù)視圖,它的描述因用戶的要求不同而異。即使對模式中同一

數(shù)據(jù),在外模式中的結構、類型、長

度、保密級別等都可以不同。數(shù)據(jù)庫系統(tǒng)的三級模式結構二、外模式(ExternalSchema)

同一外模式可以為某一用戶的多個應用系統(tǒng)所使用,但一個應用程序只能使用一個外模式。外模式是保證數(shù)據(jù)庫安全性的一個有力措施。每個用戶只能看見和訪問所對應的外模式中的數(shù)據(jù),數(shù)據(jù)庫中的其余數(shù)據(jù)是不可見的。DBMS提供子模式描述語言(子模式DDL)來嚴格地定義子模式。數(shù)據(jù)庫系統(tǒng)的三級模式結構三、內模式(InternalSchema)

也稱存儲模式,它是數(shù)據(jù)物理結構和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內部的表示方式。

一個數(shù)據(jù)庫只有一個內模式。

例如,記錄的存儲方式是順序存儲、按照B樹結構存儲、還是按Hash方法存儲等。DBMS提供內模式描述語言(內模式DDL)

來嚴格地定義內模式。數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個抽象級

別,它把數(shù)據(jù)的具體組織留給DBMS管理,使

用戶能邏輯地抽象地處理數(shù)據(jù),而不必關心數(shù)

據(jù)在計算機中的具體表示方式與存儲方式。為了能夠在內部實現(xiàn)這三個抽象層次的聯(lián)系和

轉換,數(shù)據(jù)庫管理系統(tǒng)在這三級模式之間提供

了兩層映象:外模式/模式映象模式/內模式映象這兩層映象保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)具有

較高的邏輯獨立性和物理獨立性。數(shù)據(jù)庫的二級映象功能與數(shù)據(jù)獨立性數(shù)據(jù)庫的二級映象功能與數(shù)據(jù)獨立性一、外模式/模式映象

對應于同一個模式可以有任意多個外模式。對于每一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式/模式映象,它定義了該外模式與模式之間的對應關系。這些映象通常包含在各自外模式的描述中。當模式改變時(例如增加新的關系、新的屬性、改變屬性的數(shù)據(jù)類型等),由DBA對各個外模式/模式映象作相應改變,可以使外模式保持不變,也不必修改應用程序(應用程序是依據(jù)數(shù)據(jù)的外模式編寫的),保證了數(shù)據(jù)與程序的邏輯獨立性。

二、模式/內模式映象

數(shù)據(jù)庫中只有一個模式,也只有一個內模式,所以模式/內模式映象是唯一的,它定義了數(shù)據(jù)庫全局邏輯結構與存儲結構之間的對應關系。例如,說明邏輯記錄和字段在內部是如何表示的。該映象定義通常包含在模式描述中。當數(shù)據(jù)庫的存儲結構改變了,由DBA對模式/內模式映象作相應改變,可以使模式保持不變,也不必修改應用程序,保證了數(shù)

據(jù)與程序的物理獨立性。DataIndependence

數(shù)據(jù)獨立性PhysicalDataIndependence

物理數(shù)據(jù)獨立性——改變物理模式不影響應用程序的能力應用依賴于邏輯模式通常,各層間和各部分間的接口要仔細定義,保證部分的改變不會嚴重影響其他部分。Logicaldataindependence

邏輯數(shù)據(jù)獨立性——修改邏輯模式不影響應用程序的能力。(更難實現(xiàn),因為應用程序更多依賴于存取數(shù)據(jù)的邏輯結構)數(shù)據(jù)庫邏輯結構發(fā)生改變(如銀行系統(tǒng)中增加money-marketaccounts)邏輯層修改就是必然。SQLSQL:最常用的非過程化語言SQL例如找出客戶號為192-83-7465的客戶姓名

selectcustomer.customer-name

fromcustomer

wherecustomer.customer-id=‘192-83-7465’例如找出客戶號192-83-7465所持帳戶的所

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論