數(shù)據(jù)庫設計PPT優(yōu)秀課件_第1頁
數(shù)據(jù)庫設計PPT優(yōu)秀課件_第2頁
數(shù)據(jù)庫設計PPT優(yōu)秀課件_第3頁
數(shù)據(jù)庫設計PPT優(yōu)秀課件_第4頁
數(shù)據(jù)庫設計PPT優(yōu)秀課件_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1本章要點本章要點 數(shù)據(jù)庫簡介數(shù)據(jù)庫簡介概念模型概念模型數(shù)據(jù)模型數(shù)據(jù)模型數(shù)據(jù)庫規(guī)范化數(shù)據(jù)庫規(guī)范化9.1 數(shù)據(jù)庫簡介數(shù)據(jù)庫簡介n 數(shù)據(jù)庫是信息系統(tǒng)設計的基礎和核心,數(shù)據(jù)庫設計直接關系到信息系統(tǒng)開發(fā)的成敗和優(yōu)劣。在信息系統(tǒng)中,數(shù)據(jù)庫設計是指根據(jù)業(yè)務需求、信息需求和處理需求,確定信息系統(tǒng)中的數(shù)據(jù)結構、數(shù)據(jù)操作和數(shù)據(jù)一致性約束的過程。數(shù)據(jù)庫設計分為概念設計(概念結構設計)和模型設計(邏輯結構設計),他們之間的關系如圖9.1所示。信息世界 概念模型 計算機世界 DBMS支持的某種數(shù)據(jù)模型轉換 現(xiàn)實世界認識抽象圖9.1 概念設計和模型設計的關系9.1.1 數(shù)據(jù)庫的基本概念數(shù)據(jù)庫的基本概念n n 1、數(shù)據(jù)庫

2、與數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫(DB)是長期儲存在計算機內的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫僅僅是一個概念,是對這種數(shù)據(jù)集合的統(tǒng)稱。數(shù)據(jù)庫由數(shù)據(jù)庫管理系統(tǒng)(DBMS)統(tǒng)一管理,以保證數(shù)據(jù)的安全性、可靠性和提供多用戶共享。因此,數(shù)據(jù)庫管理系統(tǒng)是對這一類軟件的統(tǒng)稱,如Access、SQL Server是微軟公司開發(fā)的一個數(shù)據(jù)庫管理系統(tǒng),類似的Foxpro、Mysql、Oracle等都分別是一種數(shù)據(jù)庫管理系統(tǒng)。9.1.1 數(shù)據(jù)庫的基本概念數(shù)據(jù)庫的基本概念n n 2、數(shù)據(jù)模型、數(shù)據(jù)模型 從數(shù)據(jù)庫對數(shù)據(jù)管理的模式分類,數(shù)據(jù)庫有層次型、網(wǎng)狀型和關系型。較常見的是關系模型。n 3、數(shù)據(jù)處

3、理與數(shù)據(jù)管理、數(shù)據(jù)處理與數(shù)據(jù)管理 數(shù)據(jù)處理是指對各種數(shù)據(jù)進行收集、存儲、加工和傳播的一系列活動的總稱。數(shù)據(jù)管理指的是對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和維護等,它是數(shù)據(jù)處理的中心問題。9.1.2 數(shù)據(jù)庫設計的主要任務數(shù)據(jù)庫設計的主要任務n n 管理信息系統(tǒng)中對于大量數(shù)據(jù)的存儲與共享,一般都會用到數(shù)據(jù)庫的支持,即錄入的大量數(shù)據(jù)或信息需要以某種方式存儲到數(shù)據(jù)庫中,并在數(shù)據(jù)庫管理系統(tǒng)的支持下,對數(shù)據(jù)進行各種加工處理,以實現(xiàn)查詢、統(tǒng)計等功能。因此,管理信息系統(tǒng)開發(fā)過程中,對于數(shù)據(jù)庫的設計是一種重要的任務。n 如何將實體、信息轉化為相應的數(shù)據(jù),并以與數(shù)據(jù)庫相適合的模式存到數(shù)據(jù)庫中,以實現(xiàn)數(shù)據(jù)共享,這

