數(shù)據(jù)庫設計和ER模型課件_第1頁
數(shù)據(jù)庫設計和ER模型課件_第2頁
數(shù)據(jù)庫設計和ER模型課件_第3頁
數(shù)據(jù)庫設計和ER模型課件_第4頁
數(shù)據(jù)庫設計和ER模型課件_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章數(shù)據(jù)庫設計和ER模型1主要內容數(shù)據(jù)庫系統(tǒng)生存期ER模型的基本概念關系模型的基本概念ER模型到關系模型的轉換ER模型實例分析增強的ER模型2軟件生命周期(Lifecycle)需求分析可行性分析總體設計詳細設計編碼與測試綜合測試軟件運行維護問題定義軟件定義時期軟件開發(fā)時期軟件運行維護時期3七個階段的主要工作規(guī)劃:進行建立數(shù)據(jù)庫的必要性和可行性分析,確定數(shù)據(jù)庫系統(tǒng)在組織中和信息系統(tǒng)中的地位。本階段具體分三步:系統(tǒng)調查可行性分析確定數(shù)據(jù)庫系統(tǒng)的總目標,并對應用單位的工作流程進行優(yōu)化和制訂項目開發(fā)計劃。5需求分析:這一階段是計算機人員(系統(tǒng)分析員)和用戶共同收集數(shù)據(jù)庫所需要的信息內容和用戶對處理的要求,加以規(guī)格化和分析,以書面形式確定下來,作為以后驗證系統(tǒng)的依據(jù)。在分析用戶要求時,要確保用戶目標的一致性。需求分析階段的輸入和輸出信息需求處理需求需求分析需求說明書6需求分析階段的工作主要有一下四步:分析用戶活動,產生業(yè)務流程圖。確定系統(tǒng)范圍,產生系統(tǒng)關聯(lián)圖。分析用戶活動涉及的數(shù)據(jù),產生數(shù)據(jù)流圖。分析系統(tǒng)數(shù)據(jù),產生數(shù)據(jù)字典。

數(shù)據(jù)字典(DataDictionary,簡記為DD)是各類數(shù)據(jù)描述的集合,通常包括數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、數(shù)據(jù)存儲和加工過程等五個部分。7概念設計:把用戶的信息要求統(tǒng)一到一個整體邏輯結構中,此結構能表達用戶的要求,且獨立于任何DBMS軟件和硬件。概念設計的重要性概念設計的主要步驟進行數(shù)據(jù)抽象,設計局部概念模型將局部概念模型合成全局概念模型評審8物理設計:對給定的基本數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結構。數(shù)據(jù)庫的物理結構主要指數(shù)據(jù)庫的存儲記錄格式、存儲記錄安排和存取方法。實現(xiàn):根據(jù)物理設計的結果產生一個具體的數(shù)據(jù)庫和它的應用程序,并把原始數(shù)據(jù)裝入數(shù)據(jù)庫。實現(xiàn)階段主要有四項工作:定義數(shù)據(jù)庫結構;數(shù)據(jù)裝載編制與調試應用程序;數(shù)據(jù)庫試運行102.ER模型的基本概念12基本概念4.聯(lián)系一個或多個實體之間的關聯(lián)關系.聯(lián)系的元數(shù):一個聯(lián)系涉及到的實體集個數(shù).一元聯(lián)系二元聯(lián)系三元聯(lián)系14基本概念屬性實體所具有的某一方面的特性屬性的種類簡單屬性和復合屬性單值屬性和多值屬性存儲屬性和派生屬性允許為空值的屬性15ER模型實例基本圖形符號矩形:實體集橢圓:屬性菱形:聯(lián)系集線段(直線):實體集名屬性名聯(lián)系名16模型實例學號姓名班主任班號系號性別年齡學生班級班長聯(lián)系集的主碼是任意一端的主碼1117模型實例學號姓名系主任系號系名性別年齡學生系別錄取聯(lián)系集的主碼是n端的主碼1n18采用ER模型進行概念結構設計

