《數(shù)據(jù)庫應(yīng)用技術(shù)項(xiàng)目化教程》第一章預(yù)備知識 數(shù)據(jù)庫基礎(chǔ)知識_第1頁
《數(shù)據(jù)庫應(yīng)用技術(shù)項(xiàng)目化教程》第一章預(yù)備知識 數(shù)據(jù)庫基礎(chǔ)知識_第2頁
《數(shù)據(jù)庫應(yīng)用技術(shù)項(xiàng)目化教程》第一章預(yù)備知識 數(shù)據(jù)庫基礎(chǔ)知識_第3頁
《數(shù)據(jù)庫應(yīng)用技術(shù)項(xiàng)目化教程》第一章預(yù)備知識 數(shù)據(jù)庫基礎(chǔ)知識_第4頁
《數(shù)據(jù)庫應(yīng)用技術(shù)項(xiàng)目化教程》第一章預(yù)備知識 數(shù)據(jù)庫基礎(chǔ)知識_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一章數(shù)據(jù)庫基礎(chǔ)知識學(xué)習(xí)目標(biāo)掌握E-R圖設(shè)計(jì)過程;關(guān)系數(shù)據(jù)庫的規(guī)范化;數(shù)據(jù)設(shè)計(jì)步驟。13了解數(shù)據(jù)庫的相關(guān)概念;數(shù)據(jù)庫管理技術(shù)的發(fā)展。2熟悉數(shù)據(jù)模型的概念和常見的數(shù)據(jù)模型。掌握了解熟悉數(shù)據(jù)庫基本概念1.1常見的數(shù)據(jù)庫1.21.3數(shù)據(jù)庫管理技術(shù)的發(fā)展目錄數(shù)據(jù)模型1.4常見的數(shù)據(jù)模型1.51.6關(guān)系數(shù)據(jù)庫的規(guī)范化1.7數(shù)據(jù)庫設(shè)計(jì)目錄信息是現(xiàn)實(shí)世界事物的存在方式或運(yùn)動狀態(tài)的反映,它通過符號、信號等具體形式表現(xiàn)出來。1.1數(shù)據(jù)庫基本概念數(shù)據(jù)(Data)狹義:數(shù)值數(shù)據(jù)描述事物的符號記錄廣義:數(shù)字、文字、聲音、圖形等大量、海量數(shù)據(jù)庫(DataBase)數(shù)據(jù)集合針對明確的應(yīng)用目標(biāo)而設(shè)計(jì)共享性和易擴(kuò)充性保證了整個(gè)系統(tǒng)數(shù)據(jù)的一致性特性數(shù)據(jù)庫管理系統(tǒng)(DBMS)一種操縱和管理數(shù)據(jù)庫的大型軟件,用于建立、使用和維護(hù)數(shù)據(jù)庫集中了各種應(yīng)用的數(shù)據(jù)與客觀事物的狀態(tài)保持一致(張三豐,男,1990.9,河南,信息工程系,2017)1.1數(shù)據(jù)庫基本概念數(shù)據(jù)庫系統(tǒng)DataBaseSystem(DBS)引入了數(shù)據(jù)庫后的計(jì)算機(jī)系統(tǒng)硬件軟件數(shù)據(jù)庫人員1.1數(shù)據(jù)庫基本概念1.2常見的數(shù)據(jù)庫-數(shù)據(jù)不能長期保存,用完就刪除。-數(shù)據(jù)的管理由應(yīng)用程序完成。-數(shù)據(jù)面向應(yīng)用不能共享。-數(shù)據(jù)不獨(dú)立。數(shù)據(jù)集1數(shù)據(jù)集2數(shù)據(jù)集n應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n

1.3.1人工管理階段1.3數(shù)據(jù)管理技術(shù)的發(fā)展-數(shù)據(jù)實(shí)現(xiàn)了長期保存。-由文件系統(tǒng)管理數(shù)據(jù)。-數(shù)據(jù)共享率低,冗余程度高。-數(shù)據(jù)獨(dú)立性差。文件1文件2文件n應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n文件管理系統(tǒng)1.3.2文件系統(tǒng)階段1.3數(shù)據(jù)管理技術(shù)的發(fā)展-數(shù)據(jù)結(jié)構(gòu)化。-數(shù)據(jù)共享性高、冗余少且易擴(kuò)充。-數(shù)據(jù)獨(dú)立性高。-數(shù)據(jù)由DBMS統(tǒng)一管理和控制。應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫1.3.3數(shù)據(jù)庫系統(tǒng)階段1.3數(shù)據(jù)管理技術(shù)的發(fā)展模型(Model)