4、是數(shù)據(jù)庫設計的中心任務。因此,數(shù)據(jù)庫設計的主要任務包括實體的代碼設計、實體概念模型到數(shù)據(jù)模型的轉換以及對數(shù)據(jù)存儲結構的規(guī)范化處理。9.2 概念模型概念模型n 即數(shù)據(jù)庫概念設計,它是針對現(xiàn)實世界,通過對其中信息實體的收集、分類、聚集和概括,建立數(shù)據(jù)庫概念結構的過程。概念結構也叫概念數(shù)據(jù)模型,它應該反映現(xiàn)實世界中的組織的業(yè)務模式、信息結構和信息間的相互制約關系,以及對信息的加工、存儲和查詢要求等。概念數(shù)據(jù)模型是對數(shù)據(jù)的抽象描述,它應該獨立于具體的數(shù)據(jù)處理細節(jié)和數(shù)據(jù)庫管理系統(tǒng)。9.2.1 實體、信息和數(shù)據(jù)n 實體、信息和數(shù)據(jù)分別描述了人們在認識客觀事物、記錄客觀事物的過程中三個不同范疇的概念。現(xiàn)實世

5、界中形形色色的事物都以其固有的特征和行為客觀地存在和運動著,這些內容反映到人的頭腦中就形成了信息,要把這些信息記錄下來,以便被加工和利用,就必須利用數(shù)據(jù)這一載體形式。在管理信息系統(tǒng)的開發(fā)過程中,被管理的對象就是客觀事物,對客觀事物的認識和記錄就分別表現(xiàn)為信息和數(shù)據(jù)的形式。分清這三個相互映射的范疇的對應概念非常重要。9.2.1 實體、信息和數(shù)據(jù)n 表9-1以表格的形式分別對照地說明了這三個范疇的相關概念,圖9.2以圖示的方式形象地表示了這三個范疇中相關概念的映射與演變過程。表9-1 現(xiàn)實世界、信息范疇和數(shù)據(jù)范疇概念的關系9.2.1 實體、信息和數(shù)據(jù)圖9.2 實體、概念模型、數(shù)據(jù)模型的關系在系統(tǒng)開

6、發(fā)過程中,首先要選擇確定信息系統(tǒng)被管理的對象,如物資、產品、原材料、定額、工序等,這些是客觀事物。對客觀事物進行分析,抽取能夠表述其特征與行為的屬性,需要用到信息范疇的相關概念,我們常用實體關系模型來表示對這些客觀事物的認識和描述。最后,要把這些信息存儲在計算機管理信息系統(tǒng)中,則必須將其轉變?yōu)閿?shù)據(jù)庫中的相關概念,如關系、記錄、字段等概念。9.2.2 實體-關系模型n 概念模型,即“實體-關系”模型。它具有三種基本成分:實體、關系和屬性。在系統(tǒng)分析與設計過程中,常用“E-R圖”來表示,如圖9.3所示。圖9.3 表示實體-關系模型的“E-R圖”9.2.2 實體-關系模型n n (1)客觀存在并可相

7、互區(qū)分的事物叫實體。如圖9.3中的“學生”、“課程”,在管理信息系統(tǒng)中,這些實體對應的事物就是被管理的對象。實體不僅是客觀世界中存在的有形的物本,也可以是我們思維過程中的一個概念,如“定額”、“職稱級別”、“工資等級”、“學生類別”、“學科性質”等。n (2)屬性是實體所具有的一些特性,一般使用一組屬性來描述一個實體的特征,即一個實體可以由若干個屬性來刻畫。如圖9.3所示,學生可由學號、姓名、系別等組成。課程可以用課程編號、課程名、主講老師等屬性來描述。n (3)域是屬性的取值范圍。例如,性別的域為“男”、“女”,月份的域為112的整數(shù)。9.2.2 實體-關系模型n n (4)關系是實體之間的

