第2講-數據模型與數據庫系統(tǒng)開發(fā)過程_第1頁
第2講-數據模型與數據庫系統(tǒng)開發(fā)過程_第2頁
第2講-數據模型與數據庫系統(tǒng)開發(fā)過程_第3頁
第2講-數據模型與數據庫系統(tǒng)開發(fā)過程_第4頁
第2講-數據模型與數據庫系統(tǒng)開發(fā)過程_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1部分:

引言

數據模型與數據庫系統(tǒng)開發(fā)過程

教師:朱征宇

單位:重慶大學計算機學院

課程名稱:數據庫系統(tǒng)

--------------------一幾種典型的數據模型層次數據模型網狀數據模型關系數據模型對象數據模型XML數據模型思考問題:數據結構描述包括哪些方面?數據的內部結構&數據間的聯(lián)系!21.1層次數據模型

第一個商用的層次數據模型系統(tǒng):

IBM公司開發(fā)的數據庫管理系統(tǒng)(IMS,InformationManagementSystem)

在數據庫早期階段曾經廣泛應用!層次數據模型表現(xiàn)為倒立的樹,用樹形結構來表示實體間的聯(lián)系。用戶把層次數據庫理解為段(segment)的層次,一個段等價于一個文件系統(tǒng)的‘記錄型’。在層次數據模型中,文件或記錄之間的聯(lián)系形成層次。 換句話說,層次數據庫把記錄集合表示成倒立的樹結構。簡介層次數據模式層次模式 利用層次模型(記錄&PCR)來描述應用,可以得到一個層次模式(數據庫的結構)。型&實例 一個型多個實例

模式的型:“樹”結構(圖2-5)

模式的實例:森林結構(圖2-6)系班教研組學生教師901班911班王一李四計算機系921班931班錢英周新硬件教研組軟件教研組鄭三

陳芝張三趙立孫玉吳堅洪流丁偉雙親子女關系1.1層次數據模型

非層次結構的描述問題:

M:N聯(lián)系如何描述?

雙親聯(lián)系如何描述?

多數客觀數據不是層次型的,你該如何辦呢?學生課程學生班運動隊1.1層次數據模型6非層次結構的解決方案:

間接表示法方法一:采用副本 對M:N聯(lián)系 對多雙親聯(lián)系

缺點:數據冗余(增加空間,一致性維護難)學生課程課程學生班學生運動隊學生1.1層次數據模型7方法二:虛擬記錄

對M:N聯(lián)系(圖2-13)

雙親聯(lián)系(圖2-14)

不足:增加處理開銷學生(課程)v課程(學生)v班學生運動隊(學生)v1.1層次數據模型8非層次聯(lián)系模式的實例*(虛擬記錄方式)模式

M:N聯(lián)系

(虛擬記錄方式)實例

M:N聯(lián)系的實例學生(課程)v課程(學生)v王一張三李四人工智能人工智能人工智能數據庫數據庫人工智能數據庫王一張三李四張三李四虛擬記錄實際記錄虛擬記錄實際記錄非層次結構模式的實例什么樣?1.1層次數據模型9層次模型的優(yōu)缺點*優(yōu)點:數據模型比較簡單,操作簡單。 采用定長記錄(僅允許簡單屬性),物理實現(xiàn)(按樹順序掃描)為線性存儲。對于實體間聯(lián)系是固定的、且預先定義好的應用系統(tǒng),其性能較高。提供較好的完整性支持。缺點:不適合于表示非層次性的聯(lián)系。對插入和刪除操作的限制比較多。查詢子女結點必須通過雙親結點。導航式操作,要求熟悉詳細組織結構如何評價層次模型?1.1層次數據模型1.2網狀數據模型用網狀結構來表示實體及其聯(lián)系的模型。第一個網狀數據模型系統(tǒng)(也是第一個DBMS):

美國通用電器公司(Bachman等人)開發(fā)的數據庫管理系統(tǒng)IDS(IntegratedDataStore) 奠定了網狀數據庫的基礎!20世紀70年代曾廣泛應用。思考問題:(看圖)

與層次模型的關鍵不同?