1.4.1數(shù)據(jù)模型的概念1.4數(shù)據(jù)模型數(shù)據(jù)模型(DataModel)它是數(shù)據(jù)特征的抽象。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心與基礎(chǔ),它從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表示與操作提供了一個(gè)抽象的框架。1.4.1數(shù)據(jù)模型的概念1.4數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu)1數(shù)據(jù)操作2數(shù)據(jù)的約束條件31.4.1數(shù)據(jù)模型的概念1.4數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu):主要描述數(shù)據(jù)的類型、內(nèi)容、性質(zhì)以及數(shù)據(jù)間的聯(lián)系等,是對系統(tǒng)靜態(tài)特征的描述。1.4.1數(shù)據(jù)模型的概念1.4數(shù)據(jù)模型數(shù)據(jù)操作:主要描述在相應(yīng)的數(shù)據(jù)結(jié)構(gòu)上的操作類型和操作方式,是對系統(tǒng)動態(tài)特征的描述。1.4.1數(shù)據(jù)模型的概念1.4數(shù)據(jù)模型數(shù)據(jù)的約束條件:主要描述數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)間的語法、詞義聯(lián)系、他們之間的制約和依存關(guān)系,以及數(shù)據(jù)動態(tài)變化的規(guī)則,以保證數(shù)據(jù)的正確、有效和相容。1.4.1數(shù)據(jù)模型的概念1.4數(shù)據(jù)模型(1)概念模型:也稱為信息模型,是一種面向用戶、面向客觀世界的模型,主要用來描述世界的概念化結(jié)構(gòu)。概念模型是現(xiàn)實(shí)世界到信息世界的第一次抽象,用于信息世界的建模,是數(shù)據(jù)庫設(shè)計(jì)人員的有利工具,也是數(shù)據(jù)庫設(shè)計(jì)人員與用戶之間交流的語言。(2)數(shù)據(jù)模型:它直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),是現(xiàn)實(shí)世界的第二次抽象。它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(shù)據(jù)建模,主要用于DBMS的實(shí)現(xiàn)。目前最常用的數(shù)據(jù)模型主要包括層次模型、網(wǎng)狀模型和關(guān)系模型。1.4.2數(shù)據(jù)模型分類1.4數(shù)據(jù)模型課程部門老師學(xué)生選課部門與職工的關(guān)系河南省鄭州市1.4.3概念模型的表示方法(1)實(shí)體(Entity):是指客觀世界中存在并且可以相互區(qū)分的事物。實(shí)體1.4數(shù)據(jù)模型(2)屬性(Attribute):是指實(shí)體的所具有的某一特性職工號姓名

性別年齡學(xué)歷部門1.4數(shù)據(jù)模型1.4.3概念模型的表示方法(3)碼(Key):是指唯一標(biāo)識實(shí)體的屬性集。例如,職工號是職工實(shí)體的碼。(4)域(Domain):是指屬性的取值范圍。例如,職工號的域?yàn)?位整數(shù)。(5)實(shí)體型(EntityType):具有相同屬性的實(shí)體必然具有共同的特征和性質(zhì),用實(shí)體名及其屬性名集合來抽象和刻畫這些實(shí)體,稱為實(shí)體型。例如,職工(職工號,姓名,性別,年齡,學(xué)歷,部門)就是一個(gè)實(shí)體型。1.4數(shù)據(jù)模型1.4.3概念模型的表示方法學(xué)生實(shí)體及屬性實(shí)體名屬性名學(xué)生

學(xué)號

姓名

性別

年齡班級1.4數(shù)據(jù)模型