8、相互關聯(lián)。如學生與老師間的授課關系、學生與學生間的班長關系。關系有一對一、一對多、多對多三種不同類型。關系也可以有屬性,如學生與課程之間有選課聯(lián)系,每個選課聯(lián)系都有一個成績作為其屬性。n (5)關系的元或度,參與關聯(lián)的實體集的個數(shù)稱為關系的元。圖9.3中,學生選修課程是二元聯(lián)系。n (6)能唯一標識實體的屬性稱為主碼。一個實體集中任意兩個實體在主碼上的取值不能相同。如學號是學生的實體主碼。注意:主碼對應數(shù)據(jù)庫中的關鍵字域,但在實體-關系圖中稱碼為“主碼”,而不是叫關鍵字,關鍵字是數(shù)據(jù)庫中的概念。9.2.2 實體-關系模型n n 1、聯(lián)系、聯(lián)系n (1)一對一聯(lián)系(1:1)。如果對于實體集A中每

9、一個實體,實體集B中至多只有一個實體與之聯(lián)系;反之對于實體集B中每一個實體,實體集A中也至多只有一個實體與之聯(lián)系。我們稱實體集A與實體集B之間具有一對一聯(lián)系。記為1:1,如下圖所示。班級正班長任職119.2.2 實體-關系模型n (2)一對多聯(lián)系(1:n)。如果對于實體集A中每一個實體,實體集B中有n個實體(n=0)與之聯(lián)系;反之對于實體集B中每一個實體,實體集A中至多只有一個實體與之聯(lián)系。我們稱實體集A與實體集B之間具有一對多聯(lián)系。記為1:n,如下圖所示。一對一聯(lián)系是一對多聯(lián)系的特例。學校教師任職1n9.2.2 實體-關系模型n n (3)多對多聯(lián)系(m:n)。如果對于實體集A中每一個實體,

10、實體集B中有n個實體(n=0)與之聯(lián)系;反之對于實體集B中每一個實體,實體集A中也有m個實體(m=0)與之聯(lián)系。我們稱實體集A與實體集B之間具有多對多聯(lián)系。記為m:n,如下圖所示。一對多聯(lián)系是多對多聯(lián)系的特例。教師課程講授mn9.2.2 實體-關系模型n 2.E-R圖的畫法圖的畫法n 我們在考察了客觀事物及其聯(lián)系之后,即著手建立E-R模型。在模型設計中,首先根據(jù)分析階段收集到的資料,利用分類、聚集、概括等方法抽象出實體,并一一命名,再根據(jù)實體的屬性描述其間的各種關系。E-R模型中,用矩形表示實體,實體間的關系用菱形表示,用無向邊把實體和關聯(lián)連接起來,在邊上標明聯(lián)系的類型。實體的屬性可以用橢圓表

11、示,并用無向邊把實體和屬性聯(lián)系起來。9.2.2 實體-關系模型n 用E-R圖來表示某個學校日常教學管理的概念模型。對日常教學管理進行認識分析,日常教學管理涉及的實體有: n 學生: 屬性有學號、姓名、性別和出生日期 n 教師: 屬性有教師編號、姓名、學歷和專長 n 課程: 屬性有課程號、課程名稱、學分n 院系: 屬性有院系編號、院系名稱、聯(lián)系電話9.2.2 實體-關系模型n 這些實體之間的聯(lián)系如下: n (1)一個院系可以容納若干個教師和學生,而一個教師或學生只能隸屬于一個院系,因此院系和教師之間以及院系與學生之間是一對多的聯(lián)系。 n (2)一個院系可以開設多門課程,而一門課程只能由一個院系提

12、供,因此院系和課程之間的聯(lián)系是一對多的。 n (3)一個教師可以教授多門課程,而一門課程可以由多位教師主講。由此可以看出,教師和課程之間是多對多的聯(lián)系。 n (4)學生可以選修多門課程,一門課程可以被若干個學生選修。學生與課程之間的聯(lián)系是多對多的。 9.2.2 實體-關系模型9.2.2 實體-關系模型n 3.設計設計E-R圖應遵循的原則圖應遵循的原則n E-R圖是對現(xiàn)實世界的一種抽象,它抽取了客觀事務中人們所關心的信息,忽略了非本質的細節(jié),對這些信息進行了精確地描述。設計E-R圖應以下原則遵循的原則:n (1)首先針對特定用戶的應用,確定實體、屬性和實體間的聯(lián)系,作出反映該用戶視圖的局部E-R

