項(xiàng)目一公司管理數(shù)據(jù)庫系統(tǒng)的規(guī)劃_第1頁
項(xiàng)目一公司管理數(shù)據(jù)庫系統(tǒng)的規(guī)劃_第2頁
項(xiàng)目一公司管理數(shù)據(jù)庫系統(tǒng)的規(guī)劃_第3頁
項(xiàng)目一公司管理數(shù)據(jù)庫系統(tǒng)的規(guī)劃_第4頁
項(xiàng)目一公司管理數(shù)據(jù)庫系統(tǒng)的規(guī)劃_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

項(xiàng)目一公司管理數(shù)據(jù)庫

系統(tǒng)的規(guī)劃1第1頁,共88頁。工作任務(wù):根據(jù)某公司的工作流程,設(shè)計(jì)一個(gè)滿足該公司管理的數(shù)據(jù)庫系統(tǒng)。具體要求如下:公司數(shù)據(jù)庫管理系統(tǒng)主要完成客戶和產(chǎn)品之間進(jìn)行產(chǎn)品訂購的功能,此系統(tǒng)可以實(shí)現(xiàn)讓公司增加、刪除和修改所提供的產(chǎn)品,還可以讓客戶增加、刪除和修改所需要的產(chǎn)品。公司交易員(雇員)可以利用客戶提出的訂貨信息和產(chǎn)品信息提出交易建議。另外,該系統(tǒng)能夠分類統(tǒng)計(jì)已訂購的產(chǎn)品信息。2第2頁,共88頁。

數(shù)據(jù)描述事物的符號(hào)稱為數(shù)據(jù)。描述事物的符號(hào)可以是數(shù)字,也可以是文字、圖形、圖像、聲音、語言等,數(shù)據(jù)有多種表現(xiàn)形式,他們都可以經(jīng)過數(shù)字化后存入計(jì)算機(jī)。3第3頁,共88頁。

數(shù)據(jù)庫數(shù)據(jù)庫是指長期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲(chǔ),具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。

4第4頁,共88頁。

數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。它的主要功能包括以下幾個(gè)方面:數(shù)據(jù)定義功能數(shù)據(jù)操縱功能數(shù)據(jù)庫的運(yùn)行管理數(shù)據(jù)庫的建立和維護(hù)功能5第5頁,共88頁。

Oracle數(shù)據(jù)庫管理系統(tǒng)工作界面

6第6頁,共88頁。SQLServer數(shù)據(jù)庫管理系統(tǒng)工作界面7第7頁,共88頁。Access數(shù)據(jù)庫管理系統(tǒng)工作界面

8第8頁,共88頁。VisualFoxPro數(shù)據(jù)庫管理系統(tǒng)工作界面

9第9頁,共88頁。數(shù)據(jù)庫技術(shù)的四條線索三個(gè)系統(tǒng):歷史發(fā)展(層次網(wǎng)狀系統(tǒng))當(dāng)前主流(關(guān)系系統(tǒng))未來發(fā)展(面向?qū)ο笙到y(tǒng))數(shù)據(jù)庫發(fā)展史上的兩條主線:數(shù)據(jù)模型的演變:層次、網(wǎng)狀、關(guān)系、面向?qū)ο髷?shù)據(jù)語言的演變:基本SQL、嵌入SQL、動(dòng)態(tài)SQL、遞歸SQL、ORDB的SQL兩個(gè)端點(diǎn):用戶(使用)、系統(tǒng)(實(shí)現(xiàn))數(shù)據(jù)庫設(shè)計(jì)演變的過程ER圖,對(duì)象聯(lián)系圖,UML類圖10第10頁,共88頁。DBMS主流產(chǎn)品現(xiàn)狀

