案例分析 公司管理數(shù)據(jù)庫系統(tǒng)的規(guī)劃_第1頁
案例分析 公司管理數(shù)據(jù)庫系統(tǒng)的規(guī)劃_第2頁
案例分析 公司管理數(shù)據(jù)庫系統(tǒng)的規(guī)劃_第3頁
案例分析 公司管理數(shù)據(jù)庫系統(tǒng)的規(guī)劃_第4頁
案例分析 公司管理數(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)

文檔簡(jiǎn)介

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

系統(tǒng)規(guī)劃11/88工作任務(wù):根據(jù)某公司工作流程,設(shè)計(jì)一種滿足該公司管理數(shù)據(jù)庫系統(tǒng)。詳細(xì)要求如下:公司數(shù)據(jù)庫管理系統(tǒng)主要完成客戶和產(chǎn)品之間進(jìn)行產(chǎn)品訂購功能,此系統(tǒng)能夠?qū)崿F(xiàn)讓公司增加、刪除和修改所提供產(chǎn)品,還能夠讓客戶增加、刪除和修改所需要產(chǎn)品。公司交易員(雇員)能夠利用客戶提出訂貨信息和產(chǎn)品信息提出交易提議。另外,該系統(tǒng)能夠分類統(tǒng)計(jì)已訂購產(chǎn)品信息。22/88

數(shù)據(jù)描述事物符號(hào)稱為數(shù)據(jù)。描述事物符號(hào)能夠是數(shù)字,也能夠是文字、圖形、圖像、聲音、語言等,數(shù)據(jù)有多種體現(xiàn)形式,他們都能夠通過數(shù)字化后存入計(jì)算機(jī)。33/88

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

44/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ù)功能55/88

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

66/88SQLServer數(shù)據(jù)庫管理系統(tǒng)工作界面77/88Access數(shù)據(jù)庫管理系統(tǒng)工作界面

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