13、圖。 n (2)綜合各個用戶的局部E-R圖,產生反映數(shù)據(jù)庫整體概念的總體E-R圖。在綜合時,刪掉局部E-R圖中的同名實體,以便消除冗余,保持數(shù)據(jù)的一致性。 n (3)在綜合局部E-R圖時,還要注意消除那些冗余的聯(lián)系,冗余信息會影響數(shù)據(jù)的完整性,使維護工作復雜化,但有時也要折中考慮,有時必要的冗余會提高數(shù)據(jù)處理效率。 n (4)綜合時也可以在總體E-R圖中增加新的聯(lián)系。 9.3 數(shù)據(jù)模型數(shù)據(jù)模型n 數(shù)據(jù)模型是相對概念模型而言的,是對客觀事物及其聯(lián)系的數(shù)據(jù)化描述。在數(shù)據(jù)庫系統(tǒng)中,對現(xiàn)實世界中數(shù)據(jù)的抽象、描述以及處理等都是通過數(shù)據(jù)模型來實現(xiàn)的,關于概念模型和數(shù)據(jù)模型的關系,可以說數(shù)據(jù)模型在數(shù)據(jù)庫系統(tǒng)

14、設計中是用來提供信息表示和操作手段的形式架構,是數(shù)據(jù)庫系統(tǒng)實現(xiàn)的基礎。9.3.1 基本概念基本概念n 目前,主要的數(shù)據(jù)模型是關系模型。n 用關系(二維表格數(shù)據(jù))表示實體和實體之間聯(lián)系的模型稱為關系數(shù)據(jù)模型。從用戶觀點看,關系模型由一組關系組成。每個關系的數(shù)據(jù)結構是一張規(guī)范化的二維表?,F(xiàn)在以學生登記表為例,介紹關系模型中的一些術語。n (1)關系(Relation):一個關系對應通常說的一張表。如學生登記表;n (2)元組(Tuple):表中的一行即為一個元組;n (3)屬性(Attribute):表中一列即為一個屬性,給每個屬性起一個名稱即屬性名。如這張表中對應6列,對應6個屬性(學號、姓名、

15、年齡、性別、系名和年級);9.3.1 基本概念基本概念n (4)碼(Key):也稱為碼鍵。表中的某個屬性組,它可以唯一確定一個元組,如學生登記表中學號可以唯一確定一個學生,也就成為本關系的碼; n (5)域(Domain):屬性的取值范圍,如人的年齡一般在1-100歲之間,性別的域是(男,女),系別的域是一個學校所有系別的集合;n (6)分量:元組中的一個屬性值;9.3.2 概念模型到數(shù)據(jù)模型的轉換策略n 在E-R模型中有實體和關系兩類元素,這些信息在數(shù)據(jù)庫設計中將轉變?yōu)閿?shù)據(jù)庫關系模型中的二維表來表示。關系又有多種類型,如“1對1”關系、“1對多”關系和“多對多”關系,如何將“實體”和不同的種

16、類的“關系”轉化為相應的二維表形式,需要掌握一些具體的轉換策略。9.3.2 概念模型到數(shù)據(jù)模型的轉換策略n (1)用二維表表示一個實體的信息。如圖9.4所示,將實體的相關信息表示為二維表時,實體的具體某個屬性對應二維表中的一個列,每一列關系型數(shù)據(jù)庫中對應一個字段。在每個實體的信息二維表中對應一行,第一行在關系型數(shù)據(jù)庫中對應一條記錄。實體的主碼就是二維表的關鍵字。實體信息用概念模型表示就是圖9.4中的“E-R”圖,將其轉為關系模型中的表示方式,就是圖9.4中“學生(*學號,姓名,籍貫)”這種形式,就是關系模型,對應一張二維表。在設計數(shù)據(jù)結構時,常需要將這種關系模型表示方式表示為圖9.4右側的數(shù)據(jù)

