東華大學數據庫與軟件工程02_第1頁
東華大學數據庫與軟件工程02_第2頁
東華大學數據庫與軟件工程02_第3頁
東華大學數據庫與軟件工程02_第4頁
東華大學數據庫與軟件工程02_第5頁
已閱讀5頁,還剩69頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

第1章重點內容數據、數據庫、數據庫管理系統、數據庫系統數據庫管理系統的功能數據庫系統的特點數據庫系統的三級模式結構和二級映像

2.1信息的三種世界及描述客觀對象的抽象過程-兩步抽象現實世界中的客觀對象抽象為概念模型;把概念模型轉換為某一DBMS支持的數據模型。

第2章數據模型與概念模型第2章數據模型與概念模型DBMS支持的數據模型概念模型認識抽象信息世界機器世界現實世界中客觀對象的抽象過程現實世界現實世界概念模型數據庫設計人員完成邏輯模型物理模型由DBMS完成概念模型邏輯模型數據庫設計人員完成2.2概念模型及表示概念模型的用途概念模型用于信息世界的建模是現實世界到機器世界的一個中間層次是數據庫設計的有力工具數據庫設計人員和用戶之間進行交流的語言第2章數據模型與概念模型第2章數據模型與概念模型對概念模型的基本要求較強的語義表達能力能夠方便、直接地表達應用中的各種語義知識簡單、清晰、易于用戶理解第2章數據模型與概念模型2.2.1概念模型的基本概念(1)實體(Entity)客觀存在并可相互區別的事物稱為實體??梢允蔷唧w的人、事、物或抽象的概念。例如:一個學生、一個部門、一門課、學生的一次選課、老師與院系的工作關系等都是實體。第2章數據模型與概念模型(2)屬性(Attribute)實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。例如:學生實體可以由學號、姓名、性別、出生年月、籍貫、所在院系、入學時間等屬性組成。(0001,李明,男,199005,江蘇南京市,信息學院,2008)第2章數據模型與概念模型(3)碼(Key)唯一標識實體的屬性集稱為碼。例如:學號是學生實體的碼。(4)域(Domain)屬性的取值范圍稱為該屬性的域。

例如:姓名的域為字符串集合,性別域為(男,女)。第2章數據模型與概念模型(5)實體型(EntityType)用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型。例如:學生(學號、姓名、性別、出生年月、籍貫、所在院系、入學時間)(6)實體集(EntitySet)同一類型實體的集合稱為實體集。例如:全體學生就是一個實體集。第2章數據模型與概念模型(7)聯系(Relationship)現實世界中事物內部以及事物之間的聯系在信息世界中反映為實體內部的聯系和實體之間的聯系。實體內部的聯系通常是指組成實體的各屬性之間的聯系。實體之間的聯系通常是指不同實體集之間的聯系。第2章數據模型與概念模型用圖形來表示兩個實體型之間的這三類聯系實體型A聯系名實體型B111:1聯系實體型A聯系名1n1:n聯系實體型A實體型B聯系名mnm:n聯系實體型B第2章數據模型與概念模型一對一聯系(1:1)實例:一個班級只有一個正班長。一個班長只在一個班中任職。定義:如果對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯系,反之亦然,則稱實體集A與實體集B具有一對一聯系,記為1:1。班級班級-班長班長111:1聯系第2章數據模型與概念模型一對多聯系(1:n)實例一個班級中有若干名學生,每個學生只在一個班級中學習。定義:如果對于實體集A中的每一個實體,實體集B中有n個實體與之聯系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯系,則稱實體集A與實體集B有一對多聯系,記為1:n。班級組成學生1n1:n聯系第2章數據模型與概念模型多對多聯系(m:n)實例課程與學生之間的聯系:一門課程同時有若干個學生選修,一個學生可以同時選修多門課程。定義:如果對于實體集A中的每一個實體,實體集B中有n個實體與之聯系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體與之聯系,則稱實體集A與實體B具有多對多聯系,記為m:n。課程選修學生mnm:n聯系第2章數據模型與概念模型兩個以上實體型之間一對多聯系若實體集E1,E2,...,En存在聯系,對于實體集Ej(j=1,2,...,i-1,i+1,...,n)中的給定實體,最多只和Ei中的一個實體相聯系,則我們說Ei與E1,E2,...,Ei-1,Ei+1,...,En之間的聯系是一對多的。第2章數據模型與概念模型實例

課程、教師與參考書三個實體型一門課程可以有若干個教師講授,使用若干本參考書,每一個教師只講授一門課程,每一本參考書只供一門課程使用。課程講授教師1m兩個以上實體型間1:n聯系參考書n第1章數據庫基礎知識多個實體型間的一對一聯系兩個以上實體型間的多對多聯系實例

供應商、項目、零件三個實體型一個供應商可以供給多個項目多種零件,每個項目可以使用多個供應商供應的零件,每種零件可由不同供應商供給。供應商供應項目mp兩個以上實體型間m:n聯系零件n第2章數據模型與概念模型單個實體型內的聯系一對多聯系實例