代表性產(chǎn)品:Oracle公司的Oracle、IBM公司的DB2以及微軟的SQLServer等關(guān)系數(shù)據(jù)庫技術(shù)仍然是主流2000年RDBMS的市場份額占整個(gè)數(shù)據(jù)庫市場的80%,這個(gè)比例比1999年增長了15%。產(chǎn)品形成系列化如DB2通用數(shù)據(jù)庫產(chǎn)品包括了從高端的企業(yè)級(jí)并行數(shù)據(jù)庫服務(wù)器,到移動(dòng)端產(chǎn)品DB2Everywhere的一整套系列。從支持平臺(tái)看,不再是大型機(jī)上的專有產(chǎn)品,支持目前主流的各種平臺(tái),包括Linux和WindowsNT。此外,它還有各種中間件產(chǎn)品,如DB2Connect、DB2Datajointer、DB2Replication等,構(gòu)成了一個(gè)龐大的數(shù)據(jù)庫家族。11第11頁,共88頁。DBMS主流產(chǎn)品現(xiàn)狀支持各種互聯(lián)網(wǎng)應(yīng)用例如,Oracle公司從8版起全面支持互聯(lián)網(wǎng)應(yīng)用,是互聯(lián)網(wǎng)數(shù)據(jù)庫的代表。微軟公司更是將SQLServer作為其整個(gè).NET計(jì)劃中的一個(gè)重要的成分。海量數(shù)據(jù)處理互聯(lián)網(wǎng)提供大量以XML格式數(shù)據(jù)為特征的半結(jié)構(gòu)化數(shù)據(jù),支持這種類型的數(shù)據(jù)的存儲(chǔ)、共享、管理、檢索等也是各數(shù)據(jù)庫廠商的發(fā)展方向。12第12頁,共88頁。DBMS主流產(chǎn)品現(xiàn)狀向智能化集成化方向擴(kuò)展數(shù)據(jù)豐富知識(shí)貧乏的現(xiàn)實(shí)直接導(dǎo)致了聯(lián)機(jī)分析處理(OLAP)、數(shù)據(jù)倉庫(DataWarehousing)和數(shù)據(jù)挖掘(DataMining)等技術(shù)的出現(xiàn)企業(yè)應(yīng)用越來越復(fù)雜,會(huì)涉及到應(yīng)用服務(wù)器、Web服務(wù)器、其它數(shù)據(jù)庫、舊系統(tǒng)中的應(yīng)用以及第三方軟件等,數(shù)據(jù)庫產(chǎn)品與這些軟件是否具有良好集成性往往關(guān)系到整個(gè)系統(tǒng)的性能。Oracle公司的Oracle9i產(chǎn)品包括了OLAP、數(shù)據(jù)挖掘、ETL工具等一套完整的BI(商業(yè)智能)支持平臺(tái)。IBM公司也把BI套件作為其數(shù)據(jù)庫的一個(gè)重點(diǎn)來發(fā)展。微軟認(rèn)為商務(wù)智能將是其下一代主要的利潤點(diǎn)。13第13頁,共88頁。DBMS模塊DBA及助手最終用戶應(yīng)用程序員DDL應(yīng)用程序交互式查詢權(quán)限命令DDL編譯器預(yù)編譯器DDL編譯器機(jī)器語言編譯器DML系統(tǒng)和數(shù)據(jù)字典運(yùn)行DB處理機(jī)存儲(chǔ)數(shù)據(jù)管理者存儲(chǔ)數(shù)據(jù)庫用戶軟件數(shù)據(jù)DML編譯器14第14頁,共88頁。數(shù)據(jù)模型數(shù)據(jù)庫系統(tǒng)模型是指數(shù)據(jù)庫中數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。較為常見的有層次模型、網(wǎng)絡(luò)模型、關(guān)系模型3種,選擇使用這3種模型的數(shù)據(jù)庫被分別稱為層次型數(shù)據(jù)庫、網(wǎng)絡(luò)型數(shù)據(jù)庫和關(guān)系型數(shù)據(jù)庫。15第15頁,共88頁。1.層次型數(shù)據(jù)庫層次型數(shù)據(jù)庫使用結(jié)構(gòu)模型作為自己的存儲(chǔ)結(jié)構(gòu)。這是一種樹型結(jié)構(gòu),它由結(jié)點(diǎn)和連線組成,其中節(jié)點(diǎn)表示實(shí)體,連線表示實(shí)體之間的關(guān)系。層次模型的特點(diǎn):(1)有且僅有一個(gè)結(jié)點(diǎn)無雙親,該結(jié)點(diǎn)稱為根結(jié)點(diǎn);(2)其他結(jié)點(diǎn)有且只有一個(gè)雙親;(3)上一層和下一層記錄類型間聯(lián)系是1:N16第16頁,共88頁。學(xué)校的層次模型學(xué)生學(xué)校系處室教研室科室教師課程17第17頁,共88頁。2.網(wǎng)絡(luò)型數(shù)據(jù)庫網(wǎng)絡(luò)型數(shù)據(jù)庫使用網(wǎng)絡(luò)模型作為自己的存儲(chǔ)結(jié)構(gòu)。在這種存儲(chǔ)結(jié)構(gòu)中,數(shù)據(jù)記錄將組成網(wǎng)絡(luò)中的節(jié)點(diǎn),而記錄和記錄之間的關(guān)聯(lián)組成節(jié)點(diǎn)之間的連線,從而構(gòu)成了一個(gè)復(fù)雜的網(wǎng)狀結(jié)構(gòu)。(1)有一個(gè)以上的結(jié)點(diǎn)沒有雙親;(2)結(jié)點(diǎn)可以有多于一個(gè)的雙親專業(yè)學(xué)生教師教室課程18第18頁,共88頁。3.關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫使用的存儲(chǔ)結(jié)構(gòu)是多個(gè)二維表格。表中的一行稱為一條記錄或元組,用來描述一個(gè)對(duì)象的信息;表中的一列稱為一個(gè)字段或?qū)傩?,用來描述?duì)象的一個(gè)屬性。數(shù)據(jù)表與數(shù)據(jù)表之間存在相應(yīng)的關(guān)聯(lián),這些關(guān)聯(lián)將被用來查詢相關(guān)的數(shù)據(jù)。19第19頁,共88頁。數(shù)據(jù)庫設(shè)計(jì)的基本步驟按照規(guī)范化設(shè)計(jì)方法將數(shù)據(jù)庫設(shè)計(jì)分為以下6個(gè)階段需求分析概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫物理設(shè)計(jì)數(shù)據(jù)庫實(shí)施數(shù)據(jù)庫運(yùn)行和維護(hù)20第20頁,共88頁。需求分析設(shè)計(jì)局部視圖集成視圖概念結(jié)構(gòu)設(shè)計(jì)設(shè)計(jì)邏輯結(jié)構(gòu)優(yōu)化邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計(jì)設(shè)計(jì)物理結(jié)構(gòu)評(píng)價(jià)物理結(jié)構(gòu)物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)試驗(yàn)性運(yùn)行數(shù)據(jù)庫實(shí)施滿意加載數(shù)據(jù)庫投入運(yùn)行維護(hù)否是數(shù)據(jù)庫設(shè)計(jì)過程21第21頁,共88頁。數(shù)據(jù)庫設(shè)計(jì)思想原則用戶參與發(fā)展眼光:系統(tǒng)不僅要滿足用戶目前的需求,也應(yīng)滿足近期要求,還要對(duì)于遠(yuǎn)期需求有相應(yīng)的處理方案。22第22頁,共88頁。需求分析的任務(wù)詳細(xì)調(diào)查用戶要處理的對(duì)象充分了解原系統(tǒng)的工作概況明確用戶的各種要求然后在此基礎(chǔ)上確定新系統(tǒng)的功能信息要求處理要求完整性要求23第23頁,共88頁。需求分析方法為了明確用戶的實(shí)際要求,需要:跟班作業(yè);開調(diào)查會(huì);請(qǐng)專人介紹;詢問;設(shè)計(jì)調(diào)查表要用戶填寫;查閱記錄等;24第24頁,共88頁。收集基礎(chǔ)數(shù)據(jù)和一組數(shù)據(jù)流圖建設(shè)好數(shù)據(jù)字典:數(shù)據(jù)項(xiàng)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)處理過程將收集到的數(shù)據(jù)分析后,提交給用戶,征得用戶認(rèn)可。25第25頁,共88頁。(一)公司管理數(shù)據(jù)庫系統(tǒng)