17、結構表示形式。9.3.2 概念模型到數(shù)據(jù)模型的轉換策略圖9.4 用二維表表示實體信息9.3.2 概念模型到數(shù)據(jù)模型的轉換策略n (2)用二維表表示一個m:n關系。如圖9.5所示,與關系“選修”相連的各實體的代碼,如“學號”、“課程號”以及關系本身的屬性“成績”均成為此表的列。此表的關鍵字為相連的各實體的關鍵字的組合,即“學號+課程號”。圖9.5 用二維表表示m:n的關系9.3.2 概念模型到數(shù)據(jù)模型的轉換策略n (3)用二維表表示一個1:n關系。如圖9.6所示,使用兩個二維表表示這種1:n的關系,將一端實體的關鍵字并入n端實體,即在n端實體的表中增加1端實體的代碼,如“班級號”。圖9.6 用二

18、維表表示1:n的關系班9.3.2 概念模型到數(shù)據(jù)模型的轉換策略n (4)用二維表表示一個“1:1關系”。如圖9.7所示,使用兩個二維表來表示這種關系,將任一端實體的標識碼并入另一端實體,即在該端實體的表中增加另一端實體的代碼,如在“班主任”實體信息中,增加其所屬的“班級號”。圖9.7 用二維表表示1:1的關系9.3.2 概念模型到數(shù)據(jù)模型的轉換策略n (5)對三個以上實體間的多元關系的轉換及自關系。對三個以上實體間的多元關系根據(jù)相同的轉換規(guī)則,按關系的不同類型進行相應的轉換,如圖9.8所示。同一實體集的實體間的自關系的轉換策略,如圖9.9所示。圖9.8 用二維表表示三個以上實體的關聯(lián)信息圖9.

19、9 用二維表表示實體自關系號9.4 數(shù)據(jù)庫規(guī)范化數(shù)據(jù)庫規(guī)范化n n 在關系模式設計時,經(jīng)常存在的數(shù)據(jù)存儲異?,F(xiàn)象:數(shù)據(jù)冗余、修改異常、插入異常、刪除異常等。為了解決這些問題,需要對關系數(shù)據(jù)庫規(guī)范化。關系數(shù)據(jù)庫的規(guī)范化就是關系數(shù)據(jù)庫中的每一個關系(二維表)都必須滿足一定的條件。9.4.1 規(guī)范化的概念規(guī)范化的概念 規(guī)范化理論以關系模型為背景,以關系理論為基礎。一個規(guī)范化的數(shù)據(jù)結構可以表示成二維表,符合關系型數(shù)據(jù)庫的存儲關系要求。換句話說,一個數(shù)據(jù)關系只要符合二維表的特點,那么它就是規(guī)范化的。 表中任意一列上的數(shù)據(jù)項應屬于同一屬性。 表中所有行都不是相同的,不允許有重復組項出現(xiàn)(一行是一個不同的學

20、生記錄)。 表中行的順序無關緊要(如每行都是一個學生記錄,先放哪個學生記錄都沒有關系)。 表中列的順序無關緊要,但不能重復(如學號與學生姓名的先后順序沒有關系,但二者不能重名)。 9.4.2 非規(guī)范化形式非規(guī)范化形式 所謂非規(guī)范化形式,就是不能滿足二維表特點的數(shù)據(jù)關系形式,如表9-2所示。表9-2所列的數(shù)據(jù)關系不符合二維表的特點,所以該數(shù)據(jù)關系為非規(guī)范化的。比較明顯的地方是,儲備定額域存在層次表頭,表格內容中存在一行對多行的情形,這樣的數(shù)據(jù)關系不符合二維表的特點,無法存入關系型數(shù)據(jù)庫。9.4.2 非規(guī)范化形式非規(guī)范化形式名稱規(guī)格儲 備 定 額庫存量供應商地址儲備量儲備量儲備量礦燈冷光源3005