99/88數(shù)據(jù)庫技術(shù)四條線索三個(gè)系統(tǒng):歷史發(fā)展(層次網(wǎng)狀系統(tǒ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、ORDBSQL兩個(gè)端點(diǎn):顧客(使用)、系統(tǒng)(實(shí)現(xiàn))數(shù)據(jù)庫設(shè)計(jì)演變過程ER圖,對(duì)象聯(lián)系圖,UML類圖1010/88DBMS主流產(chǎn)品現(xiàn)狀代表性產(chǎn)品:Oracle公司Oracle、IBM公司DB2以及微軟SQLServer等關(guān)系數(shù)據(jù)庫技術(shù)仍然是主流2023年RDBMS市場(chǎng)份額占整個(gè)數(shù)據(jù)庫市場(chǎng)80%,這個(gè)百分比比1999年增加了15%。產(chǎn)品形成系列化如DB2通用數(shù)據(jù)庫產(chǎn)品包括了從高端公司級(jí)并行數(shù)據(jù)庫服務(wù)器,到移動(dòng)端產(chǎn)品DB2Everywhere一整套系列。從支持平臺(tái)看,不再是大型機(jī)上專有產(chǎn)品,支持目前主流多種平臺(tái),包括Linux和WindowsNT。另外,它尚有多種中間件產(chǎn)品,如DB2Connect、DB2Datajointer、DB2Replication等,組成了一種龐大數(shù)據(jù)庫家族。1111/88DBMS主流產(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ì)劃中一種主要成份。海量數(shù)據(jù)處理互聯(lián)網(wǎng)提供大量以XML格式數(shù)據(jù)為特性半構(gòu)造化數(shù)據(jù),支持這種類型數(shù)據(jù)存放、共享、管理、檢索等也是各數(shù)據(jù)庫廠商發(fā)展方向。1212/88DBMS主流產(chǎn)品現(xiàn)狀向智能化集成化方向擴(kuò)展數(shù)據(jù)豐富知識(shí)貧乏現(xiàn)實(shí)直接造成了聯(lián)機(jī)分析處理(OLAP)、數(shù)據(jù)倉庫(DataWarehousing)和數(shù)據(jù)挖掘(DataMining)等技術(shù)出現(xiàn)公司應(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ù)庫一種重點(diǎn)來發(fā)展。微軟以為商務(wù)智能將是其下一代主要利潤點(diǎn)。1313/88DBMS模塊DBA及助手最后顧客應(yīng)用程序員DDL應(yīng)用程序交互式查詢權(quán)限命令DDL編譯器預(yù)編譯器DDL編譯器機(jī)器語言編譯器DML系統(tǒng)和數(shù)據(jù)字典運(yùn)行DB處理機(jī)存放數(shù)據(jù)管理者存放數(shù)據(jù)庫顧客軟件數(shù)據(jù)DML編譯器1414/88數(shù)據(jù)模型數(shù)據(jù)庫系統(tǒng)模型是指數(shù)據(jù)庫中數(shù)據(jù)存放構(gòu)造。較為常見有層次模型、網(wǎng)絡(luò)模型、關(guān)系模型3種,選擇使用這3種模型數(shù)據(jù)庫被分別稱為層次型數(shù)據(jù)庫、網(wǎng)絡(luò)型數(shù)據(jù)庫和關(guān)系型數(shù)據(jù)庫。1515/881.層次型數(shù)據(jù)庫層次型數(shù)據(jù)庫使用構(gòu)造模型作為自己存放構(gòu)造。這是一種樹型構(gòu)造,它由結(jié)點(diǎn)和連線組成,其中節(jié)點(diǎn)表達(dá)實(shí)體,連線表達(dá)實(shí)體之間關(guān)系。層次模型特點(diǎn):(1)有且僅有一種結(jié)點(diǎn)無雙親,該結(jié)點(diǎn)稱為根結(jié)點(diǎn);(2)其他結(jié)點(diǎn)有且只有一種雙親;(3)上一層和下一層統(tǒng)計(jì)類型間聯(lián)系是1:N1616/88學(xué)校層次模型學(xué)生學(xué)校系處室教研室科室教師課程1717/882.網(wǎng)絡(luò)型數(shù)據(jù)庫網(wǎng)絡(luò)型數(shù)據(jù)庫使用網(wǎng)絡(luò)模型作為自己存放構(gòu)造。在這種存放構(gòu)造中,數(shù)據(jù)統(tǒng)計(jì)將組成網(wǎng)絡(luò)中節(jié)點(diǎn),而統(tǒng)計(jì)和統(tǒng)計(jì)之間關(guān)聯(lián)組成節(jié)點(diǎn)之間連線,從而組成了一種復(fù)雜網(wǎng)狀構(gòu)造。(1)有一種以上結(jié)點(diǎn)沒有雙親;(2)結(jié)點(diǎn)能夠有多于一種雙親專業(yè)學(xué)生教師教室課程1818/883.關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫使用存放構(gòu)造是多種二維表格。表中一行稱為一條統(tǒng)計(jì)或元組,用來描述一種對(duì)象信息;表中一列稱為一種字段或?qū)傩?,用來描述?duì)象一種屬性。數(shù)據(jù)表與數(shù)據(jù)表之間存在對(duì)應(yīng)關(guān)聯(lián),這些關(guān)聯(lián)將被用來查詢有關(guān)數(shù)據(jù)。1919/88數(shù)據(jù)庫設(shè)計(jì)基本步驟按照規(guī)范化設(shè)計(jì)辦法將數(shù)據(jù)庫設(shè)計(jì)分為下列6個(gè)階段需求分析概念構(gòu)造設(shè)計(jì)邏輯構(gòu)造設(shè)計(jì)數(shù)據(jù)庫物理設(shè)計(jì)數(shù)據(jù)庫實(shí)行數(shù)據(jù)庫運(yùn)行和維護(hù)2020/88需求分析設(shè)計(jì)局部視圖集成視圖概念構(gòu)造設(shè)計(jì)設(shè)計(jì)邏輯構(gòu)造優(yōu)化邏輯構(gòu)造邏輯構(gòu)造設(shè)計(jì)設(shè)計(jì)物理構(gòu)造評(píng)價(jià)物理構(gòu)造物理構(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ì)過程2121/88數(shù)據(jù)庫設(shè)計(jì)思想標(biāo)準(zhǔn)顧客參與發(fā)展眼光:系統(tǒng)不但要滿足顧客目前需求,也應(yīng)滿足近期要求,還要對(duì)于遠(yuǎn)期需求有對(duì)應(yīng)處理方案。2222/88需求分析任務(wù)詳細(xì)調(diào)查顧客要處理對(duì)象充足理解原系統(tǒng)工作概況明確顧客多種要求然后在此基礎(chǔ)上確定新系統(tǒng)功能信息要求處理要求完整性要求2323/88需求分析辦法為了明確顧客實(shí)際要求,需要:跟班作業(yè);開調(diào)查會(huì);請(qǐng)專員介紹;問詢;設(shè)計(jì)調(diào)查表要顧客填寫;查閱統(tǒng)計(jì)等;2424/88搜集基礎(chǔ)數(shù)據(jù)和一組數(shù)據(jù)流圖建設(shè)好數(shù)據(jù)字典:數(shù)據(jù)項(xiàng)數(shù)據(jù)構(gòu)造數(shù)據(jù)流數(shù)據(jù)存放處理過程將搜集到數(shù)據(jù)分析后,提交給顧客,征得顧客認(rèn)可。2525/88(一)公司管理數(shù)據(jù)庫系統(tǒng)

