《數(shù)據(jù)庫應(yīng)用基礎(chǔ)》課件-數(shù)據(jù)庫設(shè)計(jì)_第1頁
《數(shù)據(jù)庫應(yīng)用基礎(chǔ)》課件-數(shù)據(jù)庫設(shè)計(jì)_第2頁
《數(shù)據(jù)庫應(yīng)用基礎(chǔ)》課件-數(shù)據(jù)庫設(shè)計(jì)_第3頁
《數(shù)據(jù)庫應(yīng)用基礎(chǔ)》課件-數(shù)據(jù)庫設(shè)計(jì)_第4頁
《數(shù)據(jù)庫應(yīng)用基礎(chǔ)》課件-數(shù)據(jù)庫設(shè)計(jì)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件技術(shù)專業(yè)群教學(xué)資源庫數(shù)據(jù)庫設(shè)計(jì)的步驟數(shù)據(jù)庫設(shè)計(jì)的步驟設(shè)計(jì)人員在設(shè)計(jì)數(shù)據(jù)庫時(shí),首先需要掌握數(shù)據(jù)庫的設(shè)計(jì)步驟,在實(shí)際的項(xiàng)目開發(fā)中需要經(jīng)過需求分析、概要設(shè)計(jì)、邏輯設(shè)計(jì)、代碼編寫、運(yùn)行測(cè)試和部署上線幾個(gè)階段。無論數(shù)據(jù)庫的大小和程序復(fù)雜度如何,在進(jìn)行數(shù)據(jù)庫的系統(tǒng)分析時(shí),都可以參考下面的基本步驟進(jìn)行數(shù)據(jù)庫設(shè)計(jì)。數(shù)據(jù)庫設(shè)計(jì)的步驟(1)需求分析階段