21、0150200西安西安南寧南寧北京北京滅火器干粉4007010080廣州廣州上海上海表9-2 物資庫存情況9.4.3 第一范式n 所謂第一范式(1NF)是指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重復的屬性。如果出現(xiàn)重復的屬性,就可能需要定義一個新的實體,新的實體由重復的屬性構成,新實體與原實體之間為一對多關系。在第一范式(1NF)中表的每一行只包含一個實例的信息。簡而言之,第一范式就是無重復的列。說明:在任何一個關系數(shù)據(jù)庫中,第一范式(1NF)是對關系模式的基本要求,不滿足第一范式(1NF)的數(shù)據(jù)庫就不是關系數(shù)據(jù)庫。 9.4.3

22、 第一范式n 如果將表9-2中的層次表頭的現(xiàn)象去掉,表中各行消去一行對多行的情形,該表就符合二維表的特點了,該數(shù)據(jù)結構就轉變?yōu)橐?guī)范化形式了。任何滿足規(guī)范化要求的數(shù)據(jù)結構都稱為第一規(guī)范形式,記為1NF。由此可見,將一個非規(guī)范化的數(shù)據(jù)結構轉化為規(guī)范化的結構方法就是設法將其變?yōu)槎S表,本例中,將表9-2拆分成表6.3和表6.4之后,就由一個非規(guī)范化的數(shù)據(jù)結構轉化為了兩個1NF的數(shù)據(jù)結構了。9.4.3 第一范式符合1NF的數(shù)據(jù)結構仍然存在嚴重的存儲缺陷,如下所述。(1)刪除異常。當目前供應商不再供應該物資,刪除廠家信息后,物資信息也會隨之被刪除,但本單位還需要使用該物資。(2)插入異常。數(shù)據(jù)庫需要添加

23、一種新的物資,但還沒有供應廠家時,無法添加。(3)修改麻煩。當某個供應商廠地址變化以后,需要多處修改其在數(shù)據(jù)庫中的信息,且很難保證修改徹底。(4)存在嚴重的數(shù)據(jù)冗余。供應商的信息隨每條物資記錄都要重復存儲多遍。9.4.4 第二范式n 第二范式(2NF)是在第一范式(1NF)的基礎上建立起來的,即滿足第二范式(2NF)必須先滿足第一范式(1NF)。第二范式(2NF)要求數(shù)據(jù)庫表中的每個實例或行必須可以被惟一地區(qū)分。為實現(xiàn)區(qū)分通常需要為表加上一個列,以存儲各個實例的惟一標識。 例如員工信息表中加上了員工編號(emp_id)列,因為每個員工的員工編號是惟一的,因此每個員工可以被惟一區(qū)分。這個惟一屬性

24、列被稱為主關鍵字或主鍵、主碼。 第二范式(2NF)要求實體的屬性完全依賴于主關鍵字。所謂完全依賴是指不能存在僅依賴主關鍵字一部分的屬性,如果存在,那么這個屬性和主關鍵字的這一部分應該分離出來形成一個新的實體,新實體與原實體之間是一對多的關系。為實現(xiàn)區(qū)分通常需要為表加上一個列,以存儲各個實例的惟一標識。簡而言之,第二范式就是屬性完全依賴于主鍵。 9.4.4 第二范式n n 1NF的數(shù)據(jù)結構存在缺陷的主要原因,是數(shù)據(jù)結構中存在非關鍵字字段部分函數(shù)依賴(部分函數(shù)依賴指的是存在組合關鍵字中的某些字段決定非關鍵字段的情況)整個關鍵字的情形,如圖9.10所示。n 該結構的關鍵字“物資名稱+供應商”是一個復

25、合關鍵字,這樣就要求所有非關鍵字段都要同時依賴于這兩個字段才是“依賴于整個關鍵字”。但事實上,我們看到“型號規(guī)格”、“最高儲備量”、“最低儲備量”、“經(jīng)常儲備量”和“當前庫存量”都只依賴于“物資名稱”,這就是所謂的“部分地依賴關鍵字”的情形。同樣的,“供應商地址”也只依賴于“供應商”。9.4.4 第二范式圖9.10 第一范式的數(shù)據(jù)結構的缺陷9.4.4 第二范式n 改進的辦法就是,通過分解結構,取消“部分依賴”關系,將其轉化為多個第二范式的結構。換言之,如果所有非關鍵字數(shù)據(jù)項完全函數(shù)地依賴于它的整個關鍵字,則稱該數(shù)據(jù)結構是第二范式的,記為2NF。具體方法是通過分解結構,去掉部分依賴關系,確保所有