的需求分析在這個(gè)階段中,將對(duì)需要存儲(chǔ)的數(shù)據(jù)進(jìn)行收集和整理,并組織建立完整的數(shù)據(jù)集??梢允褂枚喾N方法進(jìn)行數(shù)據(jù)的收集,例如相關(guān)人員調(diào)查、歷史數(shù)據(jù)查閱、觀摩實(shí)際的運(yùn)作流程以及轉(zhuǎn)換各種實(shí)用表單等。26第26頁,共88頁。數(shù)據(jù)流圖雇員發(fā)貨部門訂單信息客戶客戶信息訂貨接受訂貨雇員信息訂單信息產(chǎn)品信息產(chǎn)品信息產(chǎn)品信息27第27頁,共88頁。數(shù)據(jù)字典數(shù)據(jù)流數(shù)據(jù)流名稱:客戶信息來源:客戶去向:處理——訂貨包含的數(shù)據(jù)項(xiàng):客戶號(hào)公司名稱聯(lián)系人姓名聯(lián)系方式地址郵編數(shù)據(jù)流名稱:雇員信息來源:雇員去向:處理——接受訂單包含的數(shù)據(jù)項(xiàng):雇員號(hào)姓名性別出生年月

雇用日期特長薪水?dāng)?shù)據(jù)流名稱:產(chǎn)品信息來源:雇員去向:處理——接受訂單包含的數(shù)據(jù)項(xiàng):雇員號(hào)姓名性別出生年月