將需求分析得到的用戶需求抽象為信息結構即概念模型的過程概念結構特點:能真實、充分地反映現(xiàn)實世界;易于理解易于更改易于向關系、網狀、層次等各種數(shù)據(jù)模型轉換描述概念模型的有力工具是E-R模型20概念結構設計概念結構設計的步驟1、抽象數(shù)據(jù)并設計局部ER模型;2、集成局部ER模型,得到全局ER模型;3、對全局ER模型進行優(yōu)化21概念結構設計數(shù)據(jù)抽象與局部視圖設計原則:為了簡化E-R圖的處置,現(xiàn)實世界的事物能作為屬性對待的,盡量作為屬性對待。作為屬性,不能再具有需要描述的性質。屬性不能與其它實體具有聯(lián)系職工職稱職工工資聘任職稱住房標準附加福利工資住房標準23概念結構設計視圖的集成兩種方式:多個分E-R圖一次集成,逐步集成24概念結構設計修改和重構,消除不必要的冗余,設計E-R圖在初步E-R圖中,可能存在一些冗余的數(shù)據(jù)和實體間冗余的聯(lián)系是否需要消除,要根據(jù)整體需求來確定,如果保留了一些冗余數(shù)據(jù),則應將數(shù)據(jù)關聯(lián)關系作為相應的完整性約束條件。26概念結構設計全局ER模型的優(yōu)化合并實體類型消除冗余屬性消除冗余聯(lián)系273.關系模型的基本概念定義:用二維表格表示實體集,用關鍵碼表示實體間的聯(lián)系的數(shù)據(jù)模型稱為關系模型。28基本概念2.超碼一個或多個屬性的組合在一個實體集中,可唯一地標識、區(qū)別一個實體可能有多余的屬性如(學號)、(學號+姓名)一個實體集中有多個超碼30基本概念3.候選碼從超碼中去除多余的屬性其任意真子集不具有碼的性質的超碼一個實體集可能有多個候選碼(如學號、身份證號)能唯一標識每一個實體且不包含多余屬性的屬性集.31基本概念4.主鍵(PrimaryKey)被設計者選中的候選碼一個實體集中只有一個主鍵32關系的性質關系中的每一個屬性都是不可分解的;關系中不允許出現(xiàn)重復的元組;關系是元組的集合,其中的元組是無序的;關系中每個屬性對應一列,屬性列是無序的;33關系模型的三要素數(shù)據(jù)結構關系操作關系的完整性34關系模型的三要素數(shù)據(jù)結構

在關系模型中,無論是實體還是實體間的聯(lián)系,都用單一的數(shù)據(jù)結構→關系(又稱二維表)來描述。學號姓名性別…班長張力男……………田獎男35關系模型的三要素關系操作關系操作包括關系代數(shù)和關系演算,二者在功能上是等價的。關系演算分為元組關系演算和域關系演算。關系代數(shù)主要有:選擇、投影、連接、并、差、交、廣義笛卡兒積和除運算。36關系模型的三要素關系的完整性實體完整性參照完整性用戶自定義完整性37關系模型的三要素關系的完整性——實體完整性實體完整性規(guī)則組成主碼的屬性不能取空值。(NULL)規(guī)則實現(xiàn)實體完整性規(guī)則通過定義主碼實現(xiàn)。例如在SQLserver中,可以通過定義主碼(PrimaryKey)來實現(xiàn)實體完整性。38

createtable

course

(

cno

char(10),

cname

varchar(20),

credit

smallint,

primarykey

(cno))Examples39

createtable

課程表

(

課程號

char(10),

課程名

varchar(20),

學分

smallint,

primarykey

(課程號))舉例說明40Examplescreatetable

student(

sno

char(10),

sname

varchar(10),

sage

smallint,

ssex

char(1),

sdept

char(2),

primarykey

(sno),

check(ssex

in

(‘M’,‘F’)))41關系模型的三要素關系的完整性——參照完整性外碼(ForeignKey)