(6)實(shí)體集(EntitySet):同型實(shí)體的集合稱為實(shí)體集。例如,全體職工就是一個(gè)實(shí)體集。(7)聯(lián)系(Relationship):在客觀世界中,事物內(nèi)部及事物之間是普遍存在聯(lián)的,這些聯(lián)系在信息世界中表現(xiàn)為實(shí)體(型)內(nèi)部的聯(lián)系和實(shí)體(型)之間的聯(lián)系。實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系。實(shí)體之間的聯(lián)系通常是指不同實(shí)體型之間的聯(lián)系。1.4數(shù)據(jù)模型

概念模型的表示方法有很多,但最常用的方法為實(shí)體-聯(lián)系方法(Entity-RelationshipApproach),簡稱E-R方法,該方法用E-R圖(Entity-RelationshipDiagram,實(shí)體-聯(lián)系圖)來描述現(xiàn)實(shí)世界的概念模型,E-R方法也稱為E-R模型(Entity-RelationshipModel)。實(shí)體名屬性名實(shí)體:屬性:實(shí)體名屬性名聯(lián)系名聯(lián)系類型1.4數(shù)據(jù)模型1.4.3概念模型的表示方法兩個(gè)實(shí)體型之間的聯(lián)系通常有3種:1.4數(shù)據(jù)模型1.4.3概念模型的表示方法兩個(gè)以上的實(shí)體集之間也存在著一對一、一對多、多對多聯(lián)系。1.4數(shù)據(jù)模型1.4.3概念模型的表示方法同一個(gè)實(shí)體集內(nèi)的各實(shí)體之間也存在一對一、一對多、多對多的聯(lián)系。1.4數(shù)據(jù)模型1.4.3概念模型的表示方法注意:如果聯(lián)系也具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來。例如學(xué)生與課程之間存在學(xué)習(xí)的聯(lián)系,學(xué)習(xí)就有“成績”這一屬性。1.4.3概念模型的表示方法1.4數(shù)據(jù)模型用樹形結(jié)構(gòu)表示各類實(shí)體及實(shí)體間聯(lián)系。它是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型。層次模型的特點(diǎn)是:有且僅有一個(gè)結(jié)點(diǎn)無雙親節(jié)點(diǎn),稱為根結(jié)點(diǎn)。除根結(jié)點(diǎn)之外的其他節(jié)點(diǎn)有且僅有一個(gè)雙親結(jié)點(diǎn)。