雇用日期特長薪水28第28頁,共88頁。學(xué)生成績管理系統(tǒng)29第29頁,共88頁。(二)公司管理數(shù)據(jù)庫系統(tǒng)的

概念模型設(shè)計(jì)在需求分析的基礎(chǔ)上,用E—R模型表示數(shù)據(jù)及其相互間的聯(lián)系,產(chǎn)生反映用戶信息需求的數(shù)據(jù)模型。概念設(shè)計(jì)的目的是準(zhǔn)確地描述應(yīng)用領(lǐng)域的信息模式,支持用戶的各種應(yīng)用,概念設(shè)計(jì)的成果是繪制出公司管理數(shù)據(jù)庫系統(tǒng)的E—R圖。30第30頁,共88頁。概念模型概念模型最常用方法是實(shí)體-聯(lián)系(Entity-Relationship)方法(即E-R方法),它源于1976年。E-R圖所描述的現(xiàn)實(shí)世界的信息結(jié)構(gòu)稱為實(shí)體-聯(lián)系模型(E-R模型)。E-R圖中包括實(shí)體、屬性和聯(lián)系3種基本圖素31第31頁,共88頁。1.概念模型的主要概念實(shí)體:客觀存在并相互區(qū)別的事物及其事物之間的聯(lián)系。例如,一個(gè)學(xué)生、一門課程、學(xué)生的一次選課等都是實(shí)體。屬性:實(shí)體所具有的某一特性。例如,學(xué)生的學(xué)號(hào)、姓名、性別、出生年份、系、入學(xué)時(shí)間等。聯(lián)系:實(shí)體與實(shí)體之間以及實(shí)體與組成它的各屬性間的關(guān)系,分為:一對(duì)一聯(lián)系一對(duì)多聯(lián)系多對(duì)多聯(lián)系32第32頁,共88頁。⑴一對(duì)一聯(lián)系(one-to-one)定義

如果兩個(gè)實(shí)體集A、B中的任意一個(gè)實(shí)體至多與另一個(gè)實(shí)體集中的一個(gè)實(shí)體對(duì)應(yīng)聯(lián)系,則稱A、B為一對(duì)一聯(lián)系。記為“1-1”聯(lián)系33第33頁,共88頁。⑵一對(duì)多聯(lián)系(one-to-many)定義

設(shè)有兩個(gè)實(shí)體集A和B,如果A中每個(gè)實(shí)體與B中任意個(gè)實(shí)體(包括零個(gè))有聯(lián)系,而B中的每個(gè)實(shí)體至多與A中的一個(gè)實(shí)體有聯(lián)系,則稱該聯(lián)系為"從A到B的1對(duì)多聯(lián)系",記為"1-m"聯(lián)系34第34頁,共88頁。⑶多對(duì)多聯(lián)系(many-to-many)定義

如果兩個(gè)實(shí)體集A、B中的每個(gè)實(shí)體都與另一個(gè)實(shí)體集中的任意個(gè)實(shí)體(包括零個(gè)實(shí)體)有聯(lián)系,則稱這兩個(gè)實(shí)體集是多對(duì)多聯(lián)系,記為“m-n”聯(lián)系。35第35頁,共88頁。2.概念模型的表示方法實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名。屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來。聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n或m:n)。

