案例分析公司管理數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃.ppt_第1頁(yè)
案例分析公司管理數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃.ppt_第2頁(yè)
案例分析公司管理數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃.ppt_第3頁(yè)
案例分析公司管理數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃.ppt_第4頁(yè)
案例分析公司管理數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃.ppt_第5頁(yè)
已閱讀5頁(yè),還剩83頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1 項(xiàng)目一公司管理數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃 2 工作任務(wù) 根據(jù)某公司的工作流程 設(shè)計(jì)一個(gè)滿足該公司管理的數(shù)據(jù)庫(kù)系統(tǒng) 具體要求如下 公司數(shù)據(jù)庫(kù)管理系統(tǒng)主要完成客戶和產(chǎn)品之間進(jìn)行產(chǎn)品訂購(gòu)的功能 此系統(tǒng)可以實(shí)現(xiàn)讓公司增加 刪除和修改所提供的產(chǎn)品 還可以讓客戶增加 刪除和修改所需要的產(chǎn)品 公司交易員 雇員 可以利用客戶提出的訂貨信息和產(chǎn)品信息提出交易建議 另外 該系統(tǒng)能夠分類統(tǒng)計(jì)已訂購(gòu)的產(chǎn)品信息 3 數(shù)據(jù) 描述事物的符號(hào)稱為數(shù)據(jù) 描述事物的符號(hào)可以是數(shù)字 也可以是文字 圖形 圖像 聲音 語(yǔ)言等 數(shù)據(jù)有多種表現(xiàn)形式 他們都可以經(jīng)過(guò)數(shù)字化后存入計(jì)算機(jī) 4 數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)是指長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的 有組織的 可共享的數(shù)據(jù)集合 數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織 描述和存儲(chǔ) 具有較小的冗余度 較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性 并可為各種用戶共享 5 數(shù)據(jù)庫(kù)管理系統(tǒng) 數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件 它的主要功能包括以下幾個(gè)方面 數(shù)據(jù)定義功能數(shù)據(jù)操縱功能數(shù)據(jù)庫(kù)的運(yùn)行管理數(shù)據(jù)庫(kù)的建立和維護(hù)功能 6 Oracle數(shù)據(jù)庫(kù)管理系統(tǒng)工作界面 7 SQLServer數(shù)據(jù)庫(kù)管理系統(tǒng)工作界面 8 Access數(shù)據(jù)庫(kù)管理系統(tǒng)工作界面 9 VisualFoxPro數(shù)據(jù)庫(kù)管理系統(tǒng)工作界面 10 數(shù)據(jù)庫(kù)技術(shù)的四條線索 三個(gè)系統(tǒng) 歷史發(fā)展 層次網(wǎng)狀系統(tǒng) 當(dāng)前主流 關(guān)系系統(tǒng) 未來(lái)發(fā)展 面向?qū)ο笙到y(tǒng) 數(shù)據(jù)庫(kù)發(fā)展史上的兩條主線 數(shù)據(jù)模型的演變 層次 網(wǎng)狀 關(guān)系 面向?qū)ο髷?shù)據(jù)語(yǔ)言的演變 基本SQL 嵌入SQL 動(dòng)態(tài)SQL 遞歸SQL ORDB的SQL兩個(gè)端點(diǎn) 用戶 使用 系統(tǒng) 實(shí)現(xiàn) 數(shù)據(jù)庫(kù)設(shè)計(jì)演變的過(guò)程ER圖 對(duì)象聯(lián)系圖 UML類圖 11 DBMS主流產(chǎn)品現(xiàn)狀 代表性產(chǎn)品 Oracle公司的Oracle IBM公司的DB2以及微軟的SQLServer等關(guān)系數(shù)據(jù)庫(kù)技術(shù)仍然是主流2000年RDBMS的市場(chǎng)份額占整個(gè)數(shù)據(jù)庫(kù)市場(chǎng)的80 這個(gè)比例比1999年增長(zhǎng)了15 產(chǎn)品形成系列化如DB2通用數(shù)據(jù)庫(kù)產(chǎn)品包括了從高端的企業(yè)級(jí)并行數(shù)據(jù)庫(kù)服務(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ù)庫(kù)家族 12 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ù)庫(kù)的代表 微軟公司更是將SQLServer作為其整個(gè) NET計(jì)劃中的一個(gè)重要的成分 海量數(shù)據(jù)處理互聯(lián)網(wǎng)提供大量以XML格式數(shù)據(jù)為特征的半結(jié)構(gòu)化數(shù)據(jù) 支持這種類型的數(shù)據(jù)的存儲(chǔ) 共享 管理 檢索等也是各數(shù)據(jù)庫(kù)廠商的發(fā)展方向 13 DBMS主流產(chǎn)品現(xiàn)狀 向智能化集成化方向擴(kuò)展數(shù)據(jù)豐富知識(shí)貧乏的現(xiàn)實(shí)直接導(dǎo)致了聯(lián)機(jī)分析處理 OLAP 數(shù)據(jù)倉(cāng)庫(kù) DataWarehousing 和數(shù)據(jù)挖掘 DataMining 等技術(shù)的出現(xiàn)企業(yè)應(yīng)用越來(lái)越復(fù)雜 會(huì)涉及到應(yīng)用服務(wù)器 Web服務(wù)器 其它數(shù)據(jù)庫(kù) 舊系統(tǒng)中的應(yīng)用以及第三方軟件等 數(shù)據(jù)庫(kù)產(chǎn)品與這些軟件是否具有良好集成性往往關(guān)系到整個(gè)系統(tǒng)的性能 Oracle公司的Oracle9i產(chǎn)品包括了OLAP 數(shù)據(jù)挖掘 ETL工具等一套完整的BI 商業(yè)智能 支持平臺(tái) IBM公司也把BI套件作為其數(shù)據(jù)庫(kù)的一個(gè)重點(diǎn)來(lái)發(fā)展 微軟認(rèn)為商務(wù)智能將是其下一代主要的利潤(rùn)點(diǎn) 14 DBMS模塊 15 數(shù)據(jù)模型 數(shù)據(jù)庫(kù)系統(tǒng)模型是指數(shù)據(jù)庫(kù)中數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu) 較為常見(jiàn)的有層次模型 網(wǎng)絡(luò)模型 關(guān)系模型3種 選擇使用這3種模型的數(shù)據(jù)庫(kù)被分別稱為層次型數(shù)據(jù)庫(kù) 網(wǎng)絡(luò)型數(shù)據(jù)庫(kù)和關(guān)系型數(shù)據(jù)庫(kù) 16 1 層次型數(shù)據(jù)庫(kù) 層次型數(shù)據(jù)庫(kù)使用結(jié)構(gòu)模型作為自己的存儲(chǔ)結(jié)構(gòu) 這是一種樹(shù)型結(jié)構(gòu) 它由結(jié)點(diǎn)和連線組成 其中節(jié)點(diǎn)表示實(shí)體 連線表示實(shí)體之間的關(guān)系 層次模型的特點(diǎn) 1 有且僅有一個(gè)結(jié)點(diǎn)無(wú)雙親 該結(jié)點(diǎn)稱為根結(jié)點(diǎn) 2 其他結(jié)點(diǎn)有且只有一個(gè)雙親 3 上一層和下一層記錄類型間聯(lián)系是1 N 學(xué)校的層次模型 18 2 網(wǎng)絡(luò)型數(shù)據(jù)庫(kù) 網(wǎng)絡(luò)型數(shù)據(jù)庫(kù)使用網(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)沒(méi)有雙親 2 結(jié)點(diǎn)可以有多于一個(gè)的雙親 19 3 關(guān)系型數(shù)據(jù)庫(kù) 關(guān)系型數(shù)據(jù)庫(kù)使用的存儲(chǔ)結(jié)構(gòu)是多個(gè)二維表格 表中的一行稱為一條記錄或元組 用來(lái)描述一個(gè)對(duì)象的信息 表中的一列稱為一個(gè)字段或?qū)傩?用來(lái)描述對(duì)象的一個(gè)屬性 數(shù)據(jù)表與數(shù)據(jù)表之間存在相應(yīng)的關(guān)聯(lián) 這些關(guān)聯(lián)將被用來(lái)查詢相關(guān)的數(shù)據(jù) 20 數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟 按照規(guī)范化設(shè)計(jì)方法將數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)階段需求分析概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)物理設(shè)計(jì)數(shù)據(jù)庫(kù)實(shí)施數(shù)據(jù)庫(kù)運(yùn)行和維護(hù) 21 22 數(shù)據(jù)庫(kù)設(shè)計(jì)思想原則 用戶參與發(fā)展眼光 系統(tǒng)不僅要滿足用戶目前的需求 也應(yīng)滿足近期要求 還要對(duì)于遠(yuǎn)期需求有相應(yīng)的處理方案 23 需求分析的任務(wù) 詳細(xì)調(diào)查用戶要處理的對(duì)象充分了解原系統(tǒng)的工作概況明確用戶的各種要求然后在此基礎(chǔ)上確定新系統(tǒng)的功能信息要求處理要求完整性要求 24 需求分析方法 為了明確用戶的實(shí)際要求 需要 跟班作業(yè) 開(kāi)調(diào)查會(huì) 請(qǐng)專人介紹 詢問(wèn) 設(shè)計(jì)調(diào)查表要用戶填寫(xiě) 查閱記錄等 25 收集基礎(chǔ)數(shù)據(jù)和一組數(shù)據(jù)流圖建設(shè)好數(shù)據(jù)字典 數(shù)據(jù)項(xiàng)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)處理過(guò)程將收集到的數(shù)據(jù)分析后 提交給用戶 征得用戶認(rèn)可 26 一 公司管理數(shù)據(jù)庫(kù)系統(tǒng)的需求分析 在這個(gè)階段中 將對(duì)需要存儲(chǔ)的數(shù)據(jù)進(jìn)行收集和整理 并組織建立完整的數(shù)據(jù)集 可以使用多種方法進(jìn)行數(shù)據(jù)的收集 例如相關(guān)人員調(diào)查 歷史數(shù)據(jù)查閱 觀摩實(shí)際的運(yùn)作流程以及轉(zhuǎn)換各種實(shí)用表單等 27 數(shù)據(jù)流圖 28 數(shù)據(jù)字典 數(shù)據(jù)流 29 學(xué)生成績(jī)管理系統(tǒng) 30 二 公司管理數(shù)據(jù)庫(kù)系統(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ù)庫(kù)系統(tǒng)的E R圖 31 概念模型 概念模型最常用方法是實(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種基本圖素 32 1 概念模型的主要概念 實(shí)體 客觀存在并相互區(qū)別的事物及其事物之間的聯(lián)系 例如 一個(gè)學(xué)生 一門(mén)課程 學(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)系 33 一對(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)系 34 一對(duì)多聯(lián)系 one to many 定義設(shè)有兩個(gè)實(shí)體集 和 如果 中每個(gè)實(shí)體與 中任意個(gè)實(shí)體 包括零個(gè) 有聯(lián)系 而 中的每個(gè)實(shí)體至多與 中的一個(gè)實(shí)體有聯(lián)系 則稱該聯(lián)系為 從 到 的1對(duì)多聯(lián)系 記為 1 聯(lián)系 35 多對(duì)多聯(lián)系 many to many 定義如果兩個(gè)實(shí)體集 中的每個(gè)實(shí)體都與另一個(gè)實(shí)體集中的任意個(gè)實(shí)體 包括零個(gè)實(shí)體 有聯(lián)系 則稱這兩個(gè)實(shí)體集是多對(duì)多聯(lián)系 記為 聯(lián)系 36 2 概念模型的表示方法 實(shí)體型 用矩形表示 矩形框內(nèi)寫(xiě)明實(shí)體名 屬性 用橢圓形表示 并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái) 聯(lián)系 用菱形表示 菱形框內(nèi)寫(xiě)明聯(lián)系名 并用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái) 同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類型 1 1 1 n或m n 37 E R模型 E R模型是現(xiàn)實(shí)世界的純粹表示 有三個(gè)基本成份 實(shí)體 聯(lián)系和屬性 它是一個(gè)概念性模型 描述的是現(xiàn)實(shí)中的信息聯(lián)系 而不涉及數(shù)據(jù)如何在數(shù)據(jù)庫(kù)系統(tǒng)中的存放 38 公司管理數(shù)據(jù)庫(kù)系統(tǒng)的E R模型 39 三 公司管理數(shù)據(jù)庫(kù)系統(tǒng)的邏輯設(shè)計(jì) 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的任務(wù)是把數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段產(chǎn)生的數(shù)據(jù)庫(kù)概念模式 E R圖 轉(zhuǎn)換為數(shù)據(jù)庫(kù)邏輯模式 進(jìn)行數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 首先將概念設(shè)計(jì)中所得的E R圖轉(zhuǎn)換成等價(jià)的關(guān)系模式 然后 再進(jìn)行邏輯模式的規(guī)范化和性能優(yōu)化 使形成的數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)表 滿足用戶的完整性和安全性要求 40 1 E R圖轉(zhuǎn)換為系統(tǒng)的數(shù)據(jù)表 利用E R圖到關(guān)系模式轉(zhuǎn)換的有關(guān)知識(shí) 將圖1 2所示的公司管理數(shù)據(jù)庫(kù)系統(tǒng)的E R圖轉(zhuǎn)換為系統(tǒng)的數(shù)據(jù)表 41 2 將邏輯模式規(guī)范化和性能優(yōu)化 由E R圖轉(zhuǎn)換的數(shù)據(jù)庫(kù)邏輯模型還只是邏輯模式的雛形 要成為邏輯模式 還需要進(jìn)行以下幾個(gè)方面的處理 對(duì)數(shù)據(jù)庫(kù)的性能 存儲(chǔ)空間等優(yōu)化 數(shù)據(jù)庫(kù)邏輯模型的規(guī)范化 42 A 對(duì)數(shù)據(jù)庫(kù)的性能 存儲(chǔ)空間等優(yōu)化 依據(jù) 提高數(shù)據(jù)庫(kù)性能的措施有 減少聯(lián)接運(yùn)算和減少關(guān)系的大小和數(shù)據(jù)量等 節(jié)省存儲(chǔ)空間的措施有 減少每個(gè)屬性所占的空間 采用假屬性減少重復(fù)數(shù)據(jù)所占存儲(chǔ)空間 43 產(chǎn)品信息表 product 44 產(chǎn)品信息表 product 45 類別信息表 category 46 拆分產(chǎn)品信息表 product 后的邏輯模式 47 B 數(shù)據(jù)庫(kù)邏輯模型的規(guī)范化 數(shù)據(jù)庫(kù)的范式理論關(guān)系數(shù)據(jù)庫(kù)范式理論是在數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中將要依據(jù)的準(zhǔn)則 數(shù)據(jù)庫(kù)結(jié)構(gòu)必須要滿足這些準(zhǔn)則 才能確保數(shù)據(jù)的準(zhǔn)確性和可靠性 這些準(zhǔn)則被稱為規(guī)范化形式 即范式 在數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中 對(duì)數(shù)據(jù)庫(kù)進(jìn)行檢查和修改并使它符合范式的過(guò)程叫做規(guī)范化 48 數(shù)據(jù)庫(kù)的范式理論 范式按照規(guī)范化的級(jí)別分為5種 第一范式 1NF 第二范式 2NF 第三范式 3NF 第四范式 4NF 和第五范式 5NF 在實(shí)際的數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中 通常需要用到的是前三類范式 第一范式數(shù)據(jù)的原子性第二范式主鍵的絕對(duì)相關(guān)性第三范式依賴的傳遞性 49 1 第一范式 1NF 第一范式要求每一個(gè)數(shù)據(jù)項(xiàng)都不能拆分成兩個(gè)或兩個(gè)以上的數(shù)據(jù)項(xiàng) 例 在下面的表所示的teacher表中 學(xué)歷學(xué)位 是由學(xué)歷和學(xué)位組成的 因此 這個(gè)teacher表不滿足第一范式 可以將 學(xué)歷學(xué)位 字段拆分為兩個(gè)字段 如表所示 從而使該數(shù)據(jù)表滿足第一范式 50 teacher表 51 非規(guī)范化的關(guān)系score0 52 滿足1NF的關(guān)系score1 53 2 第二范式 2NF 主鍵的絕對(duì)相關(guān)性 如果一個(gè)數(shù)據(jù)表已經(jīng)滿足第一范式 而且該數(shù)據(jù)表中的任何一個(gè)非主鍵字段的數(shù)值都依賴于該數(shù)據(jù)表的主鍵字段 那么該數(shù)據(jù)表滿足第二范式 即2NF 54 不滿足第二范式的P order表 例 在P order表中 數(shù)據(jù)表的主鍵是訂單ID 其中 產(chǎn)品名 字段完全依賴于 產(chǎn)品ID 字段 而不是取決于訂單ID 因此 P order表不滿足第二范式 但該數(shù)據(jù)表中的其他字段都完全依賴于該表的主鍵字段 訂單ID 因此 可以將該數(shù)據(jù)表中的 產(chǎn)品名 字段去掉 以滿足第二范式 不滿足第二范式的P order 55 滿足第二范式的P order表 56 3 第三范式 3NF 依賴的傳遞性 如果一個(gè)數(shù)據(jù)表已經(jīng)滿足第二范式 而且該數(shù)據(jù)表中的任何兩個(gè)非主鍵字段的數(shù)值之間不存在函數(shù)依賴關(guān)系 那么該數(shù)據(jù)表滿足第三范式 即3NF 57 例 如果在employee表中 獎(jiǎng)金 字段的數(shù)值是 薪水 字段數(shù)值的20 因此 這兩個(gè)字段之間存在著函數(shù)依賴關(guān)系 所以employee表不滿足第三范式 可以將 獎(jiǎng)金 字段從該表中去掉 以滿足第三范式 58 規(guī)范化后的公司管理數(shù)據(jù)庫(kù)邏輯模式 59 C 確定數(shù)據(jù)表和表中的字段 Customer表 用來(lái)存儲(chǔ)有關(guān)客戶的信息 60 P order表 用來(lái)存儲(chǔ)有關(guān)訂單的信息 61 Employee表 用來(lái)存儲(chǔ)有關(guān)雇員的信息 62 Product表 用來(lái)存儲(chǔ)有關(guān)產(chǎn)品的信息 63 Category表 用來(lái)存儲(chǔ)有關(guān)產(chǎn)品類別的信息 64 D 建立約束 以保證數(shù)據(jù)的完整性和一致性 65 數(shù)據(jù)完整性 數(shù)據(jù)的完整性是指存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)的正確性和可靠性 它是衡量數(shù)據(jù)庫(kù)中數(shù)據(jù)質(zhì)量好壞的一種標(biāo)準(zhǔn) 數(shù)據(jù)完整性要確保數(shù)據(jù)庫(kù)中數(shù)據(jù)一致 準(zhǔn)確 同時(shí)符合企業(yè)規(guī)則 因此 滿足數(shù)據(jù)完整性要求的數(shù)據(jù)應(yīng)具有以下特點(diǎn) 數(shù)據(jù)類型準(zhǔn)確無(wú)誤數(shù)據(jù)的值滿足范圍設(shè)置同一表格數(shù)據(jù)之間不存在沖突多個(gè)表格數(shù)據(jù)之間不存在沖突 66 實(shí)體完整性 EntityIntegrity 功能 實(shí)體完整性的目的是確保數(shù)據(jù)庫(kù)中所有實(shí)體的惟一性 也就是不應(yīng)使用完全相同的數(shù)據(jù)記錄 方法 設(shè)定主鍵 PrimaryKey 惟一鍵 UniqueKey 惟一索引 UniqueIndex 和標(biāo)識(shí)列 IdentityColumn 等 其中最常用的是使用主鍵 67 區(qū)域完整性 DomainIntegrity 功能 要求數(shù)據(jù)表中的數(shù)據(jù)位于某一個(gè)特定的允許范圍內(nèi) 方法 使用默認(rèn)值 Default 核查 Check 外鍵 ForeignKey 數(shù)據(jù)類型 DataType 和規(guī)則 Rule 等多種方法來(lái)實(shí)現(xiàn)區(qū)域完整性 例 如果限制 性別 字段的數(shù)據(jù)值可以是 男 或 女 那么 輸入的其他數(shù)值將被SQLServer2000拒絕 68 參照完整性 ReferentialIntegrity 作用 用來(lái)維護(hù)相關(guān)數(shù)據(jù)表之間數(shù)據(jù)一致性的手段 通過(guò)實(shí)現(xiàn)參照完整性 可以避免因一個(gè)數(shù)據(jù)表的記錄改變而造成另一個(gè)數(shù)據(jù)表內(nèi)的數(shù)據(jù)變成無(wú)效的值 方法 外鍵 ForeignKey 核查 Check 觸發(fā)器 Trigger 和存儲(chǔ)過(guò)程 StoredProcedure 例 在employee表和P order表中 如果要?jiǎng)h除employee表中的一條記錄 而同時(shí)在P order表中存在需要參考該記錄的記錄集 那么該刪除操作將會(huì)失敗 這樣就避免了P order表中的數(shù)據(jù)失去關(guān)聯(lián) 69 用戶定義完整性 功能 這種數(shù)據(jù)完整性由用戶根據(jù)實(shí)際應(yīng)用中的需要自行定義 方法 規(guī)則 Rule 觸發(fā)器 Trigger 存儲(chǔ)過(guò)程 StoredProcedure 和數(shù)據(jù)表創(chuàng)建時(shí)可以使用的所有約束 Constraint 例 在employee表和P order表中 如果某雇員負(fù)責(zé)的訂單數(shù)超過(guò)5個(gè) 那么該雇員的 薪水 應(yīng)大于5000 70 主鍵和外鍵 數(shù)據(jù)表之間的關(guān)聯(lián)實(shí)際上是通過(guò)鍵 Key 來(lái)實(shí)現(xiàn)的 所謂的 鍵 是指數(shù)據(jù)表中的一個(gè)字段 鍵分主鍵 PrimaryKey 和外鍵 ForeignKey 兩種 它們都在數(shù)據(jù)表聯(lián)接的過(guò)程中起著重大的作用 71 主鍵 主鍵是數(shù)據(jù)表中具有惟一性的字段 設(shè)置為主鍵的字段的值不能重復(fù) 作用 執(zhí)行查詢 以提高查詢的速度 數(shù)據(jù)庫(kù)管理系統(tǒng)并不會(huì)強(qiáng)制要求在每一個(gè)數(shù)據(jù)表中必須設(shè)置主鍵 但這里推薦大家這樣做 因?yàn)橹麈I在數(shù)據(jù)表聯(lián)接和提高查詢性能方面會(huì)起到很大的作用 72 外鍵 一個(gè)數(shù)據(jù)表將使用該數(shù)據(jù)表中的外鍵連接到其它的數(shù)據(jù)表 而這個(gè)外鍵字段在其它的數(shù)據(jù)表中將作為主鍵字段出現(xiàn) 73 約束 使用約束是實(shí)現(xiàn)數(shù)據(jù)完整性最主要的方法 使用約束的主要目的是限制輸入到表中的數(shù)值的范圍 從應(yīng)用范圍來(lái)講 約束可分為兩種 字段級(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è)字段 74 1 主鍵 PRIMARYKEY 約束 主鍵約束使用數(shù)據(jù)表中的一列數(shù)據(jù)或多列數(shù)據(jù)來(lái)惟一地標(biāo)識(shí)一行數(shù)據(jù) 也就是說(shuō) 在數(shù)據(jù)表中不能存在主鍵相同的兩行數(shù)據(jù) 而且 位于主鍵約束下的數(shù)據(jù)應(yīng)使用確定的數(shù)據(jù) 不能輸入NULL來(lái)代替確定的數(shù)值 在管理數(shù)據(jù)表時(shí) 應(yīng)確保每一個(gè)數(shù)據(jù)表都擁有自己惟一的主鍵 從而實(shí)現(xiàn)數(shù)據(jù)的實(shí)體完整性 75 2 外鍵 FOREIGNKEY 約束 外鍵約束主要用來(lái)實(shí)現(xiàn)數(shù)據(jù)的區(qū)域完整性和引用完整性 如果確定了數(shù)據(jù)表中某一個(gè)字段將作為該數(shù)據(jù)表與其他數(shù)據(jù)表關(guān)聯(lián)時(shí)使用的外鍵 那么 該字段的取值范圍將決定于關(guān)聯(lián)數(shù)據(jù)表中該字段的取值 76 3 惟一 UNIQUE 約束 惟一約束主要用來(lái)確保非主鍵字段中數(shù)據(jù)的惟一性 惟一約束同主鍵約束主要區(qū)別在于 在同一個(gè)數(shù)據(jù)表中 惟一約束可以用來(lái)同時(shí)約束一個(gè)或多個(gè)非主鍵字段中數(shù)據(jù)的惟一性 而主鍵約束只允許約束一個(gè)字段數(shù)據(jù)的惟一性或多個(gè)字段組合在一起的惟一性 在使用惟一約束的字段中允許出現(xiàn)NULL值 而在使用主鍵約束時(shí) 字段中不允許出現(xiàn)NULL值 77 4 核查 CHECK 約束 核查約束通過(guò)檢查輸入數(shù)據(jù)表字段的數(shù)值來(lái)維護(hù)數(shù)據(jù)的完整性 以確保只有符合條件的數(shù)據(jù)才能夠進(jìn)入數(shù)據(jù)表 它通常是通過(guò)檢查一個(gè)邏輯表達(dá)式的結(jié)果是否為真來(lái)判斷數(shù)據(jù)是否符合條件的 78 1 建立主鍵約束 以惟一標(biāo)識(shí)數(shù)據(jù)表的各條記錄 用主鍵來(lái)標(biāo)識(shí)記錄 在本公司管理數(shù)據(jù)庫(kù)中 雇員ID是employee表的主鍵 客戶ID是customer表的主鍵 產(chǎn)品ID是product表的主鍵 類別ID是category表的主鍵 訂單ID是P order表的主鍵 79 2 建立數(shù)據(jù)表之間的關(guān)聯(lián) 并根據(jù)建立的關(guān)聯(lián) 實(shí)現(xiàn)表之間的參照完整性 80 81 82 3 對(duì)表中一些字段建立檢查約束 如性別字段值應(yīng)為 男 或 女 添加約束 check 性別in 男 女 定貨日期應(yīng)在系統(tǒng)日期之前 添加約束 check 訂貨日期 date 83 四 公司管理數(shù)據(jù)庫(kù)系統(tǒng)的物理設(shè)計(jì) 1 選擇存儲(chǔ)結(jié)構(gòu) 設(shè)計(jì)物理存儲(chǔ)結(jié)構(gòu)的目的是確定如何在磁盤(pán)上存儲(chǔ)關(guān)系 索引等數(shù)據(jù)庫(kù)文件 使得空間利用率最大而數(shù)據(jù)操作的開(kāi)銷(xiāo)最小 由于物理存儲(chǔ)結(jié)構(gòu)的設(shè)計(jì)包含的方面非常廣泛 而且不同的數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)磁盤(pán)空間管理的策略差別很大 所以 在此

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論