1.5常見的數(shù)據(jù)模型1.5.1層次模型(HierarchicalModel)用網(wǎng)絡(luò)結(jié)構(gòu)表示各類實(shí)體及實(shí)體間聯(lián)系。網(wǎng)狀模型的特點(diǎn)是:允許一個(gè)以上的結(jié)點(diǎn)無雙親結(jié)點(diǎn)。一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親結(jié)點(diǎn)。1.5.2網(wǎng)狀模型(NetworkModel)1.5常見的數(shù)據(jù)模型網(wǎng)狀模型有很多種,以下為幾種典型的圖例:1.5常見的數(shù)據(jù)模型1.5.2網(wǎng)狀模型(NetworkModel)用二維(2-Dimension)表的形式表示各類實(shí)體及實(shí)體間聯(lián)系。1、關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系模式的數(shù)據(jù)結(jié)構(gòu)就是一種二維表結(jié)構(gòu),它由行列組成,如表1-1學(xué)生信息表所示:1.5常見的數(shù)據(jù)模型1.5.3關(guān)系模型(RelationalModel)表中常見術(shù)語:(1)關(guān)系(Relation):一個(gè)關(guān)系對應(yīng)著一張二維表,二維表就是關(guān)系名。(2)元組(Tuple):表中的一行就是一個(gè)元組。(3)屬性(Attribute):表中的一列稱為一個(gè)屬性。列的值就是屬性值;屬性值的取值范圍為(值)域(Domain):(4)分量:每一行對應(yīng)的列的屬性值,即元組中的一個(gè)屬性值。(5)關(guān)系模式:對關(guān)系的描述稱為關(guān)系模式。一般表示為關(guān)系名(屬性1,屬性2,......,屬性n)。1.5.2關(guān)系模型(RelationalModel)1.5常見的數(shù)據(jù)模型表中常見術(shù)語:(6)候選鍵或候選碼:關(guān)系中存在多個(gè)屬性或?qū)傩约寄苡脕砦ㄒ粯?biāo)識該關(guān)系的元組,則這些屬性或?qū)傩约Q為該關(guān)系的候選鍵或候選碼。(7)主鍵或主碼:在一個(gè)關(guān)系的若干候選鍵中指定一個(gè)用來唯一標(biāo)識該關(guān)系的元組,則稱這個(gè)被指定的候選鍵稱為主關(guān)鍵字,或簡稱為主鍵、關(guān)鍵字、主碼。每一個(gè)關(guān)系都有并且只有一主鍵,通常用較小的屬性集作為主鍵。1.5.2關(guān)系模型(RelationalModel)1.5常見的數(shù)據(jù)模型(8)主屬性和非主屬性:包含在任何一個(gè)候選鍵中的屬性稱為主屬性,不包含在任何一個(gè)候選鍵中的屬性稱為非主屬性。(9)外鍵或外碼:關(guān)系中的某個(gè)屬性或?qū)傩约m然不是該關(guān)系的主鍵,或者只是主鍵的一部分,但它卻是別的關(guān)系的主鍵時(shí),則稱其為外鍵或者外碼。1.5常見的數(shù)據(jù)模型2、關(guān)系模型的數(shù)據(jù)操作與完整性約束。(1)實(shí)體完整性規(guī)則(EntityIntegrityRule):該規(guī)則要求關(guān)系中的元組在組成主鍵的屬性上不能有空值,且不能出現(xiàn)重復(fù)值。(2)參照完整性規(guī)則(ReferenceIntegrityRule):該規(guī)則用于約束相關(guān)聯(lián)的數(shù)據(jù)表間的數(shù)據(jù)要保持一致,建立外鍵的目的就是為了實(shí)現(xiàn)參照完整性。(3)用戶定義的完整性規(guī)則:這是針對某一具體數(shù)據(jù)庫的約束條件并由相關(guān)的應(yīng)用環(huán)境而定。1.5常見的數(shù)據(jù)模型1.5.3關(guān)系模型(RelationalModel)3、關(guān)系模型的優(yōu)缺點(diǎn)。關(guān)系模型的優(yōu)點(diǎn)主要有:(1)數(shù)據(jù)結(jié)構(gòu)單一。在該模型中,不管是實(shí)體還是實(shí)體之間的聯(lián)系,都用關(guān)系來表示,而關(guān)系都對應(yīng)一張二維表,數(shù)據(jù)結(jié)構(gòu)簡單、清晰。(2)關(guān)系規(guī)范化,并建立在嚴(yán)格的數(shù)學(xué)理論基礎(chǔ)上。(3)概念簡單,用戶容易理解和掌握,操作方便。關(guān)系模型的缺點(diǎn)主要有:存儲路徑透明,查詢效率不如非關(guān)系型數(shù)據(jù)模型。1.5常見的數(shù)據(jù)模型1.5.3關(guān)系模型(RelationalModel)面向?qū)ο竽P筒捎妹嫦驅(qū)ο蟮姆椒▉碓O(shè)計(jì)數(shù)據(jù)庫,其數(shù)據(jù)庫存儲的對象是以對象為單位,每個(gè)對象由屬性和方法組成,具有類和繼承等特點(diǎn)。1.5常見的數(shù)據(jù)模型1.5.4面向?qū)ο竽P停∣bjectOrientedModel)1、常見概念類(Class):類是對客觀世界中一類具有共同特征的事物的抽象。如學(xué)生是一個(gè)類、汽車也是一個(gè)類。對象(Object):對象是客觀世界中概念化的實(shí)體,是類的具體實(shí)現(xiàn)。如一個(gè)學(xué)生、一輛汽車。1.5.4面向?qū)ο竽P停∣bjectOrientedModel)1.5常見的數(shù)據(jù)模型1.5常見的數(shù)據(jù)模型封裝(Encapsulation):利用抽象數(shù)據(jù)類型將數(shù)據(jù)和數(shù)據(jù)的操作結(jié)合在一起,使其構(gòu)成一個(gè)不可分割的獨(dú)立實(shí)體,盡可能隱藏內(nèi)部的細(xì)節(jié),只保留一些對外接口,使之與外部發(fā)生聯(lián)系。繼承(Inheritance):在一個(gè)現(xiàn)有類的基礎(chǔ)上去構(gòu)建一個(gè)新的類,構(gòu)建出來的新類被稱作子類或派生類,現(xiàn)有類被稱作父類或基類,子類會自動擁有父類所有可繼承的屬性和方法。1.5.4面向?qū)ο竽P停∣bjectOrientedModel)2、面向?qū)ο髷?shù)據(jù)模型的優(yōu)點(diǎn):(1)適合處理的數(shù)據(jù)類型豐富,如圖片、聲音、視頻、文本、數(shù)字等。(2)開發(fā)效率高。面向?qū)ο竽P吞峁?qiáng)大的特性,如封裝、繼承、多態(tài)等,這樣允許開發(fā)者不編寫特定對象的代碼就可以構(gòu)成對象并提供解決方案,有效地提高了開發(fā)效率。(3)提高了數(shù)據(jù)訪問的性能。1.5常見的數(shù)據(jù)模型1.5.4面向?qū)ο竽P停∣bjectOrientedModel)2、面向?qū)ο髷?shù)據(jù)模型的缺點(diǎn):(1)沒有準(zhǔn)確的定義。該模型很難提供一個(gè)準(zhǔn)確的定義來說明面向?qū)ο驞BMS應(yīng)建成什么樣。(2)維護(hù)起來比較麻煩。當(dāng)對象的定義被改變和移植數(shù)據(jù)庫時(shí),操作起來比較困難。(3)不適合所有應(yīng)用。該模型更適合于需要管理數(shù)據(jù)對象之間存在復(fù)雜關(guān)系的應(yīng)用,并不是適合所有應(yīng)用。1.5常見的數(shù)據(jù)模型1.5.4面向?qū)ο竽P停∣bjectOrientedModel)范式(NormalForm)是符合某一種級別的關(guān)系模式的集合,是衡量關(guān)系模式規(guī)范化程度的標(biāo)準(zhǔn),符合標(biāo)準(zhǔn)的關(guān)系才是規(guī)范化的。范式可以分為多個(gè)等級:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BC范式(BCNF)等,一般規(guī)范到3NF就可以滿足大部分的數(shù)據(jù)庫設(shè)計(jì)要求。1.6關(guān)系數(shù)據(jù)庫的規(guī)范化1.6關(guān)系數(shù)據(jù)庫的規(guī)范化如果關(guān)系模式R中所有的屬性都是不可分解的,則稱該關(guān)系模式R滿足第一范式(FirstNormalForm),簡稱1NF,記作R1NF。1.6.1第一范式(1NF)1.6關(guān)系數(shù)據(jù)庫的規(guī)范化表1-2中聯(lián)系方式屬性可以再分成系別和班級兩個(gè)屬性,不符合1NF的要求,如何將該表規(guī)范成1NF呢?實(shí)例1.6關(guān)系數(shù)據(jù)庫的規(guī)范化1.5常見的數(shù)據(jù)模型1.6關(guān)系數(shù)據(jù)庫的規(guī)范化如果一個(gè)關(guān)系模式R1NF,且R中的每一個(gè)非主屬性都完全函數(shù)依賴于碼,則稱該關(guān)系模式R滿足第二范式(SecondNormalForm),簡稱2NF,記作R2NF。1.6關(guān)系數(shù)據(jù)庫的規(guī)范化1.6.2第二范式(2NF)實(shí)例表1-3符合2NF的要求。1.6關(guān)系數(shù)據(jù)庫的規(guī)范化實(shí)例例如,學(xué)生成績表(學(xué)號,課程號,姓名,課程名,成績)中,“學(xué)號”和“課程號”字段組成主鍵,“成績”完全依賴于該主鍵,但是“姓名”和“課程名”都只是部分依賴于主鍵,“姓名”可以由“學(xué)號”確定,并不需要“課程號”,而“課程名”是由“課程號”決定并不依賴于“學(xué)號”。所以該關(guān)系表就不符合2NF。對于上面的這種關(guān)系,可以將其分解為三張表:(1)學(xué)生信息表(學(xué)號,姓名)(2)課程信息表(課程號,課程名)(3)成績表(學(xué)號,課程號,成績)1.6關(guān)系數(shù)據(jù)庫的規(guī)范化1.6關(guān)系數(shù)據(jù)庫的規(guī)范化如果一個(gè)關(guān)系模式R2NF,且R中的每個(gè)非主屬性都不傳遞函數(shù)依賴于碼,則稱該關(guān)系模式R滿足第三范式(ThirdNormalForm),簡稱3NF,記作R3NF。1.6關(guān)系數(shù)據(jù)庫的規(guī)范化1.6.3第三范式(3NF)例如,學(xué)生信息(學(xué)號,姓名,年齡,班級號,班主任),“班主任”依賴于“學(xué)號”是由于“班級號”依賴于“學(xué)號”,“班主任”依賴于“班級號”而形成的,“班主任”依賴于“學(xué)號”就構(gòu)成了傳遞函數(shù)依賴,因此不符合3NF。要想讓這個(gè)數(shù)據(jù)表符合3NF,可以將此表分解為兩張表:(1)學(xué)生信息表(學(xué)號,姓名,年齡,班級號)(2)班級信息表(班級號,班主任)實(shí)例1.6關(guān)系數(shù)據(jù)庫的規(guī)范化1.7數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)過程中的關(guān)鍵技術(shù)。設(shè)計(jì)的主要任務(wù)是對于一個(gè)給定的應(yīng)用環(huán)境,根據(jù)用戶的各種需求,構(gòu)造出最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地對數(shù)據(jù)進(jìn)行管理。1.7數(shù)據(jù)庫設(shè)計(jì)1.7.1數(shù)據(jù)庫設(shè)計(jì)概述1.7數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)的內(nèi)容主要有兩個(gè)方面,分別是結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)。結(jié)構(gòu)特性設(shè)計(jì)1行為特性設(shè)計(jì)21.7數(shù)據(jù)庫設(shè)計(jì)1.7.1數(shù)據(jù)庫設(shè)計(jì)概述結(jié)構(gòu)特性設(shè)計(jì)是指確定數(shù)據(jù)庫的數(shù)據(jù)模型,在滿足要求的前提下應(yīng)該盡可能地減少冗余,實(shí)現(xiàn)數(shù)據(jù)共享。1.7數(shù)據(jù)庫設(shè)計(jì)1.7.1數(shù)據(jù)庫設(shè)計(jì)概述行為特性設(shè)計(jì)是指確定數(shù)據(jù)庫應(yīng)用的行為和動作,應(yīng)用的行為由應(yīng)用程序體現(xiàn),所以行為特性的設(shè)計(jì)主要是應(yīng)用程序的設(shè)計(jì)。1.7數(shù)據(jù)庫設(shè)計(jì)1.7.1數(shù)據(jù)庫設(shè)計(jì)概述1.7數(shù)據(jù)庫設(shè)計(jì)1.7數(shù)據(jù)庫設(shè)計(jì)需求分析就是分析用戶的各種需求。