26、非關鍵字元素依賴于整個關鍵字。可將圖9.10中第一范式的結構分解為三個符合第二范式要求的結構,如圖9.11所示,并分別指定關鍵字. * 供應商供應商供應商地址供應商地址* 物資名稱物資名稱* 供應商供應商訂貨量訂貨量訂貨價訂貨價訂貨金額訂貨金額* 物資名稱物資名稱型號規(guī)格型號規(guī)格最高儲備量最高儲備量最低儲備量最低儲備量經(jīng)常儲備量經(jīng)常儲備量當前庫存量當前庫存量圖9.11 符合第二范式的數(shù)據(jù)結構449.4.5 第三范式 是指表中的所有數(shù)據(jù)元素不但要能夠唯一地被主關健字所標識,而且它們之間還必須相互獨立,不存在其它函數(shù)關系。 分析圖9.11中的數(shù)據(jù)結構,不難發(fā)現(xiàn)“訂貨金額”是一個冗余數(shù)據(jù)項,因為訂貨

27、金額可以從訂貨價和訂貨量計算得出,所以沒必要存入數(shù)據(jù)庫中。因此,符合第二范式的數(shù)據(jù)結構仍然存在缺陷,那就是可能存在數(shù)據(jù)冗余。產生冗余的原因是這個數(shù)據(jù)結構中存在著“傳遞依賴”(所謂傳遞函數(shù)依賴,指的是如果存在A B C的決定關系,則C傳遞函數(shù)依賴于A )情形,即“訂貨金額”通過“訂貨價”和“訂貨量”傳遞地依賴主關鍵字“物資名稱+供應商”,“傳遞依賴”是第二范式產生缺陷的本質。優(yōu)化的辦法是刪除冗余數(shù)據(jù)項,去掉“傳遞依賴”情形,得到如圖9.12所示的數(shù)據(jù)結構。 * 物資名稱物資名稱 * 供應商供應商 訂貨量訂貨量 訂貨價訂貨價n 圖9.12 符合第三范式的數(shù)據(jù)結構9.4.5 第三范式v 數(shù)據(jù)結構規(guī)范

28、化的過程可以歸納為如圖9.13中所示的步驟。圖9-139.4.6 實例實例n 在物資供應系統(tǒng)中,存在如圖9.14所示的一個“材料供應商庫存”關系,在進行數(shù)據(jù)庫設計的過程中,首先要對該數(shù)據(jù)結構進行規(guī)范化。n 從圖9.14可以看出,該結構符合二維表的特點,因此,它自然是第一范式的結構。對第一范式的數(shù)據(jù)結構,第一步是要指定關鍵字域,經(jīng)過分析,關鍵字域包括兩個屬性,即“材料編號+供應商名稱”。但不難看出,該數(shù)據(jù)結構中存在著“部分依賴”關系,如非關鍵字屬性“規(guī)格”、“材料名稱”只依賴于“材料編號”,而非關鍵字屬性“供應商地址”只依賴于“供應商名稱”,因此,該結構不是一個第二范式的數(shù)據(jù)結構。9.4.6 實例實例圖9-149.4.6 實例實例n 針對關鍵字域分解結構,去掉部分依賴關系的情形,將原結構分解成圖9.15所示的三個數(shù)據(jù)結構。這三個結構中都不存在部分依賴關系了,因而它們都是2NF的結構。圖9.15 符合第二范式的數(shù)據(jù)結構9.4.6 實例實例從圖9.15可以看出,“材料庫存”這個結構中存在傳遞依賴關系,即“庫存占用金額”通過“價格”和“庫存量”傳遞地依賴于整個關鍵字“材料編號+供應商名稱”,因此它不是第三范式的結構。不難看出“庫存占用金額”明顯屬于冗余數(shù)據(jù)項。因此,去掉多余的“庫存占用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論