需求分析在這個(gè)階段中,將對(duì)需要存放數(shù)據(jù)進(jìn)行搜集和整頓,并組織建立完整數(shù)據(jù)集。能夠使用多種辦法進(jìn)行數(shù)據(jù)搜集,例如有關(guān)人員調(diào)查、歷史數(shù)據(jù)查閱、觀摩實(shí)際運(yùn)作流程以及轉(zhuǎn)換多種實(shí)用表單等。2626/88數(shù)據(jù)流圖雇員發(fā)貨部門訂單信息客戶客戶信息訂貨接收訂貨雇員信息訂單信息產(chǎn)品信息產(chǎn)品信息產(chǎn)品信息2727/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)姓名性別出生年月

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

雇用日期專長(zhǎng)薪水2828/88學(xué)生成績(jī)管理系統(tǒng)2929/88(二)公司管理數(shù)據(jù)庫系統(tǒng)

概念模型設(shè)計(jì)在需求分析基礎(chǔ)上,用E—R模型表達(dá)數(shù)據(jù)及其互相間聯(lián)系,產(chǎn)生反應(yīng)顧客信息需求數(shù)據(jù)模型。概念設(shè)計(jì)目標(biāo)是精確地描述應(yīng)用領(lǐng)域信息模式,支持顧客多種應(yīng)用,概念設(shè)計(jì)成果是繪制出公司管理數(shù)據(jù)庫系統(tǒng)E—R圖。3030/88概念模型概念模型最常用辦法是實(shí)體-聯(lián)系(Entity-Relationship)辦法(即E-R辦法),它源于1976年。E-R圖所描述現(xiàn)實(shí)世界信息構(gòu)造稱為實(shí)體-聯(lián)系模型(E-R模型)。E-R圖中包括實(shí)體、屬性和聯(lián)系3種基本圖素3131/881.概念模型主要概念實(shí)體:客觀存在并互相區(qū)分事物及其事物之間聯(lián)系。例如,一種學(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)系3232/88⑴一對(duì)一聯(lián)系(one-to-one)定義

假如兩個(gè)實(shí)體集A、B中任意一種實(shí)體至多與另一種實(shí)體集中一種實(shí)體對(duì)應(yīng)聯(lián)系,則稱A、B為一對(duì)一聯(lián)系。記為“1-1”聯(lián)系3333/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中一種實(shí)體有聯(lián)系,則稱該聯(lián)系為"從A到B1對(duì)多聯(lián)系",記為"1-m"聯(lián)系3434/88⑶多對(duì)多聯(lián)系(many-to-many)定義

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

3636/88E-R模型E-R模型是現(xiàn)實(shí)世界純正表達(dá),有三個(gè)基本成份:實(shí)體、聯(lián)系和屬性。它是一種概念性模型,描述是現(xiàn)實(shí)中信息聯(lián)系,而不包括數(shù)據(jù)如何在數(shù)據(jù)庫系統(tǒng)中寄存。3737/88公司管理數(shù)據(jù)庫系統(tǒng)E—R模型3838/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ù)表,滿足顧客完整性和安全性要求。3939/881、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ù)表。4040/882、將邏輯模式規(guī)范化和性能優(yōu)化由E—R圖轉(zhuǎn)換數(shù)據(jù)庫邏輯模型還只是邏輯模式雛形,要成為邏輯模式,還需要進(jìn)行下列幾個(gè)方面處理:對(duì)數(shù)據(jù)庫性能、存放空間等優(yōu)化;數(shù)據(jù)庫邏輯模型規(guī)范化4141/88A、對(duì)數(shù)據(jù)庫性能、存放空間等優(yōu)化根據(jù):提升數(shù)據(jù)庫性能措施有:減少聯(lián)接運(yùn)算和減少關(guān)系大小和數(shù)據(jù)量等。節(jié)省存放空間措施有:減少每個(gè)屬性所占空間、采取假屬性減少反復(fù)數(shù)據(jù)所占存放空間。4242/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ī)耗材1504343/88產(chǎn)品信息表(product)產(chǎn)品ID產(chǎn)品名類別ID單價(jià)(元)庫存量(件)1牛奶62.302002冰激凌61.504003果凍63.003004打印紙240.001005墨盒2200.001504444/88類別信息表(category)類別ID類別名說明1飲料軟飲料、咖啡、茶、啤酒和淡啤酒2計(jì)算機(jī)耗材打印紙等3日用具牙刷等4谷類/麥片面包、餅干、生面團(tuán)和谷物5肉/家禽精制肉6特制品干果和豆乳7海鮮海菜和魚4545/88拆分產(chǎn)品信息表(product)

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