調(diào)查用戶實(shí)際需求通常按以下步驟進(jìn)行:(1)調(diào)查現(xiàn)實(shí)世界的組織機(jī)構(gòu)情況。(2)調(diào)查相關(guān)部門的業(yè)務(wù)活動情況。(3)在熟悉了業(yè)務(wù)活動的基礎(chǔ)上,協(xié)助用戶明確對新系統(tǒng)的各種實(shí)際需求。(4)確定新系統(tǒng)的邊界。1.7數(shù)據(jù)庫設(shè)計(jì)1.7.2需求分析調(diào)查方法:(1)開調(diào)查會。(2)設(shè)計(jì)調(diào)查表請用戶填寫。(3)查閱記錄。(4)詢問。(5)請專人介紹。(6)跟班作業(yè)。1.7數(shù)據(jù)庫設(shè)計(jì)1.7.2需求分析調(diào)查過程中的重點(diǎn)在于“數(shù)據(jù)”與“處理”。通過調(diào)查、收集與分析,獲得用戶對數(shù)據(jù)庫的如下要求:(1)信息需求。(2)處理要求。(3)安全性和完整性要求。調(diào)查了解了用戶的實(shí)際需求以后,還需要進(jìn)一步分析和表達(dá)用戶的需求。經(jīng)過需求分析階段最后會形成系統(tǒng)需求說明書。1.7.2需求分析1.7數(shù)據(jù)庫設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)是將需求分析階段得到的用戶需求進(jìn)行綜合、歸納與抽象成信息結(jié)構(gòu)即概念模型的過程。(1)自頂向下。(2)自底向上。(3)逐步擴(kuò)張。(4)混合策略。