允許一個子節(jié)點可以有一個以上的 父節(jié)點沒有父節(jié)點。 父節(jié)點與某個子節(jié)點記錄之間可以 有多種關系(不同系型,見后說明)。簡介系班教研組學生教師(網狀模型)(層次模型)11網狀數據模式網狀模式 利用網狀模型(記錄&系)來描述應用,可以得到一個網狀模式(數據庫設計)。型&

實例 一個型(系,多屬系)多個實例(值) 模式的型:“圖” 模式的實例:“圖”1.2網狀數據模型Link指針系不能直接用來表示一個記錄型的自身聯(lián)系,圖2-19(a)M:N聯(lián)系需用link表示(學生-課程)多元聯(lián)系也用link表示供應商-零件-工程項目)注:Link記錄也可以附有關于聯(lián)系的數據項!

為何需要引入link指針?1.2網狀數據模型網狀數據模型的物理實現(xiàn)網狀數據模型的存儲結構依具體系統(tǒng)不同而不同,常用的方法是鏈接法,包括單向鏈接、雙向鏈接、環(huán)狀鏈接、向首鏈拉等。(采用指針鏈實現(xiàn),允許復雜屬性結構)由此可推知:數據類型可以是各種復雜類型。網狀模型數據如何實際存儲?1.2網狀數據模型網狀模型-的物理存儲結構-實例*網狀模型數據的存儲實例什么樣?1.2網狀數據模型15網狀數據模型的優(yōu)缺點*優(yōu)點:能夠更為直接地描述現(xiàn)實世界。是早期實用非常廣泛的模型 (網狀數據庫之父CharlesBachman,1973年曾獲ACM圖靈獎)具有良好的性能,存取效率較高。缺點:其DDL語言極其復雜。數據獨立性較差。導航式操作:由于實體間的聯(lián)系本質上通過存取路徑指示的,因此應用程序在訪問數據時要指定存取路徑。如何評價網狀數據模型?1.2網狀數據模型RelationalModelExampleoftabulardataintherelationalmodelRelationalschema:instructor(id,name,dept_name,salary)ColumnsRows1.3關系數據模型關系模型如何描述數據?ASampleRelationalDatabase關系模型有型與實例區(qū)分?關系模型如何描述數據間的聯(lián)系?[型模式][實例關系]系與建筑大樓間的聯(lián)系(什么系位于什么大樓)數據結構用關系描述!數據間聯(lián)系也用關系!描述物描述事1.3關系數據模型關系數據模型的優(yōu)缺點*優(yōu)點:

(參:1.13節(jié)&2章首頁)在商用數據處理應用中,關系模型已成為當今主要的數據模型描述形式簡單(關系),數據處理高效與網狀和層次模型相比,關系模型有效地簡化了編程者的工作。 (使用描述性語言SQL,而非導航式操作,不需考慮底層細節(jié))設計應用程序時不需考慮執(zhí)行效率(數據庫提供有效支持)關系數據庫具有堅實的理論基礎(集合論與關系代數-2、6章,規(guī)范化理論-8章等)缺點:

(參:王能斌-《數據庫系統(tǒng)教程》2章)以記錄為基礎,不能很好地面向用戶和應用不能以自然的方式表示實體間的聯(lián)系數據類型太少(僅簡單數據類型),難以滿足應用需要如何評價關系模型?1.3關系數據模型基于對象的數據模型面向對象程序設計已經成為占統(tǒng)治地位的軟件開發(fā)方法,直接導致了面向對象數據模型的發(fā)展(object-baseddatamodel,OBDM)面向對象模型支持封裝、方法、繼承、和對象標識等概念支持豐富的類型系統(tǒng)(可定義各種復雜數據類型)數據被封裝在數據對象中,對外提供方法作為數據訪問接口目前,在數據建模中常有應用;上時間80年代,開發(fā)有多種基于面向對象數據模型的數據庫系統(tǒng)目前,主要的數據庫廠商都支持對象-關系數據模型(object-relationaldatamodel,ORDM)1.4對象數據模型為什么會出現(xiàn)對象數據模型?對象數據模型已得到普遍使用?Object-RelationalDataModels*(Relationalmodel:flat,“atomic”values)ObjectRelationalDataModels (ItisproducedbyconbiningRDMwithOBDM)Extendtherelationaldatamodelbyincludingobjectorientationandconstructstodealwithaddeddatatypes.Allowattributesoftuplestohavecomplextypes,includingnon-atomicvaluessuchasnestedrelations.Preserverelationalfoundations,inparticularthedeclarativeaccesstodata,whileextendingmodelingpower.Provideupwardcompatibilitywithexistingrelationallanguages.什么是對象關系數據模型,有何特點?1.4對象數據模型對象數據模型的優(yōu)缺點*優(yōu)點:能夠支持復雜數據類型和結構可以對象為基礎,很好地面向用戶和應用描述數據特別適用于應用設計的數據建模階段目前主要的數據庫廠商,都支持對象-關系數據模型缺點:描述形式相對復雜,數據處理效率降低增加了編程工作的復雜性真正基于對象的數據庫系統(tǒng)還少見,目前還不是主流如何評價對象數據模型?1.4對象數據模型XML:ExtensibleMarkupLanguageDefinedbytheWWWConsortium(W3C)OriginallyintendedasadocumentmarkuplanguagenotadatabaselanguageTheabilitytospecifynewtags,andtocreatenestedtagstructuresmadeXMLagreatwaytoexchangedata,notjustdocumentsXMLhasbecomethebasisforallnewgenerationdatainterchangeformats.Awidevarietyoftoolsisavailableforparsing,browsingandqueryingXMLdocuments/data(XqueryLanguage)1.5XML數據模型為什么會出現(xiàn)XML數據模型?XML數據模型已得到普遍使用?異構數據的集成異構系統(tǒng)的互通互聯(lián)和數據交換尤其是互聯(lián)網應用的普及<course>

Thiscourseisbeingofferedforthefirsttimein2009.

<courseid>BIO-399</courseid>

<title>ComputationalBiology</title>

<deptname>Biology</deptname>

<credits>3</credits>

</course>XML數據模型的優(yōu)缺點*優(yōu)點:(1.13節(jié)&23章首頁&23.6節(jié))能夠支持復雜數據類型和結構的描述可以新增標簽和定義標簽語義尤其適合于異構系統(tǒng)間的數據集成和數據交換,廣泛應用于數據交換和復雜數據類型的存儲XML數據可存儲在非關系數據庫中,也可存儲在關系數據庫中缺點:為半結構化數據描述形式相對復雜,數據處理效率降低增加了編程工作的復雜性尤其是要實現(xiàn)關系數據庫特點(事務、安全性、高效存儲訪問)更為困難如何評價XML數據模型?1.5XML數據模型24一個大型DBS幾乎用到所有數據庫技術經常用到的技術,可從DBS的設計、開發(fā)和使用環(huán)節(jié)說起!Step1:需求分析 (數據流圖---待續(xù)) 數據需求分析

(用戶需求說明書)

*功能需求分析 (功能需求規(guī)格說明書)Step2:數據結構設計 概念設計

(概念模型-抽象結構,一般與DBMS無關) 邏輯設計

(邏輯模型-與DBMS密切相關)Step3:數據存儲訪問設計 數據存儲設計(物理設計)(物理模型-與DBMS密切相關)

數據訪問設計(物理設計)

(索引) 數據控制設計(完整性&安全性&視圖)Step4:數據庫實現(xiàn)(建立數據庫,數據錄入)------------------此外,應涉及的工作還有:----------------------Step5:*應用功能開發(fā)

(數據查詢技術,嵌入式編程)Step6:系統(tǒng)運行&維護(數據結構更新,數據更新)Step7:*數據分析

(數據倉庫,數據挖掘技術)二數據庫系統(tǒng)的開發(fā)過程DBS開發(fā)涉及哪些數據庫技術?DBS的設計有哪些主要環(huán)節(jié)?

主要環(huán)節(jié):涉及數據庫技術進行數據庫設計首先必須準確的了解和分析用戶需求。需求分析階段是整個設計過程的基礎,是最困難、最耗費時間的一步。作為地基的需求分析是否做得充分與準確,決定了在其上構建的數據庫大廈的速度與質量。需求分析做得不好,甚至會導致整個數據庫設計返工重做。252.1數據需求分析涉及數據庫技術26分析系統(tǒng)的業(yè)務處理流程分析流程中各個業(yè)務環(huán)節(jié)功能需求分析:業(yè)務環(huán)節(jié)中具體處理功能(編程要求)數據需求分析:處理功能中涉及哪些數據(數據庫要求)分析產生結果:數據流圖(處理功能+相關數據)主要:數據流圖分析方法收集數據對象收集數據字典輔助:數據抽取分析方法E-R模型,統(tǒng)一建模語言UML