例:在下面表

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

主鍵絕對(duì)有關(guān)性假如一種數(shù)據(jù)表已經(jīng)滿足第一范式,并且該數(shù)據(jù)表中任何一種非主鍵字段數(shù)值都依賴于該數(shù)據(jù)表主鍵字段,那么該數(shù)據(jù)表滿足第二范式,即2NF。5353/88不滿足第二范式P_order表例:在P_order表中,數(shù)據(jù)表主鍵是訂單ID。其中,“產(chǎn)品名”字段完全依賴于“產(chǎn)品ID”字段,而不是取決于訂單ID,因此,P_order表不滿足第二范式。但該數(shù)據(jù)表中其他字段都完全依賴于該表主鍵字段“訂單ID”,因此,能夠?qū)⒃摂?shù)據(jù)表中“產(chǎn)品名”字段去掉,以滿足第二范式。不滿足第二范式P_order訂單ID產(chǎn)品ID產(chǎn)品名數(shù)量(件)雇員ID客戶ID訂貨日期27269毛巾1000011712/05/202328156臉盆500021815/05/20235454/88滿足第二范式P_order表訂單ID產(chǎn)品ID數(shù)量(件)雇員ID客戶ID訂貨日期272691000011712/05/2023281565000021815/05/20235555/88(3)第三范式(3NF):

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

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

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

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

數(shù)據(jù)表級(jí)約束:數(shù)據(jù)表級(jí)約束獨(dú)立于數(shù)據(jù)表字段定義之外,它能夠應(yīng)用于數(shù)據(jù)表中多種字段。7373/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)確保每一種數(shù)據(jù)表都擁有自己惟一主鍵,從而實(shí)現(xiàn)數(shù)據(jù)實(shí)體完整性。7474/88(2)

外鍵(FOREIGNKEY)約束外鍵約束主要用來實(shí)現(xiàn)數(shù)據(jù)區(qū)域完整性和引用完整性。假如確定了數(shù)據(jù)表中某一種字段將作為該數(shù)據(jù)表與其他數(shù)據(jù)表關(guān)聯(lián)時(shí)使用外鍵,那么,該字段取值范圍將決定于關(guān)聯(lián)數(shù)據(jù)表中該字段取值。7575/88(3)惟一(UNIQUE)約束惟一約束主要用來確保非主鍵字段中數(shù)據(jù)惟一性。惟一約束同主鍵約束主要區(qū)分在于:在同一種數(shù)據(jù)表中,惟一約束能夠用來同步約束一種或多種非主鍵字段中數(shù)據(jù)惟一性,而主鍵約束只允許約束一種字段數(shù)據(jù)惟一性或多種字段組合在一起惟一性。在使用惟一約束字段中允許出現(xiàn)NULL值,而在使用主鍵約束時(shí),字段中不允許出現(xiàn)NULL值。7676/88(4)核查(CHECK)約束核查約束通過檢查輸入數(shù)據(jù)表字段數(shù)值來維護(hù)數(shù)據(jù)完整性,以確保只有符合條件數(shù)據(jù)才能夠進(jìn)入數(shù)據(jù)表。它一般是通過檢查一種邏輯體現(xiàn)式成果是否為真來判斷數(shù)據(jù)是否符合條件。7777/881、建立主鍵約束,以惟一標(biāo)識(shí)數(shù)據(jù)表各條統(tǒng)計(jì)用主鍵來標(biāo)識(shí)統(tǒng)計(jì),在我司管理數(shù)據(jù)庫中,雇員ID是employee表主鍵,客戶ID是customer表主鍵,產(chǎn)品ID是product表主鍵,類別ID是category表主鍵,訂單ID是P_order表主鍵。7878/882、建立數(shù)據(jù)表之間關(guān)聯(lián),并根據(jù)建立關(guān)聯(lián),實(shí)現(xiàn)表之間參照完整性7979/88employee雇員ID姓名性別出生年月雇傭日期專長(zhǎng)薪水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類別名說明8080/888181/883、對(duì)表中某

溫馨提示

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