在設(shè)計(jì)過程中通常是先自頂向下進(jìn)行需求分析,然后再自底向上地設(shè)計(jì)概念結(jié)構(gòu)。1.7數(shù)據(jù)庫設(shè)計(jì)1.7.3概念結(jié)構(gòu)設(shè)計(jì)1.7數(shù)據(jù)庫設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)主要應(yīng)用E-R圖(EntityRelationshipDiagram,實(shí)體-聯(lián)系圖)來完成。步驟如下:1、對數(shù)據(jù)進(jìn)行抽象并設(shè)計(jì)局部E-R圖概念結(jié)構(gòu)設(shè)計(jì)首先就是要抽象機(jī)制對需求分析階段收集到的數(shù)據(jù)分類、組織(聚集),形成實(shí)體型、屬性和碼,確定實(shí)體型之間的聯(lián)系類型(一對一、一對多或多對多),進(jìn)而設(shè)計(jì)分E-R圖。1.7數(shù)據(jù)庫設(shè)計(jì)1.7.3概念結(jié)構(gòu)設(shè)計(jì)2、將各局部E-R圖進(jìn)行合并,形成初步E-R圖各局部E-R圖設(shè)計(jì)完成后,還需要對它們進(jìn)行合并,集成為系統(tǒng)整體的E-R圖,當(dāng)然,形成的這個(gè)E-R圖只是一個(gè)初步的E-R圖。局部E-R圖的集成有兩種方法:(1)一次集成法,就是一次性地將所有局部E-R圖合并為全局E-R圖。(2)逐步集成法,先集成兩個(gè)局部E-R圖,然后用累加的方式逐漸合并進(jìn)去一個(gè)新的E-R圖,這樣一直繼續(xù)下去,直到得到全局的E-R圖。1.7.3概念結(jié)構(gòu)設(shè)計(jì)1.7數(shù)據(jù)庫設(shè)計(jì)合并局部E-R圖時(shí)要注意消除各局部E-R圖中的不一致,以形成一個(gè)能為全系統(tǒng)中所有用戶共同理解和接受的統(tǒng)一概念模型。各局部E-R圖之間的沖突主要有三類:(1)屬性沖突。