(初步,客戶交流)數據視圖應用需求分析的任務是什么?數據需求分析涉及哪些數據庫技術?首頁2.1數據需求分析涉及數據庫技術27數據流程圖(樣例)《數據系統(tǒng)原理教程》王珊-清華大學,P185數據流圖及作用?

(第二層數據流圖)2.1數據需求分析涉及數據庫技術28分析數據對象特征和使用需求建立數據模型(對象內部結構和外部關聯(lián))概念設計(抽象描述數據及關聯(lián))邏輯設計(確定便于實現(xiàn)的邏輯結構)特別指出,還應當包括:根據開發(fā)需要調整和選擇數據模型 數據結構優(yōu)化!分析和描述數據約束E-R模型,UML(概念設計) ---面向客觀世界!關系數據模型(邏輯設計)對象數據模型(邏輯設計)---面向計算機實現(xiàn)!XML數據模型(邏輯設計)2.2數據結構設計涉及的數據庫技術數據結構設計的任務是什么?數據結構設計涉及哪些數據庫技術?概念結構設計是整個數據庫設計的關鍵,通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體的DNMS的概念模型。邏輯結構設計是將概念結構轉換為某個DBMS所支持的數據模型,并對其進行優(yōu)化。29概念結構設計是什么?邏輯結構設計是什么?2.2數據結構設計涉及數據庫技術30多層抽象概念(三層模式結構)物理層(Physicallevel):

(物理模式、內模式)

describeshowarecord(e.g.,customer)isstored.邏輯層(Logicallevel):

(邏輯模式、外模式)

describesdatastoredindatabase,andtherelationshipsamongthedata. type

customer=record

customer_id:string;

customer_name:string;

customer_street:string;

customer_city:integer;end;視圖層(Viewlevel)/應用層:

(子模式、視圖)

applicationprogramshidedetailsofdatatypes.Viewscanalsohideinformation(suchasanemployee’ssalary)forsecuritypurposes.三層模式之間如何關聯(lián),有何優(yōu)點?如何體現(xiàn)數據結構的設計效率?2.2數據結構設計涉及數據庫技術31三層模式兩級映射及優(yōu)點第一級映射第二級映射兩級獨立:

應用獨立性!

物理獨立性!首頁2.2數據結構設計涉及數據庫技術數據庫物理設計是為邏輯數據模型選取一個最合適應用環(huán)境的物理結構(包括存儲結構和存取方法)322.3數據庫物理設計數據庫實施階段,設計人員運用DBMS提供的數據語言及其宿主語言,根據邏輯設計和物理設計的結果建立數據庫,編制與調試應用程序,組織數據入庫,并進行試運行。332.4數據庫實現(xiàn)數據庫應用系統(tǒng)經過試運行后,即可投入正式運行。在數據庫系統(tǒng)運行過程中必須不斷對其進行評價、調整與修改。設計一個完善的數據庫應用系統(tǒng)是不可能一蹴而就的,它往往是上述幾個階段的不斷反復的過程。342.5數據庫運行和維護階段35352.6數據庫技術總結DBS開發(fā)涉及的數據庫技術大型商用數據庫產品(實現(xiàn)了上述各種數據庫技術)1數據分析與挖掘應用開發(fā)應用設計和開發(fā)需求分析數據流圖數據字典數據視圖ER模型&UML結構設計E-R模型&URL對象數據模型關系數據模型XML數據模型存儲訪問SQL存儲和文件結構查詢處理查詢優(yōu)化信息檢索索引與散列數據控制事務管理并發(fā)控制DBMS體系結構安全性控制并行數據庫分布式數據庫備份與恢復系統(tǒng)數據維護開發(fā)環(huán)節(jié)各環(huán)節(jié)涉及的數據庫技術

數據庫技術

溫馨提示

  • 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

提交評論