36第36頁,共88頁。E-R模型E-R模型是現(xiàn)實(shí)世界的純粹表示,有三個(gè)基本成份:實(shí)體、聯(lián)系和屬性。它是一個(gè)概念性模型,描述的是現(xiàn)實(shí)中的信息聯(lián)系,而不涉及數(shù)據(jù)如何在數(shù)據(jù)庫系統(tǒng)中的存放。37第37頁,共88頁。公司管理數(shù)據(jù)庫系統(tǒng)的E—R模型38第38頁,共88頁。(三)公司管理數(shù)據(jù)庫系統(tǒng)的邏輯設(shè)計(jì)數(shù)據(jù)庫邏輯設(shè)計(jì)的任務(wù)是把數(shù)據(jù)庫概念設(shè)計(jì)階段產(chǎn)生的數(shù)據(jù)庫概念模式(E—R圖)轉(zhuǎn)換為數(shù)據(jù)庫邏輯模式。進(jìn)行數(shù)據(jù)庫邏輯設(shè)計(jì),首先將概念設(shè)計(jì)中所得的E—R圖轉(zhuǎn)換成等價(jià)的關(guān)系模式,然后,再進(jìn)行邏輯模式的規(guī)范化和性能優(yōu)化,使形成的數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)表,滿足用戶的完整性和安全性要求。39第39頁,共88頁。1、E—R圖轉(zhuǎn)換為系統(tǒng)的數(shù)據(jù)表利用E—R圖到關(guān)系模式轉(zhuǎn)換的有關(guān)知識(shí),將圖1-2所示的公司管理數(shù)據(jù)庫系統(tǒng)的E—R圖轉(zhuǎn)換為系統(tǒng)的數(shù)據(jù)表。40第40頁,共88頁。2、將邏輯模式規(guī)范化和性能優(yōu)化由E—R圖轉(zhuǎn)換的數(shù)據(jù)庫邏輯模型還只是邏輯模式的雛形,要成為邏輯模式,還需要進(jìn)行以下幾個(gè)方面的處理:對(duì)數(shù)據(jù)庫的性能、存儲(chǔ)空間等優(yōu)化;數(shù)據(jù)庫邏輯模型的規(guī)范化41第41頁,共88頁。A、對(duì)數(shù)據(jù)庫的性能、存儲(chǔ)空間等優(yōu)化依據(jù):提高數(shù)據(jù)庫性能的措施有:減少聯(lián)接運(yùn)算和減少關(guān)系的大小和數(shù)據(jù)量等。節(jié)省存儲(chǔ)空間的措施有:減少每個(gè)屬性所占的空間、采用假屬性減少重復(fù)數(shù)據(jù)所占存儲(chǔ)空間。42第42頁,共88頁。產(chǎn)品信息表(product)產(chǎn)品ID產(chǎn)品名單價(jià)(元)類別名庫存量(件)1牛奶2.30特制品2002冰激凌1.50特制品4003果凍3.00特制品3004打印紙40.00計(jì)算機(jī)耗材1005墨盒200.00計(jì)算機(jī)耗材15043第43頁,共88頁。產(chǎn)品信息表(product)產(chǎn)品ID產(chǎn)品名類別ID單價(jià)(元)庫存量(件)1牛奶62.302002冰激凌61.504003果凍63.003004打印紙240.001005墨盒2200.0015044第44頁,共88頁。類別信息表(category)類別ID類別名說明1飲料軟飲料、咖啡、茶、啤酒和淡啤酒2計(jì)算機(jī)耗材打印紙等3日用品牙刷等4谷類/麥片面包、餅干、生面團(tuán)和谷物5肉/家禽精制肉6特制品干果和豆乳7海鮮海菜和魚45第45頁,共88頁。拆分產(chǎn)品信息表(product)

后的邏輯模式46第46頁,共88頁。B、數(shù)據(jù)庫邏輯模型的規(guī)范化數(shù)據(jù)庫的范式理論關(guān)系數(shù)據(jù)庫范式理論是在數(shù)據(jù)庫設(shè)計(jì)過程中將要依據(jù)的準(zhǔn)則,數(shù)據(jù)庫結(jié)構(gòu)必須要滿足這些準(zhǔn)則,才能確保數(shù)據(jù)的準(zhǔn)確性和可靠性。這些準(zhǔn)則被稱為規(guī)范化形式,即范式。在數(shù)據(jù)庫設(shè)計(jì)過程中,對(duì)數(shù)據(jù)庫進(jìn)行檢查和修改并使它符合范式的過程叫做規(guī)范化。47第47頁,共88頁。數(shù)據(jù)庫的范式理論范式按照規(guī)范化的級(jí)別分為5種:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)和第五范式(5NF)。在實(shí)際的數(shù)據(jù)庫設(shè)計(jì)過程中,通常需要用到的是前三類范式。第一范式數(shù)據(jù)的原子性第二范式主鍵的絕對(duì)相關(guān)性第三范式依賴的傳遞性48第48頁,共88頁。(1)第一范式(1NF)第一范式要求每一個(gè)數(shù)據(jù)項(xiàng)都不能拆分成兩個(gè)或兩個(gè)以上的數(shù)據(jù)項(xiàng)。

例:在下面的表

所示的teacher表中“學(xué)歷學(xué)位”是由學(xué)歷和學(xué)位組成的,因此,這個(gè)teacher表不滿足第一范式??梢詫ⅰ皩W(xué)歷學(xué)位”字段拆分為兩個(gè)字段,如表所示,從而使該數(shù)據(jù)表滿足第一范式。教師ID姓名性別學(xué)歷學(xué)位100王霞女研究生碩士101葛利男本科學(xué)士49第49頁,共88頁。teacher表教師ID姓名性別學(xué)歷學(xué)位100王霞女研究生碩士101葛利男本科學(xué)士50第50頁,共88頁。非規(guī)范化的關(guān)系score0學(xué)號(hào)姓名課程名成績991101李雨英語計(jì)算機(jī)基礎(chǔ)8590991102楊玲英語計(jì)算機(jī)基礎(chǔ)7394991103張山英語計(jì)算機(jī)基礎(chǔ)768551第51頁,共88頁。滿足1NF的關(guān)系score1學(xué)號(hào)姓名課程名成績991101李雨英語85991101李雨計(jì)算機(jī)基礎(chǔ)90991102楊玲英語73991102楊玲計(jì)算機(jī)基礎(chǔ)94991103張山英語76991103張山計(jì)算機(jī)基礎(chǔ)8552第52頁,共88頁。(2)第二范式(2NF):