(2)命名沖突。(3)結(jié)構(gòu)沖突。1.7數(shù)據(jù)庫設(shè)計(jì)1.7.3概念結(jié)構(gòu)設(shè)計(jì)3、消除不必要的冗余,形成基本E-R圖在合并后的初步E-R圖中,可能存在冗余的數(shù)據(jù)和冗余的聯(lián)系。所謂冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出數(shù)據(jù),冗余的聯(lián)系是指可由其他聯(lián)系導(dǎo)出的聯(lián)系。概念結(jié)構(gòu)設(shè)計(jì)階段,哪些冗余信息要消除哪些可以保留需要根據(jù)用戶的整體需求來確定。消除了冗余的初步的E-R圖稱為基本E-R圖,它代表了用戶的數(shù)據(jù)要求,決定了下一步的邏輯結(jié)構(gòu)設(shè)計(jì)。1.7數(shù)據(jù)庫設(shè)計(jì)1.7.3概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)階段的任務(wù)就是將上一階段所設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。1.7數(shù)據(jù)庫設(shè)計(jì)1.7.4邏輯結(jié)構(gòu)設(shè)計(jì)E-R圖向關(guān)系模型的轉(zhuǎn)換在轉(zhuǎn)換過程中要遵循的的原則有:(1)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式,實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。1.7數(shù)據(jù)庫設(shè)計(jì)1.7.4邏輯結(jié)構(gòu)設(shè)計(jì)1.7數(shù)據(jù)庫設(shè)計(jì)(2)可以將1:1聯(lián)系轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。(3)可以將1:n聯(lián)系轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。1.7數(shù)據(jù)庫設(shè)計(jì)(4)可以將m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。(5)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系,可以轉(zhuǎn)換為一個(gè)關(guān)系模式。(6)具有相同碼的關(guān)系模式可以合并。實(shí)例將下圖所示的含有1:1聯(lián)系的E-R圖按上述規(guī)則轉(zhuǎn)換為關(guān)系模式。方案1:聯(lián)系轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式:職工(職工號,姓名,年齡);產(chǎn)品(產(chǎn)品號,產(chǎn)品名,價(jià)格);