該階段用于分析客戶的業(yè)務(wù)和數(shù)據(jù)處理需求。創(chuàng)建數(shù)據(jù)庫之前,必須充分理解數(shù)據(jù)庫需要完成的任務(wù)和功能。簡(jiǎn)單地說,就是需要了解數(shù)據(jù)庫需要存儲(chǔ)哪些信息、實(shí)現(xiàn)哪些功能。以學(xué)生管理系統(tǒng)數(shù)據(jù)庫為例,我們需要了解學(xué)生管理系統(tǒng)的具體功能,以及在后臺(tái)數(shù)據(jù)庫中需要保存哪些數(shù)據(jù),如以下需求:數(shù)據(jù)庫設(shè)計(jì)的步驟(1)需求分析階段 1.學(xué)生入校后,需要收集學(xué)生的基本信息,如學(xué)號(hào)、姓名、性別、專業(yè)、家庭地址等。 2.學(xué)生上課前,為方便學(xué)生選課,需要為學(xué)生提供課程信息,如課程編號(hào)、課程名稱、授課教師、學(xué)時(shí)、學(xué)分等。 3.學(xué)期結(jié)束后,為方便保存學(xué)生各科成績(jī),后臺(tái)數(shù)據(jù)庫需要存儲(chǔ)學(xué)生的各科成績(jī)信息,如學(xué)號(hào)、課程編號(hào)、成績(jī)等。數(shù)據(jù)庫設(shè)計(jì)的步驟(2)概要設(shè)計(jì)階段在收集需求信息后,在需求分析階段了解客戶的業(yè)務(wù)和數(shù)據(jù)處理需求后,就進(jìn)入了概要設(shè)計(jì)階段。我們需要和項(xiàng)目團(tuán)隊(duì)的其他成員及客戶溝通,討論數(shù)據(jù)庫的設(shè)計(jì)是否滿足客戶的業(yè)務(wù)和數(shù)據(jù)處理需求。與建筑行業(yè)需要施工圖一樣,數(shù)據(jù)庫設(shè)計(jì)也需要圖形化的表達(dá)方式即E-R圖來表示。必須標(biāo)識(shí)數(shù)據(jù)庫要管理的關(guān)鍵對(duì)象或?qū)嶓w,實(shí)體可以是有形的事物,如學(xué)生或產(chǎn)品;也可以是無形的事物,如課程、成績(jī)。在系統(tǒng)中標(biāo)識(shí)這些實(shí)體后,與它們相關(guān)的實(shí)體就會(huì)條理清楚。數(shù)據(jù)庫設(shè)計(jì)的步驟(2)概要設(shè)計(jì)階段以學(xué)生管理系統(tǒng)為例,需要標(biāo)識(shí)出系統(tǒng)中的主要實(shí)體,如下所示。1.學(xué)生:包含學(xué)生的基本信息。2.課程:包含課程的基本信息。3.成績(jī):記錄成績(jī)的具體信息。數(shù)據(jù)庫中的每個(gè)不同的實(shí)體都擁有一個(gè)與其對(duì)應(yīng)的表,按照以上學(xué)生管理系統(tǒng)需求,在學(xué)生管理系統(tǒng)數(shù)據(jù)庫中會(huì)對(duì)應(yīng)至少三張表,分別是學(xué)生表、課程表、成績(jī)表。數(shù)據(jù)庫設(shè)計(jì)的步驟(3)邏輯設(shè)計(jì)階段①分解出實(shí)體的屬性該階段是將E-R圖轉(zhuǎn)換為多張表,進(jìn)行邏輯設(shè)計(jì),確認(rèn)各表的主外鍵。將數(shù)據(jù)庫中的主要實(shí)體標(biāo)識(shí)為表的候選實(shí)體以后,就要標(biāo)識(shí)每個(gè)實(shí)體存儲(chǔ)的詳細(xì)信息,也稱為該實(shí)體的屬性,這些屬性將組成表中的列(或字段)。簡(jiǎn)單地說,就是需要細(xì)分出每個(gè)實(shí)體中包含的子成員信息。下面以學(xué)生管理系統(tǒng)為例,分解出每個(gè)實(shí)體的子成員信息。1.學(xué)生(學(xué)號(hào),姓名,性別,出生日期,專業(yè),聯(lián)系電話,家庭住址等)。2.課程(課程編號(hào),課程名稱,授課教師,課程類型,學(xué)時(shí),學(xué)分等)。3.成績(jī)(學(xué)號(hào),課程編號(hào),成績(jī)等)。數(shù)據(jù)庫設(shè)計(jì)的步驟(3)邏輯設(shè)計(jì)階段②標(biāo)識(shí)實(shí)體之間的關(guān)系關(guān)系型數(shù)據(jù)庫有一項(xiàng)非常強(qiáng)大的功能,即它能夠關(guān)聯(lián)數(shù)據(jù)庫中各個(gè)項(xiàng)目的相關(guān)信息。不同類型的信息可以單獨(dú)存儲(chǔ),但是如果需要,數(shù)據(jù)庫引擎還可以根據(jù)需要將數(shù)據(jù)組合起來。在設(shè)計(jì)過程中,要標(biāo)識(shí)實(shí)體之間的關(guān)系,首先需要分析數(shù)據(jù)庫表,確定這些表在邏輯上是如何相關(guān)的,然后添加關(guān)系建立起表之間的連接。以學(xué)生管理系統(tǒng)為例,課程與成績(jī)有主從關(guān)系,我們需要在成績(jī)實(shí)體中標(biāo)明其對(duì)應(yīng)的課程號(hào)。軟件技術(shù)專業(yè)群教學(xué)資源庫數(shù)據(jù)庫模型介紹數(shù)據(jù)庫模型介紹按照不同的應(yīng)用層次將數(shù)據(jù)模型分為三種類型:概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型。(1)概念數(shù)據(jù)模型概念數(shù)據(jù)模型簡(jiǎn)稱概念模型,是用戶容易理解的現(xiàn)實(shí)世界特征的數(shù)據(jù)抽象,用于建立信息世界的模型。概念模型表示方法很多,其中最為著名的是P.P.Chen于1976年提出的E-R(Entity-Relationship)模型即實(shí)體—關(guān)系模型。E-R圖由實(shí)體、屬性、關(guān)系三部分構(gòu)成:實(shí)體(Entity):客觀存在的具體事物,也可以是抽象的事件。實(shí)體集(EntitySet):同類實(shí)體的集合。屬性(Atrribute):可以理解為實(shí)體的特征。數(shù)據(jù)庫模型介紹在數(shù)據(jù)庫設(shè)計(jì)中,用矩形表示實(shí)體,用橢圓形表示屬性,用菱形表示實(shí)體與實(shí)體之間的聯(lián)系。如下圖所示:數(shù)據(jù)庫模型介紹關(guān)系(Relationship):關(guān)系是指兩個(gè)或多個(gè)實(shí)體之間的關(guān)聯(lián)關(guān)系。各實(shí)體之間的關(guān)系一般有以下3種:一對(duì)一關(guān)系(1:1):在該關(guān)系中,對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中存在有一個(gè)實(shí)體與之關(guān)系,記為1:1。例如,一個(gè)學(xué)生只能有一個(gè)學(xué)號(hào),一個(gè)學(xué)號(hào)只能屬于一個(gè)學(xué)生,則學(xué)生與學(xué)號(hào)之間就是一對(duì)一的關(guān)系。如右側(cè)所示。數(shù)據(jù)庫模型介紹一對(duì)多關(guān)系(1:n):在該關(guān)系中,對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體與之關(guān)系。反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中將會(huì)有一個(gè)實(shí)體與之關(guān)系,記為1:n。例如,一個(gè)班級(jí)可以有多個(gè)學(xué)生,但一個(gè)學(xué)生只能屬于一個(gè)班級(jí),則班級(jí)與學(xué)生之間的關(guān)系就屬于一對(duì)多關(guān)系。如右側(cè)所示。數(shù)據(jù)庫模型介紹多對(duì)多關(guān)系(m:n):在該關(guān)系中,對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體與之關(guān)系。反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體與之關(guān)系,記為m:n。例如,一個(gè)學(xué)生可以選多門課程,反過來,一門課程也可被多個(gè)學(xué)生選修,則學(xué)生與課程之間的關(guān)系就屬于多對(duì)多關(guān)系。如右圖所示。數(shù)據(jù)庫模型介紹(2)邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型由概念模型轉(zhuǎn)換得到,簡(jiǎn)稱邏輯模型,是一種面向數(shù)據(jù)庫系統(tǒng)的模型,是具體的DBMS所支持的數(shù)據(jù)模型,既要面向用戶,又要面向系統(tǒng),主要用于數(shù)據(jù)庫管理系統(tǒng)(DBMS)的實(shí)現(xiàn)。邏輯模型中的相關(guān)術(shù)語如下。字段(Field):在數(shù)據(jù)庫中,表的“列”稱為“字段”,每個(gè)字段包含某一專項(xiàng)信息。例如在學(xué)生管理數(shù)據(jù)庫中,“學(xué)號(hào)”、“姓名”都是表中所有行共有的屬性,所以把這些列稱為“學(xué)號(hào)”字段和“姓名”字段。數(shù)據(jù)記錄(DataRecord):在數(shù)據(jù)庫中,數(shù)據(jù)記錄是指對(duì)應(yīng)于數(shù)據(jù)源中一行信息的一組完整的相關(guān)信息。例如,學(xué)生信息表中的關(guān)于某位學(xué)生的所有信息為一條數(shù)據(jù)記錄。表(Table):由行和列組成,行對(duì)應(yīng)表中的記錄,列對(duì)應(yīng)表中的字段。數(shù)據(jù)庫模型介紹(3)物理數(shù)據(jù)模型物理數(shù)據(jù)模型是物理層次上的數(shù)據(jù)模型,主要描述數(shù)據(jù)在物理存儲(chǔ)介質(zhì)上的組織結(jié)構(gòu),它與具體的DBMS相關(guān),也與操作系統(tǒng)和硬件相關(guān)。軟件技術(shù)專業(yè)群教學(xué)資源庫數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)模型的組成要素?cái)?shù)據(jù)模型主要由三要素組成,分別是數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)約束條件。1.數(shù)據(jù)結(jié)構(gòu):主要用于描述系統(tǒng)的靜態(tài)特征,是所研究的對(duì)象類型的集合,這些對(duì)象是數(shù)據(jù)庫的組成部分,包括數(shù)據(jù)本身及數(shù)據(jù)之間的關(guān)系兩方面,其中數(shù)據(jù)本身是指數(shù)據(jù)的類型、內(nèi)容和性質(zhì)等,數(shù)據(jù)之間的關(guān)系是指數(shù)據(jù)之間是如何相互關(guān)聯(lián)的。數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)模型主要由三要素組成,分別是數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)約束條件。2.數(shù)據(jù)操作:是指對(duì)數(shù)據(jù)庫中的各種對(duì)象的實(shí)例允許執(zhí)行的操作集合。主要包括操作對(duì)象及有關(guān)的操作規(guī)則,主要有插入、刪除、修改和檢索。3.數(shù)據(jù)約束條件:是指一組完整性規(guī)則的集合。完整性規(guī)則是給定數(shù)據(jù)模型中的數(shù)據(jù)及其關(guān)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)及其狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。軟件技術(shù)專業(yè)群教學(xué)資源庫數(shù)據(jù)庫的設(shè)計(jì)范式數(shù)據(jù)庫的設(shè)計(jì)范式在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)時(shí),有一些專門的規(guī)則,稱為數(shù)據(jù)庫的設(shè)計(jì)范式。遵守這些規(guī)則,將創(chuàng)建設(shè)計(jì)良好的數(shù)據(jù)庫。數(shù)據(jù)庫設(shè)計(jì)的三大范式理論分別為:第一范式、第二范式、第三范式數(shù)據(jù)庫的設(shè)計(jì)范式第一范式(FirstnormalForm,1NF)的目標(biāo)是確保每列的原子性。如果每列(或者每個(gè)屬性值)都是不可再分的最小數(shù)據(jù)單元(也稱為最小的原子單元),則滿足第一范式。例如,學(xué)生基本信息表(學(xué)號(hào),姓名,性別,出生日期,專業(yè),課程,授課老師),所有列都不能再分,滿足第一范式數(shù)據(jù)庫的設(shè)計(jì)范式第二范式(Secondnormalform,2NF)在第一范式的基礎(chǔ)上更進(jìn)一層,其目標(biāo)是確保表中的每列都和主鍵相關(guān)。如果一個(gè)關(guān)系滿足第一范式(1NF),并且除了主鍵以外的其他列都全部依賴于該主鍵,則滿足第二范式(2NF)。數(shù)據(jù)庫的設(shè)計(jì)范式例如,在學(xué)生基本信息表(學(xué)號(hào),姓名,性別,出生日期,專業(yè),課程,授課老師)中,如果需要將“課程”列拆分為課程編號(hào)、課程名稱、課程類型等信息時(shí),以上各列并沒有完全依賴于主鍵“學(xué)號(hào)”列,違背了第二范式的規(guī)定。所以需使用第二范式的原則對(duì)學(xué)生信息表進(jìn)行規(guī)范化之后分解成以下兩個(gè)表。學(xué)生信息表(學(xué)號(hào),姓名,性別,出生日期,專業(yè)),主鍵為“學(xué)號(hào)”,其他列全部依賴于主鍵列。課程信息表(課程編號(hào)、課程名稱、課程類型、學(xué)時(shí)),主鍵為“課程編號(hào)”,其他列全部依賴于主鍵列。數(shù)據(jù)庫的設(shè)計(jì)范式第三范式(Thirdnormalform,3NF)在第

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論