主鍵的絕對(duì)相關(guān)性如果一個(gè)數(shù)據(jù)表已經(jīng)滿足第一范式,而且該數(shù)據(jù)表中的任何一個(gè)非主鍵字段的數(shù)值都依賴于該數(shù)據(jù)表的主鍵字段,那么該數(shù)據(jù)表滿足第二范式,即2NF。53第53頁,共88頁。不滿足第二范式的P_order表例:在P_order表中,數(shù)據(jù)表的主鍵是訂單ID。其中,“產(chǎn)品名”字段完全依賴于“產(chǎn)品ID”字段,而不是取決于訂單ID,因此,P_order表不滿足第二范式。但該數(shù)據(jù)表中的其他字段都完全依賴于該表的主鍵字段“訂單ID”,因此,可以將該數(shù)據(jù)表中的“產(chǎn)品名”字段去掉,以滿足第二范式。不滿足第二范式的P_order訂單ID產(chǎn)品ID產(chǎn)品名數(shù)量(件)雇員ID客戶ID訂貨日期27269毛巾1000011712/05/200628156臉盆500021815/05/200654第54頁,共88頁。滿足第二范式的P_order表訂單ID產(chǎn)品ID數(shù)量(件)雇員ID客戶ID訂貨日期272691000011712/05/2006281565000021815/05/200655第55頁,共88頁。(3)第三范式(3NF):

依賴的傳遞性如果一個(gè)數(shù)據(jù)表已經(jīng)滿足第二范式,而且該數(shù)據(jù)表中的任何兩個(gè)非主鍵字段的數(shù)值之間不存在函數(shù)依賴關(guān)系,那么該數(shù)據(jù)表滿足第三范式,即3NF。56第56頁,共88頁。例:如果在employee表中,“獎(jiǎng)金”字段的數(shù)值是“薪水”字段數(shù)值的20%,因此,這兩個(gè)字段之間存在著函數(shù)依賴關(guān)系,所以employee表不滿足第三范式??梢詫ⅰ蔼?jiǎng)金”字段從該表中去掉,以滿足第三范式。雇員ID姓名性別薪水(元)獎(jiǎng)金(元)0001張三男30006000002李四男400080057第57頁,共88頁。規(guī)范化后的公司管理數(shù)據(jù)庫