負(fù)責(zé)(職工號,產(chǎn)品號)。

方案2:“負(fù)責(zé)”與“職工”兩關(guān)系模式合并:

職工(職工號,姓名,年齡,產(chǎn)品號);

產(chǎn)品(產(chǎn)品號,產(chǎn)品名,價(jià)格)。方案3:“負(fù)責(zé)”與“產(chǎn)品”兩關(guān)系合并:

職工(職工號,姓名,年齡);產(chǎn)品(產(chǎn)品號,產(chǎn)品名,價(jià)格,職工號)。實(shí)例將下圖所示的含有1:n聯(lián)系的E-R圖轉(zhuǎn)換為關(guān)系模式。方案1:聯(lián)系轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式:倉庫(倉庫號,地點(diǎn),面積);產(chǎn)品(產(chǎn)品號,產(chǎn)品名,價(jià)格);倉儲(倉庫號,產(chǎn)品號,數(shù)量)。.方案2:與n端對應(yīng)的關(guān)系模式合并:倉庫(倉庫號,地點(diǎn),面積);產(chǎn)品(產(chǎn)品號,產(chǎn)品名,價(jià)格,倉庫號,數(shù)量)。實(shí)例將下圖所示的含有m:n聯(lián)系的E-R圖轉(zhuǎn)換為關(guān)系模式。學(xué)生(學(xué)號,姓名,年齡,性別);課程(課程號,課程名,學(xué)時(shí)數(shù));選修(學(xué)號,課程號,成績)。實(shí)例將下圖所示的含有m:n聯(lián)系的E-R圖轉(zhuǎn)換為關(guān)系模式。供應(yīng)商(供應(yīng)商號,供應(yīng)商名,地址);零件(零件號,零件名,單價(jià));產(chǎn)品(產(chǎn)品號,產(chǎn)品名,型號);

供應(yīng)(供應(yīng)商號,零件號,產(chǎn)品號,數(shù)量)。數(shù)據(jù)庫的物理設(shè)計(jì),就是為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用要求的物理結(jié)構(gòu)的過程。該階段分兩步來進(jìn)行:(1)首先確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指的是存儲結(jié)構(gòu)與存取方法。(2)從時(shí)間和空間效率兩個(gè)方面來對數(shù)據(jù)庫的物理結(jié)構(gòu)進(jìn)行評價(jià)。1.7數(shù)據(jù)庫設(shè)計(jì)1.7.5數(shù)據(jù)庫物理設(shè)計(jì)

在數(shù)據(jù)庫實(shí)施階段,設(shè)計(jì)人員運(yùn)用RDBMS提供的數(shù)據(jù)語言及其宿主語言,根據(jù)邏輯結(jié)構(gòu)設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫,編制和調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。1.7數(shù)據(jù)庫設(shè)計(jì)1.7.6數(shù)據(jù)庫實(shí)施

數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行后,即可投入正式運(yùn)行,在數(shù)據(jù)庫系統(tǒng)運(yùn)行過程中必須不斷地對其進(jìn)行評價(jià)、調(diào)整和修改。在該階段,對數(shù)據(jù)庫經(jīng)常性的維護(hù)工作主要是由DBA完成的,主要包括:(1)數(shù)據(jù)庫的轉(zhuǎn)儲和和恢復(fù),它是系統(tǒng)正式運(yùn)行后最重要的維護(hù)工作之一。(2)數(shù)據(jù)庫的安全性、完整性控制。(3)數(shù)據(jù)庫性能的監(jiān)督、分析和改造。(4)數(shù)據(jù)庫的重組織和重構(gòu)造。1.7

溫馨提示

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

評論

0/150

提交評論