設F是基本關系R的一個或一組屬性,但不是關系R的碼。如果F與基本關系S的主碼K相對應,則稱F是基本關系R的外碼。R為參照關系,S為被參照關系,R和S不一定為不同的關系。42學號姓名性別…班長張力男……………田獎男43關系模型的三要素關系的完整性——參照完整性參照完整性規(guī)則若屬性組F是基本關系R的外碼,它與基本關系S的主碼K相對應,則對于R中的每個元組在F上取值要么為空;要么等于S中某個元組的主碼值。規(guī)則實現(xiàn)參照完整性通過定義外碼來實現(xiàn)。44

createtable

sc(

sno

char(10),

cno

char(10),

grade

smallint,

primarykey

(sno,

cno),

foreignkey(sno)references

student(sno),

foreignkey(cno)referencescourse(cno),

check

(grade

>=0

and

grade

<=100))Examples45關系模型的三要素關系的完整性——用戶自定義完整性引入自定義完整性的原因前兩種完整性規(guī)則不能滿足一些特殊需要,數(shù)據(jù)類型的取值范圍太大,如將學生成績的取值范圍定義在0~100之間。規(guī)則實現(xiàn)在創(chuàng)建表時通過CHECK

子句來實現(xiàn)。46

createtable

sc(

sno

char(10),

cno

char(10),

grade

smallint,

primarykey

(sno,

cno),

foreignkey(sno)references

student(sno),

foreignkey(cno)references

course(cno),

check

(grade

>=0

and

grade

<=100))Examples474.ER模型到關系模型的轉換E-R圖向關系模型的轉換如何將實體和實體間的聯(lián)系轉換為關系模式,如何確定這些關系模式的屬性和碼。48原則:1.一個實體型轉換為一個關系模式。實體的屬性就是關系的屬性,實體的碼就是關系的碼

2.一個1:1聯(lián)系可以轉換為一個獨立的關系模式,與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,每個實體的碼均是該關系的候選碼也可以與任意一端對應的關系模式合并。則需要在該關系模式的屬性中加入另一個關系模式的碼和聯(lián)系本身的屬性 部門(部門號,部門名,經理的職工號……)部門11部門職工領導4.ER模型到關系模型的轉換49原則:3.一個1:n聯(lián)系可以轉換為一個關系模式,與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為n端實體的碼也可以與n端對應的關系模式合并。則需要在該關系模式的屬性中加入另一個關系模式的碼和聯(lián)系本身的屬性 職工(職工號,姓名,部門號……)部門職工屬于1n4.ER模型到關系模型的轉換50原則:4.一個m:n聯(lián)系轉換為一個關系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為各實體碼的組合庫存(零件號,倉庫號,庫存量)零件倉庫庫存nm4.ER模型到關系模型的轉換51原則:5.三個或三個以上實體間的一個多元聯(lián)系轉換為一個關系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為各實體碼的組合供應(產品號,供應商號,零件號,供應量)供應商產品供應mn零件p供應量4.ER模型到關系模型的轉換52原則:6.具有相同碼的關系模式可以合并。4.ER模型到關系模型的轉換535.ER模型實例分析某企業(yè)生產若干產品,每種產品由不同的零件組成,有的零件可用在不同的產品上。這些零件由不同的材料制成,不同零件所用的材料可以相同。這些零件按所屬的不同產品分別放在倉庫中,材料按類別存放在倉庫中。用E-R圖畫出概念模型。將概念模型轉換成關系模型。54根據(jù)題意設計E-R圖:設計各個局部E-R圖;①產品零件組裝mn個數(shù)材料零件制造mn②使用量55根據(jù)題意設計E-R圖:設計各個局部E-R圖;倉庫零件保存mn③倉庫材料存放1n④數(shù)量庫存量56根據(jù)題意設計E-R圖:合并局部E-R圖;m倉庫零件保存mn材料產品制造n組裝存放1mnm庫存量數(shù)量個數(shù)使用量57將E-R圖轉換成關系模型中的關系模式:實體;產品(產品編號,產品名稱,型號,重量,單價)零件(零件編號,零件名稱,規(guī)格)材料(材料編號

溫馨提示

  • 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

提交評論