職工實體型內部具有領導與被領導的聯系。某一職工(干部)“領導”若干名職工,一個職工僅被另外一個職工直接領導,這是一對多的聯系。一對一聯系

職工領導1n單個實體型內部1:n聯系第2章數據模型與概念模型2.2.2概念模型的表示方法P.P.Chen1976年提出的實體-聯系方法(E-R方法,Entity-RelationshipApproach)用E-R圖來描述現實世界的概念模型E-R方法也稱為E-R模型第2章數據模型與概念模型實體型用矩形表示,矩形框內寫明實體名。學生教師第2章數據模型與概念模型屬性用橢圓形表示,并用無向邊將其與相應的實體連接起來。學生學號年齡性別姓名第2章數據模型與概念模型聯系聯系本身:用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1:1、1:n或m:n)。第2章數據模型與概念模型實體型A聯系名實體型B111:1聯系實體型A聯系名1n1:n聯系實體型A實體型B聯系名mnm:n聯系實體型B第2章數據模型與概念模型班級班級-班長班長111:1聯系課程選修學生mnm:n聯系班級組成學生1n1:n聯系第2章數據模型與概念模型聯系的屬性:聯系本身也是一種實體型,也可以有屬性。如果一個聯系具有屬性,則這些屬性也要用無向邊與該聯系連接起來。課程選修學生mn成績第2章數據模型與概念模型舉例:用E-R圖表示某個工廠物資管理的概念模型實體倉庫:倉庫號、面積、電話號碼零件:零件號、名稱、規格、單價、描述供應商:供應商號、姓名、地址、電話號碼、帳號項目:項目號、預算、開工日期職工:職工號、姓名、年齡、職稱第2章數據模型與概念模型實體之間的聯系如下:

(1)一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中。倉庫和零件具有多對多的聯系。用庫存量來表示某種零件在某個倉庫中的數量。(2)一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫工作,倉庫和職工之間是一對多的聯系。職工實體型中具有一對多的聯系。(3)職工之間具有領導-被領導關系。即倉庫主任領導若干保管員。(4)供應商、項目和零件三者之間具有多對多的聯系。第2章數據模型與概念模型第2章數據模型與概念模型2.3常見的數據模型2.3.1數據模型概述一、數據模型三要素數據結構數據操作數據約束條件第2章數據模型與概念模型1.數據結構什么是數據結構描述數據庫的組成對象,以及對象之間的聯系。描述的內容與數據類型、內容、性質有關的對象。與數據之間聯系有關的對象。數據結構是對系統靜態特性的描述。第2章數據模型與概念模型2.數據操作數據操作對數據庫中各種對象(型)的實例(值)允許執行的操作及有關的操作規則。數據操作的類型查詢更新(包括插入、刪除、修改)第2章數據模型與概念模型數據模型對操作的定義操作的確切含義操作符號操作規則(如優先級)實現操作的語言數據操作是對系統動態特性的描述。第2章數據模型與概念模型3.數據約束條件一組完整性規則的集合。完整性規則:給定的數據模型中數據及其聯系所具有的制約和儲存規則。用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效、相容。第2章數據模型與概念模型數據模型對完整性約束條件的定義反映和規定本數據模型必須遵守的基本的通用的完整性約束條件。例如在關系模型中,任何關系必須滿足實體完整性和參照完整性兩個條件。提供定義完整性約束條件的機制,以反映具體應用所涉及的數據必須遵守的特定的語義約束條件。第2章數據模型與概念模型二、常見的數據模型非關系模型層次模型(HierarchicalModel)網狀模型(NetworkModel)關系模型(RelationalModel)面向對象模型(ObjectOrientedModel)對象關系模型(ObjectRelationalModel)第2章數據模型與概念模型2.3.2層次數據模型層次模型是數據庫系統中最早出現的數據模型。層次數據庫系統的典型代表是IBM公司的IMS

(InformationManagementSystem)數據庫管理系統。層次模型用樹形結構來表示各類實體以及實體間的聯系。第2章數據模型與概念模型一、層次模型的數據結構層次模型滿足下面兩個條件的基本層次聯系的集合為層次模型:1.有且只有一個結點沒有雙親結點,這個結點稱為根結點。2.根以外的其它結點有且只有一個雙親結點。層次模型中的幾個術語根結點,雙親結點,兄弟結點,葉結點第2章數據模型與概念模型

R1

根結點

R2

兄弟結點

R3

葉結點

R4

兄弟結點

R5

葉結點