邏輯模式58第58頁,共88頁。C、確定數(shù)據(jù)表和表中的字段Customer表:用來存儲(chǔ)有關(guān)客戶的信息字段名稱數(shù)據(jù)類型預(yù)計(jì)長度特殊限制客戶IDint默認(rèn)惟一,且不可為空公司名稱char30聯(lián)系人姓名char8聯(lián)系方式char12地址char30郵編char659第59頁,共88頁。P_order表:用來存儲(chǔ)有關(guān)訂單的信息字段名稱數(shù)據(jù)類型預(yù)計(jì)長度特殊限制訂單IDint默認(rèn)惟一,且不可為空產(chǎn)品IDint默認(rèn)數(shù)量int默認(rèn)雇員IDint默認(rèn)客戶IDint默認(rèn)訂貨日期Datetime默認(rèn)60第60頁,共88頁。Employee表:用來存儲(chǔ)有關(guān)雇員的信息字段名稱數(shù)據(jù)類型預(yù)計(jì)長度特殊限制雇員IDint默認(rèn)惟一,且不可為空姓名char8性別char2出生年月datetime默認(rèn)雇傭日期datetime默認(rèn)特長char20薪水money默認(rèn)61第61頁,共88頁。Product表:用來存儲(chǔ)有關(guān)產(chǎn)品的信息字段名稱數(shù)據(jù)類型預(yù)計(jì)長度特殊限制產(chǎn)品IDint默認(rèn)惟一,且不可為空產(chǎn)品名char10類別IDint默認(rèn)單價(jià)money默認(rèn)庫存量int默認(rèn)62第62頁,共88頁。Category表:用來存儲(chǔ)有關(guān)產(chǎn)品類別的信息字段名稱數(shù)據(jù)類型預(yù)計(jì)長度特殊限制類別IDint默認(rèn)惟一,且不可為空類別名char默認(rèn)說明char1663第63頁,共88頁。D、建立約束,以保證數(shù)據(jù)的完整性和一致性64第64頁,共88頁。數(shù)據(jù)完整性數(shù)據(jù)的完整性是指存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù)的正確性和可靠性,它是衡量數(shù)據(jù)庫中數(shù)據(jù)質(zhì)量好壞的一種標(biāo)準(zhǔn)。數(shù)據(jù)完整性要確保數(shù)據(jù)庫中數(shù)據(jù)一致、準(zhǔn)確,同時(shí)符合企業(yè)規(guī)則。因此,滿足數(shù)據(jù)完整性要求的數(shù)據(jù)應(yīng)具有以下特點(diǎn):數(shù)據(jù)類型準(zhǔn)確無誤數(shù)據(jù)的值滿足范圍設(shè)置同一表格數(shù)據(jù)之間不存在沖突多個(gè)表格數(shù)據(jù)之間不存在沖突65第65頁,共88頁。實(shí)體完整性(EntityIntegrity功能:實(shí)體完整性的目的是確保數(shù)據(jù)庫中所有實(shí)體的惟一性,也就是不應(yīng)使用完全相同的數(shù)據(jù)記錄。方法:設(shè)定主鍵((PrimaryKey)、惟一鍵(UniqueKey)、惟一索引(UniqueIndex)和標(biāo)識(shí)列(IdentityColumn)等,其中最常用的是使用主鍵。66第66頁,共88頁。區(qū)域完整性(DomainIntegrity功能:要求數(shù)據(jù)表中的數(shù)據(jù)位于某一個(gè)特定的允許范圍內(nèi)。方法:使用默認(rèn)值(Default)、核查(Check)、外鍵(ForeignKey)、數(shù)據(jù)類型(DataType)和規(guī)則(Rule)等多種方法來實(shí)現(xiàn)區(qū)域完整性。例:如果限制“性別”字段的數(shù)據(jù)值可以是“男”或“女”,那么,輸入的其他數(shù)值將被SQLServer2000拒絕。67第67頁,共88頁。參照完整性(ReferentialIntegrity)

作用:用來維護(hù)相關(guān)數(shù)據(jù)表之間數(shù)據(jù)一致性的手段,通過實(shí)現(xiàn)參照完整性,可以避免因一個(gè)數(shù)據(jù)表的記錄改變而造成另一個(gè)數(shù)據(jù)表內(nèi)的數(shù)據(jù)變成無效的值。方法:外鍵(ForeignKey)、核查(Check)、、觸發(fā)器(Trigger)和存儲(chǔ)過程(StoredProcedure)。例:在employee表和P_order表中,如果要?jiǎng)h除employee表中的一條記錄,而同時(shí)在P_order表中存在需要參考該記錄的記錄集,那么該刪除操作將會(huì)失敗,這樣就避免了P_order表中的數(shù)據(jù)失去關(guān)聯(lián)。68第68頁,共88頁。用戶定義完整性功能:這種數(shù)據(jù)完整性由用戶根據(jù)實(shí)際應(yīng)用中的需要自行定義。方法:規(guī)則(Rule)、觸發(fā)器(Trigger)、存儲(chǔ)過程(StoredProcedure)和數(shù)據(jù)表創(chuàng)建時(shí)可以使用的所有約束(Constraint)。例:在employee表和P_order表中,如果某雇員負(fù)責(zé)的訂單數(shù)超過5個(gè),那么該雇員的“薪水”應(yīng)大于5000。69第69頁,共88頁。主鍵和外鍵數(shù)據(jù)表之間的關(guān)聯(lián)實(shí)際上是通過鍵(Key)來實(shí)現(xiàn)的。所謂的“鍵”是指數(shù)據(jù)表中的一個(gè)字段,鍵分主鍵(PrimaryKey)和外鍵(ForeignKey)兩種,它們都在數(shù)據(jù)表聯(lián)接的過程中起著重大的作用。70第70頁,共88頁。主鍵:主鍵是數(shù)據(jù)表中具有惟一性的字段,設(shè)置為主鍵的字段的值不能重復(fù)。作用:執(zhí)行查詢,以提高查詢的速度。數(shù)據(jù)庫管理系統(tǒng)并不會(huì)強(qiáng)制要求在每一個(gè)數(shù)據(jù)表中必須設(shè)置主鍵,但這里推薦大家這樣做,因?yàn)橹麈I在數(shù)據(jù)表聯(lián)接和提高查詢性能方面會(huì)起到很大的作用。71第71頁,共88頁。外鍵一個(gè)數(shù)據(jù)表將使用該數(shù)據(jù)表中的外鍵連接到其它的數(shù)據(jù)表,而這個(gè)外鍵字段在其它的數(shù)據(jù)表中將作為主鍵字段出現(xiàn)。72第72頁,共88頁。約束使用約束是實(shí)現(xiàn)數(shù)據(jù)完整性最主要的方法,使用約束的主要目的是限制輸入到表中的數(shù)值的范圍。從應(yīng)用范圍來講,約束可分為兩種:字段級(jí)約束和數(shù)據(jù)表級(jí)約束。

字段級(jí)約束:字段級(jí)約束是數(shù)據(jù)表中字段定義的一部分,它只能應(yīng)用于數(shù)據(jù)表中的一個(gè)字段。

數(shù)據(jù)表級(jí)約束:數(shù)據(jù)表級(jí)約束獨(dú)立于數(shù)據(jù)表的字段定義之外,它可以應(yīng)用于數(shù)據(jù)表中的多個(gè)字段。73第73頁,共88頁。(1)主鍵((PRIMARYKEY)約束主鍵約束使用數(shù)據(jù)表中的一列數(shù)據(jù)或多列數(shù)據(jù)來惟一地標(biāo)識(shí)一行數(shù)據(jù)。也就是說,在數(shù)據(jù)表中不能存在主鍵相同的兩行數(shù)據(jù)。而且,位于主鍵約束下的數(shù)據(jù)應(yīng)使用確定的數(shù)據(jù),不能輸入NULL來代替確定的數(shù)值。在管理數(shù)據(jù)表時(shí),應(yīng)確保每一個(gè)數(shù)據(jù)表都擁有自己惟一的主鍵,從而實(shí)現(xiàn)數(shù)據(jù)的實(shí)體完整性。74第74頁,共88頁。(2)

外鍵(FOREIGNKEY)約束外鍵約束主要用來實(shí)現(xiàn)數(shù)據(jù)的區(qū)域完整性和引用完整性。如果確定了數(shù)據(jù)表中某一個(gè)字段將作為該數(shù)據(jù)表與其他數(shù)據(jù)表關(guān)聯(lián)時(shí)使用的外鍵,那么,該字段的取值范圍將決定于關(guān)聯(lián)數(shù)據(jù)表中該字段的取值。75第75頁,共88頁。(3)惟一(UNIQUE)約束惟一約束主要用來確保非主鍵字段中數(shù)據(jù)的惟一性。惟一約束同主鍵約束主要區(qū)別在于:在同一個(gè)數(shù)據(jù)表中,惟一約束可以用來同時(shí)約束一個(gè)或多個(gè)非主鍵字段中數(shù)據(jù)的惟一性,而主鍵約束只允許約束一個(gè)字段數(shù)據(jù)的惟一性或多個(gè)字段組合在一起的惟一性。在使用惟一約束的字段中允許出現(xiàn)NULL值,而在使用主鍵約束時(shí),字段中不允許出現(xiàn)NULL值。76第76頁,共88頁。(4)核查(CHECK)約束核查約束通過檢查輸入數(shù)據(jù)表字段的數(shù)值來維護(hù)數(shù)據(jù)的完整性,以確保只有符合條件的數(shù)據(jù)才能夠進(jìn)入數(shù)據(jù)表。它通常是通過檢查一個(gè)邏輯表達(dá)式的結(jié)果是否為真來判斷數(shù)據(jù)是否符合條件的。77第77頁,共88頁。1、建立主鍵約束,以惟一標(biāo)識(shí)數(shù)據(jù)表的各條記錄用主鍵來標(biāo)識(shí)記錄,在本公司管理數(shù)據(jù)庫中,雇員ID是employee表的主鍵,客戶ID是customer表的主鍵,產(chǎn)品ID是product表的主鍵,類別ID是category表的主鍵,訂單ID是P_order表的主鍵。78第78頁,共88頁。2、建立數(shù)據(jù)表之間的關(guān)聯(lián),并根據(jù)建立的關(guān)聯(lián),實(shí)現(xiàn)表之間的參照完整性79第79頁,共88頁。employee雇員ID姓名性別出生年月雇傭日期特長薪水P_order訂單ID產(chǎn)品ID數(shù)量雇員ID客戶ID訂貨日期Product產(chǎn)品ID產(chǎn)品名類別ID單價(jià)庫存量customer客戶ID公司名稱聯(lián)系人姓名聯(lián)系方式地址郵編category類別ID類別名說明80第80頁,共88頁。81第81頁,共88頁

溫馨提示

  • 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)論