葉結點層次模型的一個示例第2章數據模型與概念模型層次模型的特點:結點的雙親是唯一的;只能直接處理一對多的實體聯系;每個記錄類型可以定義一個排序字段,也稱為碼字段;任何記錄值只有按其路徑查看時,才能顯出它的全部意義;沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在。根結點記錄型系的子女結點記錄型教員的雙親結點葉結點葉結點字段教學院系的數據模型教學院系數據庫的一個實例第2章數據模型與概念模型二、層次模型中多對多聯系的表示用層次模型間接表示多對多聯系。方法將多對多聯系分解成一對多聯系。分解方法冗余結點法圖2-12虛擬結點法圖2-13第2章數據模型與概念模型三、層次模型的數據操作和完整性約束條件層次模型的數據操縱查詢插入刪除更新第2章數據模型與概念模型層次模型的完整性約束條件無相應的雙親結點值就不能插入子女結點值;如果刪除雙親結點值,則相應的子女結點值也被同時刪除;更新操作時,應更新所有相應記錄,以保證數據的一致性(冗余結點法)。第2章數據模型與概念模型四、層次模型的存儲結構鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現層次順序,實現存儲。第2章數據模型與概念模型A1B1C3C5C7C14B4C2C9B6C4C6C8A2…第2章數據模型與概念模型鏈接法用指引元來反映數據之間的層次聯系子女-兄弟鏈接法層次序列鏈接法第2章數據模型與概念模型子女-兄弟鏈接法每個記錄設兩個指引元,分別指向最左邊的子女(每個記錄型對應一個)和最近的兄弟。第2章數據模型與概念模型層次序列鏈接法按樹的前序穿越順序鏈接各記錄值第2章數據模型與概念模型2.3.3網狀數據模型網狀數據庫系統采用網狀模型作為數據的組織方式典型代表是DBTG系統:亦稱CODASYL系統70年代由DBTG提出的一個系統方案奠定了數據庫系統的基本概念、方法和技術實際系統CullinetSoftwareInc.公司的IDMSUnivac公司的DMS1100Honeywell公司的IDS/2HP公司的IMAGE第2章數據模型與概念模型一、網狀模型的數據結構網狀模型滿足下面兩個條件的基本層次聯系的集合:1.允許一個以上的結點無雙親;2.一個結點可以有多于一個的雙親。第2章數據模型與概念模型表示方法(與層次數據模型相同)實體型:用記錄類型描述,每個結點表示一個記錄類型(實體)。屬性:用字段描述,每個記錄類型可包含若干個字段。聯系:用結點之間的連線表示記錄類型(實體)之間的一對多的父子聯系。第2章數據模型與概念模型網狀模型與層次模型的區別網狀模型允許多個結點沒有雙親結點網狀模型允許結點有多個雙親結點網狀模型允許兩個結點之間有多種聯系(復合聯系)網狀模型可以更直接地去描述現實世界層次模型實際上是網狀模型的一個特例第2章數據模型與概念模型網狀模型的例子

第2章數據模型與概念模型二、網狀模型的完整性約束條件網狀數據庫系統(如DBTG)對數據操縱加了一些限制,提供了一定的完整性約束。碼:唯一標識記錄的數據項的集合;一個聯系中雙親記錄與子女記錄之間是一對多聯系;支持雙親記錄和子女記錄之間某些約束條件。第2章數據模型與概念模型三、網狀模型的存儲結構關鍵實現記錄之間的聯系常用方法單向鏈接雙向鏈接環狀鏈接向首鏈接第2章數據模型與概念模型四、網狀數據模型的優缺點優點能夠更為直接地描述現實世界,如一個結點可以有多個雙親有良好的性能,存取效率較高缺點結構比較復雜,而且隨著應用環境的擴大,數據庫的結構就變得越來越復雜,不利于最終用戶掌握DDL、DML語言復雜,用戶不容易使用第2章數據模型與概念模型2.3.4關系數據模型關系數據庫系統采用關系模型作為數據的組織方式1970年美國IBM公司SanJose研究室的研究員E.F.Codd首次提出了數據庫系統的關系模型計算機廠商新推出的數據庫管理系統幾乎都支持關系模型第2章數據模型與概念模型一、關系模型的數據結構在用戶觀點下,關系模型中數據的邏輯結構是一張二維表,它由行和列組成。學號姓名年齡性別系名年級2005004王小明19女社會學20052005006黃大鵬20男商品學20052005008張文斌18女法律2005………………第2章數據模型與概念模型關系(Relation)一個關系對應通常說的一張表。元組(Tuple)表中的一行即為一個元組。屬性(Attribute)表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名。第2章數據模型與概念模型主碼(Key)表中的某個屬性組,它可以唯一確定一個元組。域(Domain)屬性的取值范圍。分量元組中的一個屬性值。關系模式對關系的描述關系名(屬性1,屬性2,…,屬性n)學生(學號,姓名,年齡,性別,系,年級)第2章數據模型與概念模型例1學生、系、系與學生之間的一對多聯系:學生(學號,姓名,年齡,性別,系號,年級)系(系號,系名,辦公地點)第2章數據模型與概念模型例2系、系主任、系與系主任間的一對一聯系:系(系號,系名,辦公地點,電話,系主任)系主任(工號,姓名,性別,職稱)第2章數據模型與概念模型例3學生、課程、學生與課程之間的多對多聯系:

學生(學號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學分)選修(學號,課程號,成績)第2章數據模型與概念模型關系必須是規范化的,滿足一定的規范條件。最基本的規范條件:關系的每一個分量必須是一個不可分的數據項,不允許表中還有表。圖1.27中工資和扣除是可分的數據項,不符合關系模型要求。

溫馨提示

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

最新文檔

評論

0/150

提交評論