版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章引論
1、數(shù)據(jù)庫技術(shù)產(chǎn)生于20世紀(jì)60年代,是信息系統(tǒng)的核心
技術(shù)和重要基礎(chǔ);
2、計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科劃分為四個(gè)專業(yè)方向:計(jì)算機(jī)科
學(xué)(CS);計(jì)算機(jī)工程(CE);軟件工程(SE);信息技術(shù)(IT)。
1.1基本概念
1.1.1信息與數(shù)據(jù)
1、信息、物質(zhì)、能量是組成客觀世界并促進(jìn)社會(huì)發(fā)展的三
大基本要素;
2、信息(Information)-是客觀世界事物的存在方式和運(yùn)動(dòng)狀
態(tài)的反映,是對(duì)事物之間相互聯(lián)系、相互作用的描述。信息具有可感
知、可存儲(chǔ)、可加工、可傳遞和可再生的自然屬性。
3、數(shù)據(jù)(Data)-是描述現(xiàn)實(shí)世界事物的符號(hào)記錄,是用物理
符號(hào)記錄下來的可以識(shí)別的信息。不同的物理符號(hào)體現(xiàn)出數(shù)據(jù)的不同
表現(xiàn)形式。
4、信息與數(shù)據(jù)間存在固有聯(lián)系,數(shù)據(jù)是信息的符號(hào)表示,
或稱為載體。信息則是數(shù)據(jù)的語義解釋,是數(shù)據(jù)的內(nèi)涵,信息以數(shù)據(jù)
的形式表現(xiàn)出來,并為人們理解和接受。
5、數(shù)據(jù)處理(DataProcessing)--是指對(duì)數(shù)據(jù)進(jìn)行分類、收集、
組織、存儲(chǔ),進(jìn)而從已數(shù)據(jù)出發(fā),抽取或推導(dǎo)出新的數(shù)據(jù),這些數(shù)據(jù)
表示了新的信息。
6、數(shù)據(jù)管理(DataManagement)--是指對(duì)數(shù)據(jù)的分類、收集、
組織、編碼、存儲(chǔ)、檢索和維護(hù),是數(shù)據(jù)處理業(yè)務(wù)的重要環(huán)節(jié)。
7、數(shù)據(jù)處理與數(shù)據(jù)管理的區(qū)別在于,數(shù)據(jù)處理除了具有數(shù)
據(jù)管理功能外,還可通過數(shù)據(jù)管理得到的數(shù)據(jù)進(jìn)一步深加工,從中獲
取新的數(shù)據(jù)和信息。
1.1.2數(shù)據(jù)庫系統(tǒng)
1、數(shù)據(jù)庫(DB,DataBase)-是長期存儲(chǔ)在計(jì)算機(jī)內(nèi)有組織的、
大量的、共享的數(shù)據(jù)集合;
2、數(shù)據(jù)庫管理系統(tǒng)①BMS,DatabaseManagementSystem)—
是指在計(jì)算機(jī)系統(tǒng)中,位于用戶與操作系統(tǒng)之間的數(shù)據(jù)管理系統(tǒng)軟
件,是數(shù)據(jù)庫系統(tǒng)的核心。
3、數(shù)據(jù)庫系統(tǒng)(DBS,DataBaseSystem)--是指在計(jì)算機(jī)系統(tǒng)
中引入數(shù)據(jù)庫后的軟硬件系統(tǒng)構(gòu)成,DBS一般分成三個(gè)層次:(1)計(jì)
算機(jī)硬件平臺(tái);(2)系統(tǒng)軟件和應(yīng)用軟件;(3)用戶;在不引起混淆和歧義
的情況下,數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)庫。
4、(狹義的)數(shù)據(jù)庫系統(tǒng)一是由數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)組成
的軟件系統(tǒng),主要為用戶提供數(shù)據(jù)存儲(chǔ)和查詢、插入、修改、刪除、
更新等數(shù)據(jù)管理功能。
5、(狹義的)數(shù)據(jù)庫應(yīng)用系統(tǒng)(DBAS,DataBaseApplication
System)—是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫應(yīng)用程序組成的軟
件系統(tǒng),它面向具體應(yīng)用領(lǐng)域,提供了更為復(fù)雜的數(shù)據(jù)處理功能。
6、數(shù)據(jù)庫技術(shù)一是研究數(shù)據(jù)庫的結(jié)構(gòu)、存儲(chǔ)、設(shè)計(jì)、管理
和使用的一門計(jì)算機(jī)應(yīng)用學(xué)科。
7、數(shù)據(jù)庫技術(shù)與其它計(jì)算機(jī)科學(xué)有密切關(guān)系:
(1)數(shù)據(jù)庫技術(shù)以文件系統(tǒng)為基礎(chǔ)發(fā)展而來,DBMS需要操作
系統(tǒng)的支持,數(shù)據(jù)庫以文件形式存儲(chǔ)在外部存儲(chǔ)上的;
(2)數(shù)據(jù)庫與數(shù)據(jù)結(jié)構(gòu)的關(guān)系很密切,數(shù)據(jù)庫技術(shù)不僅用到數(shù)
據(jù)結(jié)構(gòu)中的鏈表、樹、圖等知識(shí),各種數(shù)據(jù)模型本身就屬于復(fù)雜數(shù)據(jù)
結(jié)構(gòu);
(3)主流的關(guān)系數(shù)據(jù)庫系統(tǒng),其理論基礎(chǔ)是關(guān)系數(shù)據(jù)模型,而
該模型是在離散數(shù)學(xué)集合論中“關(guān)系”這一基本概念上發(fā)展起來的;
(4)當(dāng)用戶訪問數(shù)據(jù)庫,DBMS對(duì)用戶提交的查詢操作類似
于,計(jì)算機(jī)編譯系統(tǒng)對(duì)程序的編譯過程;
(5)開發(fā)一些大型的DBS或DBMS的過程,要遵循軟件工程
的開發(fā)模式。
1.2數(shù)據(jù)模型
1.2.1數(shù)據(jù)模型概念
1、數(shù)據(jù)模型(DataModel)-是數(shù)據(jù)庫系統(tǒng)的形式框架,是用來
描述數(shù)據(jù)的一組概念和定義,包括描述數(shù)據(jù)、數(shù)據(jù)聯(lián)系、數(shù)據(jù)操作、
數(shù)據(jù)語義以及數(shù)據(jù)一致性的概念工具;
2、數(shù)據(jù)模型應(yīng)滿足:(1)能夠比較真實(shí)地模擬現(xiàn)實(shí)世界;(2)容
易為人們所理解;(3)便于在計(jì)算機(jī)上實(shí)現(xiàn)。
3、數(shù)據(jù)模型的組成:
(1)數(shù)據(jù)結(jié)構(gòu):用于描述系統(tǒng)的靜態(tài)特征,從語法角度表述了
客觀世界中數(shù)據(jù)對(duì)象本身的結(jié)構(gòu)和數(shù)據(jù)對(duì)象之間的關(guān)聯(lián)關(guān)系,是刻畫
一個(gè)數(shù)據(jù)模型性質(zhì)最重要的方面。在數(shù)據(jù)庫系統(tǒng)中,通常按照數(shù)據(jù)結(jié)
構(gòu)的類型來區(qū)分、命名各種數(shù)模,如層次、網(wǎng)狀、關(guān)系數(shù)模。
(2)數(shù)據(jù)操作:用于描述系統(tǒng)的動(dòng)態(tài)特征,是一組對(duì)數(shù)據(jù)庫中
各種數(shù)據(jù)對(duì)象允許執(zhí)行的操作和操作規(guī)則組成的集合。數(shù)據(jù)操作可以
是檢索、插入等,數(shù)模必須定義這些操作的確切含義、操作符號(hào)、操
作規(guī)則以及實(shí)現(xiàn)操作的數(shù)據(jù)庫語言。
(3)數(shù)據(jù)完整性約束:是一組完整性規(guī)則的集合,它定義了數(shù)
模必須遵守的語義約束,也規(guī)定了數(shù)據(jù)庫中數(shù)據(jù)內(nèi)部及數(shù)據(jù)之間聯(lián)系
所必須滿足的語義約束。它限定了數(shù)據(jù)庫的狀態(tài)以及狀態(tài)的變化,以
便維護(hù)數(shù)據(jù)的正確性、有效性。
1.2.2數(shù)據(jù)模型分類
1、用數(shù)據(jù)模型這一概念來描述數(shù)據(jù)庫的結(jié)構(gòu)和語義,通過
現(xiàn)實(shí)世界一信息世界一機(jī)器世界的抽象轉(zhuǎn)換過程構(gòu)建數(shù)據(jù)庫,并根據(jù)
模型所定義的規(guī)范去管理和使用數(shù)據(jù)。
2、建模過程:(1)將現(xiàn)實(shí)世界的數(shù)據(jù)對(duì)象抽象為信息世界中
的某一信息結(jié)構(gòu);(2)再將信息結(jié)構(gòu)轉(zhuǎn)換為機(jī)器世界中某一具體DBMS
支持的數(shù)據(jù)模型,并存儲(chǔ)于計(jì)算機(jī)中。
3、數(shù)據(jù)模型分類:
(1)概念數(shù)據(jù)模型(概念模型):按用戶的觀點(diǎn)對(duì)數(shù)據(jù)和信息進(jìn)
行建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象,強(qiáng)調(diào)其語義表達(dá)功能,
易于用戶理解,是用戶與設(shè)計(jì)人員交流的語言,主要用于數(shù)據(jù)庫設(shè)計(jì)。
最常用的是實(shí)體一聯(lián)系模型。
(2)數(shù)據(jù)結(jié)構(gòu)模型(表示型/實(shí)現(xiàn)型):是機(jī)器世界中與具體
DBMS相關(guān)的數(shù)據(jù)模型,包括關(guān)系模型、網(wǎng)狀模型和層次模型
(3)物理數(shù)據(jù)模型:屬底層數(shù)據(jù)模型,描述數(shù)據(jù)的實(shí)際存儲(chǔ)方
式。
1.3數(shù)據(jù)視圖與模式結(jié)構(gòu)
1.3.1數(shù)據(jù)視圖與數(shù)據(jù)抽象
1、數(shù)據(jù)視圖:指從某個(gè)角度看到的客觀世界數(shù)據(jù)對(duì)象的特
征,是對(duì)數(shù)據(jù)對(duì)象某一方面特征的描述。
2、數(shù)據(jù)抽象:是一種數(shù)據(jù)描述和數(shù)據(jù)庫設(shè)計(jì)原則,是指專
注于數(shù)據(jù)對(duì)象的某方面特征,而忽略其他特征。
3、集和值:集是指對(duì)某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說明,值
是集的一個(gè)具體賦值;
4、數(shù)據(jù)模式:對(duì)數(shù)據(jù)庫中數(shù)據(jù)某方面結(jié)構(gòu)和特征的描述,
它僅涉及集的描述,不涉及具體的值。
1.3.2三級(jí)模式結(jié)構(gòu)
1、數(shù)據(jù)庫三級(jí)模式結(jié)構(gòu)一外部級(jí)、概念級(jí)和內(nèi)部級(jí),分別
定義了外模式、模式和內(nèi)模式,用于從不同角度描述數(shù)據(jù)庫結(jié)構(gòu)。
2、模式:
(1)也稱邏輯模式、概念模式;
(2)對(duì)數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用
戶的公共數(shù)據(jù)視圖;
(3)模式不僅定義了數(shù)據(jù)的邏輯結(jié)構(gòu),還定義了數(shù)據(jù)之間的聯(lián)
系、與數(shù)據(jù)的關(guān)的安全性和完整性要求;
(4)一個(gè)數(shù)據(jù)庫只有一個(gè)模式,建立在某種數(shù)據(jù)結(jié)構(gòu)模型基礎(chǔ)
±0
3、外模式:
(1)也稱子模式、用戶模式、用戶視圖;
(2)是對(duì)數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)
和特征的描述。
(3)一個(gè)數(shù)據(jù)庫可以有多個(gè)外模式,每個(gè)外模式描述了某個(gè)特
定用戶所使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征,是與某一應(yīng)用有關(guān)的數(shù)
據(jù)的邏輯表示。
(4)外模式還是保證數(shù)據(jù)安全的有力措施,每個(gè)用戶只能看見
和訪問所對(duì)應(yīng)的外模式中的數(shù)據(jù),其它數(shù)據(jù)對(duì)他是不可見的。
4、內(nèi)模式:
(1)也稱物理模式、存儲(chǔ)模式;
(2)是對(duì)數(shù)據(jù)庫中數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述,代表了
數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式和物理組織結(jié)構(gòu);
1.3.3二級(jí)映象與數(shù)據(jù)獨(dú)立性
1、外模式/模式映象:
(1)定義了數(shù)據(jù)庫中不同用戶的外模式與數(shù)據(jù)庫邏輯模式之
間的對(duì)應(yīng)關(guān)系;
(2)可有多個(gè)外模式/模式映象,對(duì)于每個(gè)外模式,需要一個(gè)
外模式/模式映象來定義該外模式與模式之間的對(duì)應(yīng)關(guān)系;
(3)當(dāng)模式發(fā)生變化時(shí),只需調(diào)整外模式/模式間的映象關(guān)系,
而外模式無需修改,保證了數(shù)據(jù)與應(yīng)用程序的邏輯獨(dú)立性,稱為數(shù)據(jù)
的邏輯獨(dú)立性。
2、模式/內(nèi)模式映象:
(1)定義了數(shù)據(jù)庫中數(shù)據(jù)全局邏輯結(jié)構(gòu),與這些數(shù)據(jù)在系統(tǒng)中
的物理存儲(chǔ)組織結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。
(2)模式/內(nèi)模式映象是唯一的;
(3)當(dāng)內(nèi)模式發(fā)生變化時(shí),只需調(diào)整模式/內(nèi)模式映象關(guān)系,
而模式無需修改,保證了數(shù)據(jù)庫中的數(shù)據(jù)與應(yīng)用程序間的物理獨(dú)立
性,稱為數(shù)據(jù)的物理獨(dú)立性。
1.4數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)
1、數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu):是指數(shù)據(jù)庫系統(tǒng)的組成構(gòu)件、各
構(gòu)件的功能及各構(gòu)件間的協(xié)同工作方式;
2、分類:
(1)集中式:全部數(shù)據(jù)和數(shù)據(jù)管理功能均集中在一臺(tái)計(jì)算機(jī)上
的數(shù)據(jù)庫系統(tǒng);包括單用戶和主從式兩種,單用戶DBS是指系統(tǒng)由一
個(gè)用戶獨(dú)占,不同機(jī)器間不能共享數(shù)據(jù);主從式DBS是指一個(gè)主機(jī)帶
多個(gè)分時(shí)多用戶的DBS;
(2)分布式:數(shù)據(jù)庫中的數(shù)據(jù)在邏輯上是一個(gè)整體,但在物理
上卻可以分布在網(wǎng)絡(luò)中不同數(shù)據(jù)管理節(jié)點(diǎn)上;
(3)客戶/服務(wù)器:將DBMS和數(shù)據(jù)庫應(yīng)用分開,網(wǎng)絡(luò)中某些
節(jié)點(diǎn)上的計(jì)算機(jī)專門執(zhí)行DBMS功能,負(fù)責(zé)數(shù)據(jù)管理服務(wù),稱為數(shù)
據(jù)庫服務(wù)器;其他節(jié)點(diǎn)的計(jì)算機(jī)上安裝DBMS的外圍應(yīng)用開發(fā)工具,
支持用戶的應(yīng)用,主要負(fù)責(zé)數(shù)據(jù)表示服務(wù),稱為客戶端;
(4)并行式:硬件平臺(tái)是并行計(jì)算機(jī)系統(tǒng),使用多個(gè)CPU和
多個(gè)磁盤進(jìn)行并行數(shù)據(jù)處理和磁盤訪問操作,以提高執(zhí)行速度;
(5)WEB式:由通過互聯(lián)網(wǎng)連接起來的客戶端、WEB服務(wù)器、
數(shù)據(jù)庫服務(wù)器組成。
1.5數(shù)據(jù)庫管理系統(tǒng)
1.5.1數(shù)據(jù)庫管理系統(tǒng)的功能
(1)數(shù)據(jù)定義功能:DBMS提供了數(shù)據(jù)定義語言(DDL),用戶
利用DDL定義數(shù)據(jù)庫對(duì)象的三級(jí)模式結(jié)構(gòu),描述數(shù)據(jù)庫的結(jié)構(gòu)特征。
(2)數(shù)據(jù)操縱功能:DBMS提供數(shù)據(jù)操縱語言(DML),用戶利
用DML對(duì)數(shù)據(jù)進(jìn)行查詢、插入、刪除或更新;
(3)數(shù)據(jù)庫運(yùn)行管理和控制功能
(4)數(shù)據(jù)庫的建立和維護(hù)功能
1.5.2數(shù)據(jù)庫系統(tǒng)的全局結(jié)構(gòu)
1、DBS可分為用戶、人機(jī)交互界面、DBMS和磁盤四個(gè)層
次;
2、用戶可分為四類:數(shù)據(jù)庫管理員DBA;專業(yè)用戶;應(yīng)用程
序員;終端用戶;
3、DBMS可分為兩部份:
(1)查詢處理器:面向用戶查詢請(qǐng)求;包括以下幾個(gè)功能模塊:
DML編譯器、嵌入式DML的預(yù)編譯器、DDL編譯器、查詢執(zhí)行引
擎;
(2)存儲(chǔ)管理器:面向數(shù)據(jù)存儲(chǔ)訪問,包括以下兒個(gè)功能模塊:
權(quán)限和完整性管理器、事務(wù)管理器、文件管理器、緩沖區(qū)管理器;
4、磁盤存儲(chǔ)的類型:
(1)以數(shù)據(jù)庫文件方式存儲(chǔ)的應(yīng)用數(shù)據(jù);
(2)數(shù)據(jù)字典;
(3)為提高查詢速度而設(shè)置的數(shù)據(jù)庫引擎;
(4)DMS運(yùn)行時(shí)的統(tǒng)計(jì)分析數(shù)據(jù);
(5)日志信息。
1.6數(shù)據(jù)庫技術(shù)的發(fā)展和應(yīng)用
1、第一代DBS:60年代末70年代初,層次型和網(wǎng)狀型DBS;
2、第二代DBS:70年代后期,關(guān)系數(shù)據(jù)庫系統(tǒng);
新型DBS:80年代,分布式數(shù)據(jù)庫系統(tǒng);90年代,面向?qū)ο?/p>
數(shù)據(jù)庫系統(tǒng)、網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)
第二章數(shù)據(jù)庫應(yīng)用系統(tǒng)生命周期
2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)生命周期
2.1.1軟件工程與軟件開發(fā)方法
1、軟件工程:指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程科學(xué),它
采用工程化的概念、原理、技術(shù)和方法,以及正確的項(xiàng)目管理技術(shù),
來開發(fā)和維護(hù)軟件;它將系統(tǒng)化、規(guī)范化、定量化方法應(yīng)用于軟件的
開發(fā)、操作和維護(hù),也就是將工程化應(yīng)用于軟件生產(chǎn);
2、軟件工程的目標(biāo):在給定成本、進(jìn)度的前提下,開發(fā)出
滿足用戶需求并具有下述特征的軟件產(chǎn)品:可修改性、有效性、可靠
性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤
性和可互操作性。
3、軟件生命周期:指軟件產(chǎn)品從考慮其概念開始,到該產(chǎn)
品交付使用的整個(gè)時(shí)期,包括概念階段、需求階段、設(shè)計(jì)階段、實(shí)現(xiàn)
階段、測試階段、安裝部署及交付階段;
4、軟件項(xiàng)目管理:為了能使軟件開發(fā)按預(yù)定的質(zhì)量、進(jìn)度
和成本進(jìn)行,而對(duì)成本、質(zhì)量、進(jìn)度、人員、風(fēng)險(xiǎn)等進(jìn)行分析和有效
管理的一系列活動(dòng)。
5、軟件工程以關(guān)注軟件質(zhì)量為特征,由方法、工具和過程
三部分組成;
6、軟件過程模型(軟件開發(fā)模型):是對(duì)軟件過程的一種抽象
表示,表示了軟件過程的整體框架和軟件開發(fā)活動(dòng)各階段間的關(guān)系,
常見的有:瀑布模型、快速原形模型、增量模型和螺旋模型。
2.1.2DBAS軟件組成
1、數(shù)據(jù)庫應(yīng)用軟件在內(nèi)部可看作由一系列軟件模塊/子系統(tǒng)
組成,這些模塊/子系統(tǒng)可分成兩類:
(1)與數(shù)據(jù)訪問有關(guān)的數(shù)據(jù)庫事務(wù)模塊:利用DBMS提供的
數(shù)據(jù)庫管理功能,以數(shù)據(jù)庫事務(wù)方式直接對(duì)數(shù)據(jù)庫中的各類應(yīng)用數(shù)據(jù)
進(jìn)行操作,模塊粒度較??;
(2)與數(shù)據(jù)訪問無直接關(guān)聯(lián)的應(yīng)用模塊:在許多與數(shù)據(jù)處理有
關(guān)的應(yīng)用系統(tǒng)中,對(duì)數(shù)據(jù)庫的訪問只是整體中的一部分,其他功能則
與數(shù)據(jù)庫訪問無直接關(guān)系,這部分模塊粒度可以比較大。
2、DBAS設(shè)計(jì)開發(fā)的硬件方面:主要涉及根據(jù)系統(tǒng)的功能、
性能、存儲(chǔ)等需求選擇和配置合適的計(jì)算機(jī)硬件平臺(tái),并與開發(fā)好的
DBAS軟件系統(tǒng)進(jìn)行集成,組成完整的數(shù)據(jù)庫應(yīng)用系統(tǒng);
2.1.3DBAS生命周期模型
1、數(shù)據(jù)庫應(yīng)用系統(tǒng)的生命周期模型:
(1)參照軟件開發(fā)瀑布模型的原理,DBAS的生命周期由項(xiàng)目
規(guī)劃、需求分析、系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)和部署、運(yùn)行管理與維護(hù)等5個(gè)基
本活動(dòng)組成;
(2)將快速原形模型和增量模型的開發(fā)思路引入DBAS生命
周期模型,允許漸進(jìn)、迭代地開發(fā)DBAS;
(3)根據(jù)DBAS的軟件組成和各自功能,細(xì)化DBAS需求分
析和設(shè)計(jì)階段,引入了數(shù)據(jù)組織與存儲(chǔ)設(shè)計(jì)、數(shù)據(jù)訪問與處理設(shè)計(jì)、
應(yīng)用設(shè)計(jì)三條設(shè)計(jì)主線,分別用于設(shè)計(jì)DBAS中的數(shù)據(jù)庫、數(shù)據(jù)庫
事務(wù)和應(yīng)用程序;
(4)將DBAS設(shè)計(jì)階段細(xì)分為概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)
三個(gè)步驟,每一步的設(shè)計(jì)內(nèi)容又涵蓋了三條設(shè)計(jì)主線。
2.2規(guī)劃與分析
2.2.1系統(tǒng)規(guī)劃與定義
1、定義:系統(tǒng)規(guī)劃與分析是面向?qū)⒁_發(fā)的DBAS,通過
了解用戶實(shí)際需求,明確該系統(tǒng)需要實(shí)現(xiàn)的目標(biāo)和任務(wù),并從數(shù)據(jù)管
理和數(shù)據(jù)處理的角度,確定系統(tǒng)中數(shù)據(jù)庫軟件的功能、性能范圍;
2、系統(tǒng)規(guī)劃與定義包括:
(1)任務(wù)陳述:描述所要開發(fā)的DBAS的總體目標(biāo);
(2)確定任務(wù)目標(biāo);
(3)確定系統(tǒng)范圍和邊界;
(4)確定用戶視圖;
2.2.2可行性分析
1、可行性分析包括以下四方面:
(1)經(jīng)濟(jì)可行性:對(duì)項(xiàng)目進(jìn)行成本效益分析;DBAS的成本主要
包括:A、軟硬件購置費(fèi)用;B、系統(tǒng)開發(fā)費(fèi)用;C、系統(tǒng)安裝、運(yùn)行、
維護(hù)費(fèi)用。
(2)技術(shù)可行性:是根據(jù)用戶提出的系統(tǒng)功能、性能及實(shí)現(xiàn)系
統(tǒng)的各項(xiàng)約束條件,對(duì)系統(tǒng)軟件、硬件、技術(shù)方案作出評(píng)估和選擇建
議;
A、硬件可行性研究是分析DBAS的硬件平臺(tái)環(huán)境和設(shè)置;
B、軟件可行性研究包括:對(duì)可用的DBMS和操作系統(tǒng)的選
型評(píng)估,對(duì)中間件和開發(fā)環(huán)境的選型建議,對(duì)DBAS開發(fā)模式和編
程語言的建議;
C、技術(shù)方案的選擇是根據(jù)系統(tǒng)技術(shù)需求,提出DBAS可能
采用的合理技術(shù)方案和關(guān)鍵技術(shù);
(3)操作可行性:是論證是否具備DBAS開發(fā)所需的各類人員
資源、軟件資源、硬件資源和工作環(huán)境等,以及為支持DBAS開發(fā)
如何去改進(jìn)加強(qiáng)這兒方面資源。
(4)開發(fā)方案選擇:目的是提出并評(píng)價(jià)實(shí)現(xiàn)系統(tǒng)的各種開發(fā)方
案,從中選出一種適用于DBAS軟件的開發(fā)方案;
2.2.3項(xiàng)目規(guī)劃
1、項(xiàng)目規(guī)劃是項(xiàng)目管理者對(duì)資源、成本和進(jìn)度做出合理估
算,并在此基礎(chǔ)上制定切實(shí)可行的DBAS項(xiàng)目開發(fā)計(jì)劃。
2、項(xiàng)目規(guī)劃包括以下內(nèi)容:
(1)確定項(xiàng)目的目標(biāo)和范圍;
(2)根據(jù)DBAS軟件開發(fā)模型,分解和定義整個(gè)項(xiàng)目包括的工
作活動(dòng)和任務(wù);
(3)估算完成該項(xiàng)目的規(guī)模和所需各種資源;
(4)制定合理的DBAS項(xiàng)目計(jì)劃
3、項(xiàng)目規(guī)劃的結(jié)果應(yīng)形成數(shù)據(jù)庫應(yīng)用系統(tǒng)項(xiàng)目計(jì)劃文檔,即
項(xiàng)目計(jì)劃書。
2.3需求分析
1、數(shù)據(jù)庫應(yīng)用系統(tǒng)需求是指用戶對(duì)DBAS在功能、性能、
行為、設(shè)計(jì)約束等方面的期望和要求;
2、DBAS需求分析是在已經(jīng)明確的DBAS系統(tǒng)范圍基礎(chǔ)上,
通過對(duì)應(yīng)用問題的理解和分析,采用合適的工具和符號(hào),系統(tǒng)地描述
DBAS的功能特征、性能特征和約束,并形成需求規(guī)范說明文檔;
3、需求分析過程由需求獲取、需求分析、需求描述和規(guī)范
說明、需求驗(yàn)證等組成;
4、DBAS的需求分析包括:
(1)數(shù)據(jù)需求分析;
(2)數(shù)據(jù)處理需求分析;
(3)業(yè)務(wù)需求分析;
(4)分析數(shù)據(jù)庫系統(tǒng)在性能、存儲(chǔ)、安全、備份與恢復(fù)等方面
的要求;
2.3.1數(shù)據(jù)與數(shù)據(jù)處理需求分析
1、數(shù)據(jù)需求分析:是從對(duì)數(shù)據(jù)組織與存儲(chǔ)的設(shè)計(jì)角度,辨
識(shí)應(yīng)用領(lǐng)域所管理的各類數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu),與數(shù)據(jù)處理需求分析結(jié)
果一起,組成數(shù)據(jù)字典?;
2、數(shù)據(jù)處理需求分析:是從數(shù)據(jù)訪問和處理的角度,明確
對(duì)各類數(shù)據(jù)項(xiàng)所需進(jìn)行的數(shù)據(jù)訪問操作,分析結(jié)果可表示為數(shù)據(jù)流圖
或事務(wù)規(guī)范;
3、事務(wù)規(guī)范包括:
(1)事務(wù)名稱;(2)事務(wù)描述;(3)事務(wù)所訪問的數(shù)據(jù)項(xiàng);(4)事務(wù)用
戶;
2.3.2業(yè)務(wù)規(guī)則需求分析
1、業(yè)務(wù)規(guī)則需求分析:是從DBAS高層目標(biāo)和整體功能出發(fā),
分析系統(tǒng)或系統(tǒng)中一些大粒度子系統(tǒng)應(yīng)具有的業(yè)務(wù)類型和功能,明確
用戶或外部系統(tǒng)與DBAS的交互模式;
2.3.3性能需求分析
1、DBAS的性能指標(biāo):
(1)數(shù)據(jù)操作響應(yīng)時(shí)間(或數(shù)據(jù)訪問響應(yīng)時(shí)間):從提交請(qǐng)求到
返回結(jié)果的時(shí)間;
(2)系統(tǒng)吞吐量:指系統(tǒng)在單位時(shí)間內(nèi)所完成的事務(wù)或查詢的
數(shù)量,單位為TPS;
(3)允許并發(fā)訪問的最大用戶數(shù):在保證響應(yīng)時(shí)間的前提下,
系統(tǒng)最多允許多少用戶同時(shí)訪問數(shù)據(jù)庫;
(4)每TPS代價(jià)值,用于衡量系統(tǒng)性價(jià)比的指標(biāo)
2、影響DBAS性能的因素:
(1)系統(tǒng)硬件資源;
(2)網(wǎng)絡(luò)通信設(shè)備性能;
(3)操作系統(tǒng)環(huán)境;
(4)數(shù)據(jù)庫的邏輯設(shè)計(jì)和物理設(shè)計(jì)質(zhì)量,數(shù)據(jù)庫配置參數(shù);
⑸DBAS的配置和性能;
(6)數(shù)據(jù)庫應(yīng)用程序自身。
2.3.4其它需求分析
1、存儲(chǔ)需求分析:是指估計(jì)DBAS系統(tǒng)需要的數(shù)據(jù)存儲(chǔ)量,
包括:(1)初始數(shù)據(jù)庫大小;(2)數(shù)據(jù)庫增長速度;存儲(chǔ)總量估算可采用:
根據(jù)數(shù)據(jù)字典中每個(gè)數(shù)據(jù)項(xiàng)的結(jié)構(gòu)描述信息,估計(jì)每個(gè)數(shù)據(jù)項(xiàng)的容
量,將所有數(shù)據(jù)項(xiàng)的容量累加;
2、安全性需求分析:
(l)DBAS系統(tǒng)應(yīng)達(dá)到的安全控制級(jí)別;
(2)各類用戶的數(shù)據(jù)視圖和視圖訪問權(quán)限;
(3)DBAS應(yīng)有的口令保護(hù)機(jī)制或其它安全認(rèn)證機(jī)制,用以控
制用戶登錄數(shù)據(jù)庫系統(tǒng)。
3、備份和恢復(fù)需求分析:
(l)DBAS運(yùn)行過程中備份數(shù)據(jù)庫的時(shí)間和備份周期;
(2)所需備份的數(shù)據(jù)是全部數(shù)據(jù)庫數(shù)據(jù),還是一部分;
(3)備份方式是采用完全備份還是采用差異備份。
2.4系統(tǒng)設(shè)計(jì)
2.4.1概念設(shè)計(jì)
1、數(shù)據(jù)庫概念模型設(shè)計(jì):是根據(jù)數(shù)據(jù)需求分析階段得到的
需求結(jié)果,分析辨識(shí)需要組織存儲(chǔ)在數(shù)據(jù)庫中的各類應(yīng)用領(lǐng)域數(shù)據(jù)對(duì)
象的特征及其相互之間關(guān)聯(lián)關(guān)系,并采用概念數(shù)據(jù)模型表示出來,得
到獨(dú)立于具體DBMS的數(shù)據(jù)庫概念模型;
2、ER方法:(1)選擇局部應(yīng)用;(2)分別設(shè)計(jì)各個(gè)局部ER圖;(3)
局部ER圖合并;
3、系統(tǒng)總體設(shè)計(jì):
(1)確定DBAS體系結(jié)構(gòu);
(2)系統(tǒng)硬件平臺(tái)和操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)等系統(tǒng)軟件的
選型和配置;
(3)應(yīng)用軟件結(jié)構(gòu)設(shè)計(jì)
(4)對(duì)需求分析階段識(shí)別出的業(yè)務(wù)規(guī)則進(jìn)行初步設(shè)計(jì),細(xì)化業(yè)
務(wù)規(guī)則流程,明確采用的關(guān)鍵技術(shù)和算法;
(5)對(duì)系統(tǒng)采用的關(guān)鍵技術(shù)進(jìn)行方案選型和初步設(shè)計(jì)。
2.4.2邏輯設(shè)計(jì)
1、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì):指從數(shù)據(jù)庫的概念模型出發(fā),設(shè)
計(jì)表示為邏輯模式的數(shù)據(jù)庫邏輯結(jié)構(gòu)。
(l)ER圖轉(zhuǎn)換為初始關(guān)系模式;
(2)對(duì)初始關(guān)系模式進(jìn)行優(yōu)化;
(3)檢查關(guān)系表對(duì)數(shù)據(jù)庫事務(wù)的支持性;
(4)確定關(guān)系模式的完整性約束;
(5)從數(shù)據(jù)安全性和獨(dú)立性出發(fā),設(shè)計(jì)用戶視圖。
2、應(yīng)用程序概要設(shè)計(jì)(II);
3、數(shù)據(jù)庫事務(wù)概要設(shè)計(jì);
2.4.3物理設(shè)計(jì)
1、數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì):主要指數(shù)據(jù)文件在外存上的存儲(chǔ)
結(jié)構(gòu)和存取方法,它依賴于系統(tǒng)具體的硬件環(huán)境、操作系統(tǒng)和DBMS;
(1)數(shù)據(jù)庫邏輯模式調(diào)整;
(2)選擇或配置基本關(guān)系表的文件組織形式;
(3)數(shù)據(jù)分布設(shè)計(jì);
(4)安全模式設(shè)計(jì);
(5)確定系統(tǒng)配置;
(6)物理模式評(píng)估;
2、數(shù)據(jù)庫事務(wù)詳細(xì)設(shè)計(jì):根據(jù)事務(wù)流程,利用SQL語句、
數(shù)據(jù)庫訪問接口,采用高級(jí)程序設(shè)計(jì)語言或DBMS提供的事務(wù)實(shí)現(xiàn)
機(jī)制,設(shè)計(jì)數(shù)據(jù)庫事務(wù)。
3、應(yīng)用程序詳細(xì)設(shè)計(jì):
2.5實(shí)現(xiàn)與部署
1、建立數(shù)據(jù)庫結(jié)構(gòu);
2、數(shù)據(jù)加載;
3、事務(wù)和應(yīng)用程序的編碼及測試;
4、系統(tǒng)集成、測試與試運(yùn)行;
5、系統(tǒng)部署;
2.6運(yùn)行管理與維護(hù)
2.6.1日常維護(hù)
(1)數(shù)據(jù)庫的備份與恢復(fù)
(2)完整性維護(hù)
(3)安全性維護(hù)
(4)存儲(chǔ)空間管理
(5)并發(fā)控制及死鎖處理
2.6.2系統(tǒng)性能監(jiān)控和分析
1、統(tǒng)計(jì)數(shù)據(jù)可以通過兩種途徑收集:
(1)由DBMS本身自動(dòng)收集和存儲(chǔ)統(tǒng)計(jì)數(shù)據(jù)
(2)通過監(jiān)控系統(tǒng)得到
2.6.3系統(tǒng)性能優(yōu)化調(diào)整
1、系統(tǒng)性能優(yōu)化的手段有:數(shù)據(jù)查詢調(diào)整與優(yōu)化、索引調(diào)
整、數(shù)據(jù)庫摸式調(diào)整、DBMS和操作系統(tǒng)參數(shù)調(diào)整等。
2、模式調(diào)整主要涉及邏輯模式調(diào)整,可以從下考慮:
(1)已達(dá)到第三范式的基本表,不要進(jìn)一步規(guī)范化為BCNF;
(2)在分布式數(shù)據(jù)庫中,對(duì)一個(gè)基本表中某些頻繁被訪問的數(shù)
據(jù),可以按水平分區(qū)或垂直分區(qū)方式拆分基本表。
2.6.4系統(tǒng)升級(jí)
1、改進(jìn)應(yīng)用程序;
2、數(shù)據(jù)庫重組;
DBMS和OS版本升級(jí)
第3章需求分析及功能建模方法
3.1需求分析概述
3.1.1需求分析概念
1、所謂需求分折:就是對(duì)待開發(fā)的系統(tǒng)要做什么,完成什
么功能的全面描述。
2、需求分析的工作:通過對(duì)需求的調(diào)查、了解、觀察和分
析,通過對(duì)原始數(shù)據(jù)的收集、分類和抽象,并采用有效的技術(shù)、工具,
對(duì)原始資料進(jìn)行加工整理,描述開發(fā)目標(biāo)、實(shí)現(xiàn)的功能及其相互關(guān)系
等活動(dòng)的集合;
3、需求的定義:客戶對(duì)一個(gè)待開發(fā)的系統(tǒng)在實(shí)現(xiàn)目標(biāo)、完
成功能、應(yīng)達(dá)到的性能、安全性、可靠性等方面的期望和要求的集合;
4、需求獲取的困難:
(1)軟件功能復(fù)雜;
(2)需求的可變性;
5、需求分析階段的主要任務(wù):分析當(dāng)前的業(yè)務(wù)流程,包括
體系結(jié)構(gòu),各職能部門完成的主要任務(wù)、關(guān)系及其交流的信息。
6、需求分析的結(jié)果通常以模型等建模工具和方法描述系統(tǒng)
的信息流、功能結(jié)構(gòu)及完成各功能需要的數(shù)據(jù)。
7、功能模型和軟件需求規(guī)格說明書是軟件開發(fā)的依據(jù),將
指導(dǎo)后續(xù)的開發(fā)工作。
8、需求分析工作是系統(tǒng)分析員與用戶不斷交互的過程中完
成的。
3.1.2系統(tǒng)分析員的職能
1、系統(tǒng)分析員的主要要任務(wù):是確定應(yīng)用信息系統(tǒng)及軟件
產(chǎn)品應(yīng)該達(dá)到的各項(xiàng)功能性要求和非功能性要求,即用戶要做什么。
2、系統(tǒng)分析員應(yīng)該具備的素質(zhì):
(1)獲取需求的能力;
(2)管理及溝通能力;
(3)技術(shù)素養(yǎng);
3.1.3需求獲取的方法
常用的幾種獲取需求的方法:(1)面談;(2)實(shí)地觀察;(3)問卷調(diào)
查;(4)查閱資源;
3.1.4需求分析過程
1、標(biāo)識(shí)問題:
(1)需求分析的第一步,通過對(duì)問題的識(shí)別和標(biāo)識(shí)獲得所求解
問題及其運(yùn)行環(huán)境的理解;
(2)標(biāo)識(shí)問題從現(xiàn)行系統(tǒng)的業(yè)務(wù)流程做起,理解現(xiàn)行系統(tǒng)的業(yè)
務(wù)流程;
(3)在標(biāo)識(shí)理解需求的同時(shí),還要注意確定系統(tǒng)的人機(jī)界面;
2、建立需求模型:
(1)模型是對(duì)現(xiàn)實(shí)原形所作的一種抽象,其本質(zhì)是只關(guān)心與研
究內(nèi)容有關(guān)的因素,而忽略無關(guān)的因素,其目的是把復(fù)雜的事物變得
簡單,便于認(rèn)識(shí)和分析;
(2)目前常用的模型方法主要有DFD數(shù)據(jù)流圖和IDEFO,都
屬于結(jié)構(gòu)化分析方法,其特征是抽象和分解;
(3)首先對(duì)應(yīng)用領(lǐng)域進(jìn)行全面的分析,發(fā)現(xiàn)并找出同類事物的
本質(zhì),用抽象方法把這類事物的非主要方面剔除,把握住事物的內(nèi)部
規(guī)律或本質(zhì),就可以找到解決辦法;然后采用自上而下逐步求精的方
法對(duì)復(fù)雜的問題進(jìn)行分解;
(4)結(jié)構(gòu)化分析及建模方法的主要優(yōu)點(diǎn):
(A)不過早陷入具體的細(xì)節(jié);
(B)從整體或宏觀入手分析問題;
(C)通過圖形化的模型對(duì)象直觀地表示系統(tǒng)要做什么,完成什
么功能;
(D)圖形化建模方法方便系統(tǒng)分析員理解和描述系統(tǒng);
(E)模型對(duì)象不涉及太多的技術(shù)術(shù)語,便于用戶理解;
3、描述需求:
(1)需求描述的目標(biāo):對(duì)軟件項(xiàng)目功能性和非功能性的需求全
面描述;
(2)功能性需求:指需要計(jì)算機(jī)實(shí)際解決的問題或?qū)崿F(xiàn)的具體
功能,明確描述系統(tǒng)必須做什么,實(shí)現(xiàn)什么功能以及輸入輸出等;
(3)非功能性需求:軟件項(xiàng)目對(duì)實(shí)際運(yùn)行環(huán)境的要求;
(4)需求描述主要由需求模型和需求說明書組成,說明書側(cè)重
文字說明,內(nèi)容如下:需求概述;功能需求;信息需求;性能需求;環(huán)境需
求;其他需求;
(5)在對(duì)需求進(jìn)行分析過程中,系統(tǒng)分析員要經(jīng)??紤]的問
題:
(A)描述的需求是完全的嗎?
(B)需求描述是正確的和一致的嗎?
(C)描述的這些需求是可行的、實(shí)際可操作的嗎?
(D)描述中的每一條需求都是客戶需要的嗎?
4、確認(rèn)需求:
1、評(píng)審委員會(huì)審核下列內(nèi)容:功能需求;數(shù)據(jù)需求;性能;數(shù)據(jù)
管理;其他需求。
3.2DFD建模方法
3.2.1DFD方法的基本對(duì)象
1、數(shù)據(jù)流:具有名字且有流向的數(shù)據(jù),用標(biāo)有名字的箭頭
表不。
2、處理:表示對(duì)數(shù)據(jù)的加工和變換,在圖中用矩形框表示。
3、數(shù)據(jù)存儲(chǔ):表示用數(shù)據(jù)庫形式存儲(chǔ)的數(shù)據(jù),對(duì)其存取分
別以指向或離開數(shù)據(jù)存儲(chǔ)的箭頭表示;
4、數(shù)據(jù)源及數(shù)據(jù)終點(diǎn):表示當(dāng)前系統(tǒng)的數(shù)據(jù)來源和去向,
其圖形符號(hào)以平行四邊形表示。
3.2.2開發(fā)DFD圖
1、DFD圖采用自頂而下逐步細(xì)化的結(jié)構(gòu)化分析方法表示目
標(biāo)系統(tǒng);
2、DFD方法應(yīng)以軟件項(xiàng)目的功能為中心進(jìn)行抽象和分解,
以數(shù)據(jù)流的變換來分析數(shù)據(jù)對(duì)企業(yè)中各類業(yè)務(wù)活動(dòng)的影響;
3.2.4數(shù)據(jù)字典
1、數(shù)據(jù)字典包括以下說明信息:
(1)源點(diǎn)及終點(diǎn)詞條描述;
(2)數(shù)據(jù)流詞條描述;
(3)數(shù)據(jù)存儲(chǔ);
(4)處理描述;
(5)數(shù)據(jù)元素詞條描述。
3.3IDEFO建模方法
3.3.1概述
1、IDEFO的基本思想是結(jié)構(gòu)化分析方法,強(qiáng)調(diào)自頂而下有
控制地逐步地展開細(xì)節(jié),全面地描述系統(tǒng),且通過建模來理解一個(gè)系
統(tǒng)。一個(gè)模型由圖形文字說明、詞匯表及相互的交叉引用表組成。
2、IDEF方法的優(yōu)點(diǎn):具有模型元素單一、語義豐富、更易
于從全局角度分析考察問題,模型容易理解。
3.3.2IDEFO方法
1、基本元素
(1)矩形:代表活動(dòng),活動(dòng)名稱標(biāo)在矩形內(nèi),活動(dòng)編號(hào)按要求
標(biāo)在矩形框右下角指定位置;
(2)箭頭:左邊的輸入箭頭代表完成活動(dòng)需要的數(shù)據(jù)、上方的
控制箭頭描述了影響活動(dòng)的執(zhí)行的事件或約束、右邊的輸出箭頭說明
由活動(dòng)產(chǎn)生的結(jié)果及信息、下方進(jìn)入的機(jī)制箭頭表示實(shí)施該活動(dòng)的物
理手段或資源。
(3)輸入輸出箭頭描述活動(dòng)是什么(what)、控制箭頭描述為何
這么做(why)、機(jī)制箭頭表示如何做(how)。
2、IDEFO模型
(1)一個(gè)IDEFO模型由一組圖形組成,這些圖形組成一個(gè)由
父到子的層次結(jié)構(gòu)圖,這組圖形把一個(gè)復(fù)雜事物按自頂向下逐步細(xì)化
的方式分解成一個(gè)個(gè)簡單的或多個(gè)組成部分;
3、建模規(guī)則
(1)矩形框:用動(dòng)詞為矩形內(nèi)活動(dòng)命名,每個(gè)矩形要至少有一
個(gè)控制箭頭和輸出箭頭,可以沒有輸入,但不可以同時(shí)沒有輸入和控
制。
(2)箭頭:箭頭代表數(shù)據(jù)約束,而不是代表流或順序;
(3)其他:
(A)ICOM碼:只有一端與矩形相連的箭頭叫邊界箭頭,這些
箭頭表示父矩形框的輸入、控制和輸出。IDEF0用專門的記號(hào)ICOM
碼來說明父子圖中的箭頭關(guān)系。子圖中每個(gè)邊界箭頭的開端分別用字
母I、C、O、M來標(biāo)明是輸入、控制、輸出及機(jī)制,再用一個(gè)數(shù)字表
示其在父矩形框中箭頭的相對(duì)位置。
(B)結(jié)點(diǎn)號(hào):IDEF0模型是一組有一定層次結(jié)構(gòu)的圖形,通常
用結(jié)點(diǎn)號(hào)來標(biāo)志圖形或矩形框在層次圖中的位置;
(C)模型名:每個(gè)模型有一個(gè)名字,通常用名字代表主題,用
子名字表示不同的模型?;久峙c子名字間用隔開,如A/B/C,
A是主題、B是模型號(hào)、C是結(jié)點(diǎn)號(hào)。
3.3.3建模過程及步驟
1、IDEFO建模過程及步驟:
(1)明確目的,確定范圍:在建模前首先要明確目的和意圖,
確定問題域;
(2)建立內(nèi)外關(guān)系圖A-0圖:根據(jù)系統(tǒng)目標(biāo)、功能建立內(nèi)外關(guān)
系圖A-0圖,以確定整個(gè)模型的內(nèi)外關(guān)系,確定系統(tǒng)的邊界;
(3)構(gòu)造頂層圖:把A-0圖分解成3~6個(gè)主要部分得到A0圖,
A0圖是模型真正的頂層圖;
(4)開發(fā)IDEFO層次結(jié)構(gòu)圖:對(duì)A0圖中的每個(gè)矩形框進(jìn)行分
解,就形成了基本的圖形層次結(jié)構(gòu)。在分解時(shí)要列出所有的數(shù)據(jù)項(xiàng)和
活動(dòng)表,分解的次序采用以下原則:
(A)保持在同一水平上進(jìn)行分解,均勻的模型深度;
(B)按困難程序進(jìn)行選擇;
(5)寫文字說明;
(6)檢查確認(rèn)圖形;
3.4DFD與IDEFO的比較
1、DFD與IDEFO共同點(diǎn):都是結(jié)構(gòu)化分析思想,強(qiáng)調(diào)自頂
而下逐步求精的方法對(duì)現(xiàn)實(shí)世界建模,先抓住主要的問題,形成較高
層次的抽象,再由粗到細(xì)、由表及里地逐步細(xì)化,將一個(gè)大問題分解
成兒個(gè)小問題,對(duì)這小問題再進(jìn)行分析求解;
2、DFD與IDEFO區(qū)另lj:
(1)DFD圖用箭頭(數(shù)據(jù)流)來描述數(shù)據(jù)移動(dòng)的方向、數(shù)據(jù)處理
及處理之間的數(shù)據(jù)依賴關(guān)系。IDEFO圖也用箭頭代表數(shù)據(jù)流,但在
IDEFO中不是強(qiáng)調(diào)流或順序,而是強(qiáng)調(diào)數(shù)據(jù)約束。
(2)從表達(dá)形式上看,DFD圖與IDEFO圖都是用箭頭和處理
表達(dá)一個(gè)企業(yè)或組織的業(yè)務(wù)流程。但I(xiàn)DEFO圖的箭頭不僅能夠表示
數(shù)據(jù)流,還可以表示控制流和說明處理或?qū)嵤┓绞降囊恍┘s束;
(3)從模型元素的組成上來看,DFD模型由4種元素組成,
即外部頂、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理。而IDEFO模型元素的組成更
加簡單,只有2種元素組成,即箭頭和活動(dòng);
(4)從模型規(guī)范上來講,IDEF方法更加規(guī)范;
IDEFO模型結(jié)構(gòu)清楚,便于理解和溝通。
第四章數(shù)據(jù)庫概念設(shè)計(jì)及數(shù)據(jù)建模
4.1數(shù)據(jù)庫概念設(shè)計(jì)概述
4.1.1數(shù)據(jù)庫概念設(shè)計(jì)的任務(wù)
1、定義和描述應(yīng)用領(lǐng)域涉及的數(shù)據(jù)范圍;
2、獲取應(yīng)用領(lǐng)域或問題域的信息模型;
3、描述清楚數(shù)據(jù)的屬性特征;
4、描述清楚數(shù)據(jù)之間的關(guān)系;
5、定義和描述數(shù)據(jù)的約束;
6、說明數(shù)據(jù)的安全性要求;
7、支持用戶的各種數(shù)據(jù)處理需求;
8、保證信息模型方便地轉(zhuǎn)換成數(shù)據(jù)庫的邏輯結(jié)構(gòu),同時(shí)便
于用戶理解。
4.1.2概念設(shè)計(jì)過程
1、概念設(shè)計(jì)的依據(jù):是需求分析階段的文檔,通過對(duì)這些
文檔的分析理解,構(gòu)造出信息模型,編寫數(shù)據(jù)庫概念設(shè)計(jì)說明書,信
息模型和數(shù)據(jù)庫概念設(shè)計(jì)說明書是數(shù)據(jù)庫邏輯設(shè)計(jì)的依據(jù);
2、概念設(shè)計(jì)的基本步驟:
(1)確定實(shí)體集;
(2)確定聯(lián)系和聯(lián)系類型;
(3)建立由信息模型表示的企業(yè)模型;
(4)確定實(shí)體集屬性;
(5)對(duì)信息模型優(yōu)化。
4.2數(shù)據(jù)建模方法
1、數(shù)據(jù)建模方法的共同特點(diǎn)是:
(1)能夠真實(shí)客觀地描述現(xiàn)實(shí)世界中的數(shù)據(jù)及數(shù)據(jù)之間的關(guān)
系;
(2)組成模型的概念少,語義清楚,容易理解;
(3)不同概念的語義不重疊,概念無多義性;
(4)用圖形方式描述數(shù)據(jù),數(shù)據(jù)直觀易懂,有利于數(shù)據(jù)庫設(shè)計(jì)
者和用戶交流;
(5)這種數(shù)據(jù)模型容易轉(zhuǎn)換成數(shù)據(jù)庫邏輯設(shè)計(jì)階段需要的數(shù)
據(jù)結(jié)構(gòu)。
4.3ER建模方法
4.3.1基本概念
1、實(shí)體或?qū)嵗褐缚陀^存在并可相互區(qū)分的事物,可以是
一個(gè)具體的人或物,也可以是抽象的事件或概念;
2、實(shí)體集:表示一個(gè)現(xiàn)實(shí)的和抽象事物的集合,這些事物
必須具有相同的屬性或特征。
3、屬性:用于描述一個(gè)實(shí)體集的性質(zhì)和特征;
4、碼:實(shí)體集中能惟一標(biāo)識(shí)每一個(gè)實(shí)例的屬性或?qū)傩越M;
5、聯(lián)系:描述現(xiàn)實(shí)世界中實(shí)體之間的關(guān)系。(1)一對(duì)一聯(lián)系;(2)
一對(duì)多聯(lián)系;(3)多對(duì)多聯(lián)系
4.3.2ER方法語法
1、ER方法中用矩形框表示實(shí)體集,矩形框內(nèi)寫上實(shí)體集的
一名稱;
2、ER模型用菱形表示聯(lián)系,聯(lián)系名寫在菱形框內(nèi);
3、ER模型中實(shí)體集的屬性用橢圓或圓角矩形框表示,屬性
名字寫在其中。
4.4IDEF1X建模方法
4.4.1IDEF1X概述
1、IDEFO側(cè)重描述系統(tǒng)功能,被稱為功能建模方法;IDEF1X
側(cè)重分析、抽象和概括應(yīng)用領(lǐng)域中的數(shù)據(jù),稱為數(shù)據(jù)建模方法;
2、IDEF1X方法具有豐富的語法和語義;
3、實(shí)體集分為(1)獨(dú)立標(biāo)識(shí)符實(shí)體集;(2)從屬標(biāo)識(shí)符實(shí)體集;
4、實(shí)體集之間的聯(lián)系分為:(1)標(biāo)定型聯(lián)系;(2)非標(biāo)定型聯(lián)
系;(3)分類聯(lián)系;(4)不確定聯(lián)系
4.4.2IDEF1X模型元素
1、實(shí)體集:
(1)實(shí)體集語義:如果一個(gè)實(shí)體集的每一個(gè)實(shí)例都能被惟一地
標(biāo)識(shí),而不決定于它與其他實(shí)體的聯(lián)系,那么該實(shí)體集稱為獨(dú)立實(shí)體
集;否則就叫從屬實(shí)體集;
(2)實(shí)體集語法:IDEF1X用矩形框來表示獨(dú)立實(shí)體集,用圓
角矩形框來表示從屬實(shí)體集;
2、聯(lián)系:
(1)聯(lián)系語義:
(A)標(biāo)定型聯(lián)系:一個(gè)“確定型聯(lián)系”中,如果子女實(shí)體集中的
每個(gè)實(shí)例都是由它與雙親的聯(lián)系而確定的,這個(gè)關(guān)系稱為“標(biāo)定型聯(lián)
系”;
(B)非標(biāo)定型聯(lián)系:一個(gè)“確定型聯(lián)系”中,如果子女實(shí)體集中
的每一個(gè)實(shí)例都能被惟一地確認(rèn)而無需了解與之相聯(lián)系的雙親實(shí)體
集的實(shí)例,這個(gè)問題關(guān)系叫“非標(biāo)定型聯(lián)系”。
(C)分類聯(lián)系:是兩個(gè)或多個(gè)實(shí)體集之間的聯(lián)系,且在這些實(shí)
體集中存在一個(gè)一般實(shí)體集,它的每一個(gè)實(shí)例都恰好與一個(gè)且僅一個(gè)
分類實(shí)體集的一個(gè)實(shí)例相聯(lián)系。
(D)不確定聯(lián)系:一個(gè)非確定聯(lián)系又稱為多對(duì)多聯(lián)系,這種
聯(lián)系關(guān)聯(lián)的兩個(gè)實(shí)體集之間,任一實(shí)體集的一個(gè)實(shí)例都將對(duì)應(yīng)另一實(shí)
體集的0個(gè)、1個(gè)或多個(gè)實(shí)例。
(2)聯(lián)系的語法:
(A)標(biāo)定聯(lián)系語法:在IDEF1X圖中,聯(lián)系的語法用直線表示,
在一個(gè)標(biāo)定型聯(lián)系中,子女實(shí)體集總是一個(gè)從屬實(shí)體集,用圓角矩形
框表示;
(B)非標(biāo)定聯(lián)系語法:如果兩個(gè)實(shí)體集之間有關(guān)系,并且是一
個(gè)非標(biāo)定聯(lián)系,就用一條虛線把它們連接起來。
(C)分類聯(lián)系語法:一般實(shí)體集的一個(gè)實(shí)例只能與分類實(shí)體集
的一個(gè)實(shí)例相對(duì)應(yīng);
(D)不確定聯(lián)系m:n的語法:不確定聯(lián)系用一個(gè)兩端帶有實(shí)
心圓的線段描述,表示多對(duì)多的連接關(guān)系。
3、屬性
(1)屬性的語義:用來描述一類現(xiàn)實(shí)或抽象事物的特征或性
質(zhì)。一個(gè)屬性的具體取值叫屬性實(shí)例,它由屬性的類型和值來定義。
(2)屬性的語法
(A)主碼和非主碼屬性語法:在一個(gè)實(shí)體集中屬性要有惟一
的名字,屬性名由名詞表示,主碼屬性名后加(PK)標(biāo)注,被列在屬性
列表的頂端,并用水平線將主碼和其他屬性分開。
(B)外碼語法:在外碼屬性后加“FK”來識(shí)別由聯(lián)系繼承得到
的外來屬性。
4.4.3建模過程
1、第一階段:建模規(guī)劃及準(zhǔn)備
(1)建模目標(biāo):
(A)目標(biāo)說明:回答將構(gòu)造的模型完成什么功能,涉及的問
題和數(shù)據(jù)范圍,同時(shí)說明是一個(gè)當(dāng)前系統(tǒng)模型還是待建模型。
(B)范圍說明:在建模初期要給出模型覆蓋的問題范圍;
(2)建模計(jì)劃
(A)項(xiàng)目說明;
(B)收集數(shù)據(jù);
(C)定義實(shí)體;
(D)定義聯(lián)系;
(E)定義碼屬性;
(F)定義非碼屬性;
(G)確認(rèn)模型;
(H)評(píng)審驗(yàn)收。
(3)組織隊(duì)伍:包括項(xiàng)目負(fù)責(zé)人、建模者、信息源、課題專家、
評(píng)審委員會(huì)
1、第二階段:定義實(shí)體集
(1)目標(biāo)是標(biāo)識(shí)和定義應(yīng)用領(lǐng)域中的實(shí)體集,方法是分類標(biāo)識(shí)
原始材料中的所有名詞;
(2)區(qū)別實(shí)體集名詞和非實(shí)體集名詞的方法,是否具有下列特
征:
(A)它能夠被描述或說明嗎?
(B)有多少同類的實(shí)例嗎?
(C)每個(gè)實(shí)例可以被標(biāo)識(shí)和區(qū)分嗎?
2、第三階段:定義聯(lián)系
(1)標(biāo)識(shí)實(shí)體集之間的聯(lián)系:建立聯(lián)系矩陣,聯(lián)系矩陣由一個(gè)
二維數(shù)組表示。把實(shí)體集沿水平和垂直兩方向列出,分析兩個(gè)實(shí)體間
的聯(lián)系,有聯(lián)系就用“X”表示,不存在聯(lián)系用“null”表示。聯(lián)系只標(biāo)識(shí)
直接關(guān)系,不標(biāo)識(shí)間接關(guān)系。
(2)定義聯(lián)系:包括表示依賴、命名聯(lián)系、關(guān)于聯(lián)系的說明;
當(dāng)實(shí)體集之間的依賴關(guān)系建立后,就可以命名聯(lián)系了。聯(lián)系的名字可
以動(dòng)詞表示。原則必須是具體的、簡明的和有意義的。
(3)構(gòu)造實(shí)體級(jí)數(shù):實(shí)體級(jí)圖的范圍和數(shù)目,依賴于建模的規(guī)
模和建模問題涉及的實(shí)體集數(shù)目。
3、第四階段:定義健
(1)分解不確定的聯(lián)系:把實(shí)體級(jí)圖中不確定的關(guān)系轉(zhuǎn)換成確
定的連接形式,把每一個(gè)不確定的聯(lián)系轉(zhuǎn)換成為兩個(gè)確定的聯(lián)系;
(2)標(biāo)識(shí)碼屬性:碼屬性是那些能夠惟一識(shí)別實(shí)體集中每一個(gè)
實(shí)例的屬性;
(3)遷移主碼:把一個(gè)實(shí)體集的主碼復(fù)制到其他有關(guān)實(shí)體集的
過程,但要遵守以下規(guī)則:
(A)在一個(gè)聯(lián)系中,遷移總是從父到子或從一般實(shí)體集移向
分類實(shí)體集;
(B)主碼屬性才能被遷移,如主碼由多個(gè)屬性組成,則要全部
遷移;
4、第五階段:定義屬性
(1)標(biāo)識(shí)和定義非主屬性;
(2)建立屬性的所有者;
(3)確認(rèn)屬性的定義;
(4)繪制局部數(shù)據(jù)視圖;
(A)實(shí)體集的名稱和編號(hào)寫在矩形框外的上面;
(B)主碼屬性寫在矩形框內(nèi)水平線的上面并用“PK”標(biāo)注;
(C)外碼屬性寫在矩形框內(nèi)水平線的下面并用“FK”標(biāo)注;
(D)非主屬性也可以寫在矩形框內(nèi)水平線的下面;
第五章關(guān)系數(shù)據(jù)庫邏輯設(shè)計(jì)
5.1概述
5.2基本概念
5.2.1關(guān)系模型
1、關(guān)系模型采用一個(gè)二維表格在計(jì)算機(jī)中組織、存儲(chǔ)、處
理和管理數(shù)據(jù)。
(1)關(guān)系名(數(shù)據(jù)庫名):由字母數(shù)字組成;
(2)屬性名;
(3)關(guān)系模式和關(guān)系:描述模式描述關(guān)系的靜態(tài)結(jié)構(gòu),由模式
名、關(guān)系模式所包含的屬性及屬性值所滿足的條件組成模式定義。
(4)元組:描述關(guān)系中的行;
(5)域:它定義關(guān)系的每個(gè)屬性取值的類型;
(6)主碼:能夠惟一標(biāo)識(shí)關(guān)系中每一個(gè)元組的屬性或?qū)傩越M;
(7)關(guān)系的數(shù)學(xué)定義:關(guān)系模式是建立在集合集論的基礎(chǔ)上
的,用數(shù)學(xué)的概念定義關(guān)系有;
(A)定義一:域是值的集合,同一個(gè)域中的值具有相同的數(shù)
據(jù)類型;
(B)定義二:
(C)定義三:
(D)當(dāng)關(guān)系引用了屬性名后關(guān)系具有以下屬性:
[1]不能有重復(fù)的元組;
[2J元組上下無序;
[3]按屬性名引用時(shí)屬性左右無序;
[4]所有屬性值都是原子項(xiàng)(不可再分);
(8)總結(jié):關(guān)系是一張二維表,表中的一行被稱為一個(gè)元組,
一列稱為屬性,由一組域值組成。關(guān)系是元組的集合,關(guān)系中的每個(gè)
元組在數(shù)學(xué)上被定義為這個(gè)關(guān)系所涉及的全部域值中笛卡兒積的一
個(gè)元素。
5.2.2關(guān)系數(shù)據(jù)庫
1、關(guān)系數(shù)據(jù)庫是按照二維表組織和存儲(chǔ)的相互關(guān)聯(lián)的關(guān)系
的集合,關(guān)系數(shù)據(jù)庫模式是關(guān)系模式的集合;
5.2.3關(guān)系的完整性
1、關(guān)系的完整性(完整性約束):是對(duì)關(guān)系的某種約束規(guī)則和
關(guān)系滿足的定義。通常這組約束規(guī)則用來限定和檢查數(shù)據(jù)庫所含實(shí)例
的合法性和正確性;
2、完整性約束分靜態(tài)和動(dòng)態(tài)兩種,靜態(tài)完整性約束是基于
關(guān)系模式的,主要有主碼、外碼約束和域約束組成;動(dòng)態(tài)完整性約束
是基于企業(yè)的業(yè)務(wù)規(guī)則的。
3、靜態(tài)完整性約束規(guī)則:
(1)主碼約束:主碼必須滿足:
(A)惟一性:在一個(gè)關(guān)系中不存在兩個(gè)元組,它們具有相同
的主碼值;
(B)最小性:不存在從組成主碼的屬性集中去掉一個(gè)屬性,還
仍能保持?jǐn)?shù)據(jù)的惟一性;
(2)外碼約束:
(3)用戶定義的完整性:
5.3關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論
5.3.1問題的提出
究竟一個(gè)關(guān)系數(shù)據(jù)庫包含哪些屬性是合理的,如何評(píng)價(jià)一個(gè)
關(guān)系模式設(shè)計(jì)的優(yōu)劣?
5.3.2函數(shù)依賴
函數(shù)依理論利用一個(gè)關(guān)系中屬性之間的依賴關(guān)系評(píng)價(jià)和優(yōu)化
關(guān)系模式,以保證存儲(chǔ)到數(shù)據(jù)庫中的關(guān)系具有較好特性;
1、函數(shù)依賴:
(1)設(shè)R(U)為一關(guān)系模式,X和Y為屬性全集U的子集,若
對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上
的屬性值相等,而在Y上的屬性值不等,則稱“X函數(shù)決定Y”或“Y
函數(shù)依賴于X”,并記作X
Y,其中X稱為決定因素,因?yàn)楦鶕?jù)函數(shù)依賴定義,給定一
個(gè)X,就能惟一決定一個(gè)Y。
(2)這里討論的函數(shù)關(guān)系與數(shù)學(xué)上的不同,是不能計(jì)算的,是
一個(gè)關(guān)系中屬性之間存在的依賴關(guān)系;它是一種語義范疇的概念,只
能根據(jù)兩個(gè)屬性之間的語義來確定一個(gè)函數(shù)依賴是否存在。
2、完全與部分函數(shù)依賴:
(1)在關(guān)系模式R(U)中,如果X&Y成立,并且對(duì)X的任何真
子集X,不能函數(shù)決定Y,則稱Y對(duì)X是完全函數(shù)依賴,被記作
X—f—aYo
(2)若X&Y,但Y不完全函數(shù)依賴于X,則稱Y對(duì)X是部分
函數(shù)依賴,記作X-p&Y;
3、傳遞函數(shù)依賴:
在關(guān)系R(U)模式中,如果X決定Y,(Y不屬于X),Y不決
定X,Y決定Z,則稱Z對(duì)X傳遞函數(shù)依賴。
4、平凡與非平凡函數(shù)依賴:
(1)若X決定Y,但Y屬于X,則稱XaY是平凡函數(shù)依賴,
否則稱非平凡函數(shù)依賴;
(2)即平凡函數(shù)依賴,僅當(dāng)其右邊的屬性集是左邊屬性集的子
集時(shí)成立;
(3)非平凡函數(shù)依賴,僅當(dāng)其右邊的屬性集至少有一個(gè)屬性不
屬于左邊有集合時(shí)成立;
(4)完全非平凡函數(shù)依賴:僅當(dāng)其右邊的屬性集中屬性都不在
左邊的集合時(shí)成立;
5、碼:
(1)在關(guān)系模式R(U)中,K為R的屬性或?qū)傩越M,若K函數(shù)
決定A1.A2.…An,則K為關(guān)系模式R的候選碼,包含在候選碼中的
屬性稱為主屬性,否則為非主屬性;
(2)若一個(gè)關(guān)系的候選碼不止一個(gè),則選定其中一個(gè)作為關(guān)系
R的主碼;
(3)關(guān)系的碼屬性除了必須完全函數(shù)決定關(guān)系的所有其他屬
性外,還必須滿足最小化規(guī)則,即在關(guān)系模式R(U)中,不存在一個(gè)K
的真子集能夠函數(shù)決定R的其他屬性。
6、函數(shù)依賴的推理規(guī)則:
(1)自反律:若Y(包含于)X(包含于)U,則X五Y成立;
(2)增廣律:若XAY,且Z(包含于)U,則XZ&YZ成立;
(3)傳遞律:若X&Y,YaZ,則XAZ成立;
(4)合并規(guī)則:若XAY,X正成立,則X&YZ;
(5)分解規(guī)則:若X&Y和Z(包含于)Y成立,則X正也成立;
(6)偽傳遞規(guī)則:若X4Y,YWaZ,則XW正成立;
7、屬性集閉包:
(1)設(shè)F是屬性集U上的函數(shù)依賴集,X為U的一個(gè)子集,
那么對(duì)于F,屬性集X關(guān)于F的閉包(用X+表示)為:X+={AIXaA)
(2)由屬性集團(tuán)包的定義可知,若想判斷函數(shù)依賴XAY是否
成立,只要計(jì)算X關(guān)于函數(shù)依賴集F的閉包,若Y是X閉包中的一
個(gè)元素則XaY成立;
8、確定關(guān)系的碼:
(1)利用迭代算法計(jì)算X+,步驟如下:
(A)選X作為閉包X+的初值X(0);
(B)由X⑴計(jì)算X(i+1)時(shí),它是由X(0)并上屬性集合A所組
成,其中A滿足下列條件:Y(包含于)X⑴,且F中存在函數(shù)依賴YAZ,
而A(包含于)Z。因?yàn)閁是有窮的,所以會(huì)得到X①=X(i+l),此時(shí)X(i)
為所求的X+。
5.3.3規(guī)范化設(shè)計(jì)方法
1、第一范式:
(1)定義:設(shè)關(guān)系模式R(F,U),如果R的每一個(gè)屬性都是不
可分的數(shù)據(jù)項(xiàng),則此關(guān)系模式為第一范式;
(2)一個(gè)給定關(guān)系和第一范式(1NF)的區(qū)別:
(A)一個(gè)關(guān)系中的數(shù)據(jù)按照行和列的形式組織,每個(gè)元組具
有相同數(shù)目的屬性個(gè)數(shù),且每一個(gè)元組的屬性值具有統(tǒng)一的數(shù)據(jù)類型
和長度;元組或?qū)傩缘呐帕信c順序無關(guān),每個(gè)元組必須通過一個(gè)屬性
或?qū)傩越M惟一識(shí)別;
(B)第一范式實(shí)際上對(duì)關(guān)系增加了一個(gè)約束,即關(guān)系中元組的
每個(gè)屬性都只取一個(gè)值,第一范式是對(duì)關(guān)系模式的基本要求,不滿足
第一范式的數(shù)據(jù)庫就不是關(guān)系數(shù)據(jù)庫。
2、第二范式:
(1)定義:若關(guān)系模式R(F,U)是INF,且每個(gè)非主屬性完全
函數(shù)依賴于碼,則稱R為第二范式,即在2NF中不存在非主屬性對(duì)
碼的部分依賴;
(2)僅滿足第一范式關(guān)系會(huì)存在種種問題,要消除必須用更高
級(jí)的范式標(biāo)準(zhǔn)來設(shè)計(jì),稱為標(biāo)準(zhǔn)化;
(3)具體做法是將大的關(guān)系分解成多個(gè)小的關(guān)系,使分解后的
關(guān)系滿足更高級(jí)范式的要求。
(4)第二范式實(shí)際上對(duì)關(guān)系增加了一個(gè)約束,就是關(guān)系中的每
一個(gè)屬性必須完全依賴于主碼,即在第一范式的基礎(chǔ)上,消除非主屬
性對(duì)主碼的部分函數(shù)依賴可達(dá)到2NF;
3、第三范式:
(1)定義:若關(guān)系R(U,F)為第一范式,且不存在非主屬性對(duì)
主碼的傳遞函數(shù)依賴,則稱R為第三范式;
(2)第三范式是在第二范式的基礎(chǔ)上對(duì)關(guān)系又增加了一個(gè)約
束,就是關(guān)系中的每一個(gè)非主屬性必須只依賴于主碼。即2NF的基
礎(chǔ)上,消除非主屬性對(duì)主碼的傳遞函數(shù)依賴可達(dá)到3NFo
4、改進(jìn)的第三范式:
(1)定義:如果關(guān)系模式R是INF,且每個(gè)屬性既不相存在部
分函數(shù)依賴也不存在傳遞函數(shù)依賴于候選碼,則稱R是改進(jìn)的第三
范式(BCNF)。
5、多值依賴與4NF:
(1)多值依賴:表示關(guān)系中屬性(如A、B、C)之間的依賴,對(duì)
于A的每個(gè)值,都存在一個(gè)B或C的值的集合,而且B和C的值相
互獨(dú)立,記為:A/B、AaaC
(2)第四范式:如果關(guān)系模式R屬于1NF,對(duì)于R的每個(gè)非
平凡的多值依賴XaY(Y不屬于X),X含有候選碼,則R是第四范式。
即是從BCNF范式中消除主碼內(nèi)的獨(dú)立依賴集(非平凡多值依賴)可達(dá)
4NF;
6、連接依賴與5NF
(1)連鎖依賴:設(shè)關(guān)系模式R,R的屬性子集為RI、R2、R3、
R4、R5、R6、R7....,當(dāng)且僅當(dāng)R的每個(gè)合法值等于RI、R2、R3、
R4、R5、R6、R7…的投影連接時(shí),稱R滿足連接依賴;
(2)第五范式:設(shè)R是一個(gè)滿足5NF的關(guān)系模式,當(dāng)且僅當(dāng)
R的每一個(gè)非平凡連接依賴都被R的候選碼所蘊(yùn)含,即從4NF中消
除非候選碼所蘊(yùn)含的連接依賴為5NF;
7、總結(jié):
(1)范式表達(dá)了關(guān)系模式滿足的條件,也是衡量關(guān)系模式設(shè)計(jì)
優(yōu)劣的標(biāo)準(zhǔn);
(2)利用范式進(jìn)行規(guī)范化設(shè)計(jì)的目的是消除數(shù)據(jù)冗余,避免出
現(xiàn)異常,使結(jié)構(gòu)更合理;
(3)規(guī)范化設(shè)計(jì)的基本過程是對(duì)關(guān)系進(jìn)行的分解,消除屬性間
不合理的數(shù)據(jù)依賴,用一組等價(jià)的子關(guān)系代替原有的關(guān)系;
(4)數(shù)據(jù)庫規(guī)范化的程序越高,其關(guān)系表就越多,從而增加了
表之間連接運(yùn)算的代價(jià),影響了數(shù)據(jù)庫的執(zhí)行速度和性能。所以通常
關(guān)系模式規(guī)范化工作僅做到3NF,這樣既使關(guān)系中不合理的屬性基本
消除,規(guī)范化程度也不太高,保證數(shù)據(jù)庫有較好的性能。
5.4數(shù)據(jù)庫模式設(shè)計(jì)
5.4.1初始關(guān)系模式的設(shè)計(jì)
1、把ER圖轉(zhuǎn)換成關(guān)系模式:
(1)把ER模型中的每個(gè)實(shí)體集轉(zhuǎn)換成一個(gè)同名的關(guān)系,實(shí)體
集的屬性就是關(guān)系的屬性,實(shí)體集的碼就是關(guān)系的碼;
(2)把ER模型中的每個(gè)聯(lián)系轉(zhuǎn)換成一個(gè)關(guān)系,與該聯(lián)系相連
的各實(shí)體集的碼以及聯(lián)系的屬性轉(zhuǎn)換成為關(guān)系的屬性。
(A)若聯(lián)系為1:1,則每個(gè)實(shí)體集的碼均是該關(guān)系的候選碼;
(B)若聯(lián)系為1:n,則關(guān)系的碼為n端實(shí)體集的碼;
(C)若聯(lián)系為m:n,則關(guān)系的碼為各實(shí)體集碼的組合;
(3)合并具有相同碼的關(guān)系
2、檢查確認(rèn)對(duì)象:檢查轉(zhuǎn)換后的每個(gè)關(guān)系名和屬性名是否
符合數(shù)據(jù)庫設(shè)計(jì)關(guān)于統(tǒng)一命名的約定;
5.4.2優(yōu)化關(guān)系模式
1、模式分解原則:
(1)分解具有無損連接性:分解后的關(guān)系能夠恢復(fù)成原來的關(guān)
系;
(2)分解保持函數(shù)依賴:
(A)無損連接和保持函數(shù)依賴是用于衡量一個(gè)模式分解是否
導(dǎo)致原有模式中部分信息丟失的兩個(gè)標(biāo)準(zhǔn);
(B)當(dāng)一個(gè)關(guān)系被分解后會(huì)出現(xiàn)幾種結(jié)果,既有無損連接,又
能保持函數(shù)依賴是較理想的分解結(jié)果,意味著在分解的過程中沒有丟
失原有模式的任何信息;
(C)一般情況下,分解到3NF就足夠了,但在3NF關(guān)系下,
仍存在一定程度上的更新異?;虿灰恢碌碾[患,但與數(shù)據(jù)庫性能比較
起來是可以忽略的,因?yàn)樵跀?shù)據(jù)庫設(shè)計(jì)過程中通過增加一些數(shù)據(jù)約
束,就可以解決3NF引起的數(shù)據(jù)問題了。
3、優(yōu)化屬性:確定各字段的類型和長度;
4、確認(rèn)模式滿足需要:
5.4.3數(shù)據(jù)完整性設(shè)計(jì)
1、指定義數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)值滿足的約束條件,通過對(duì)
存儲(chǔ)的數(shù)據(jù)值的約束維護(hù)關(guān)系的完整性。
2、數(shù)據(jù)值滿足條件分為:
(1)域約束:限制指定列的取值及范圍;
(2)主碼約束:定義每個(gè)關(guān)系的主碼值不空,且惟一;
(3)引用完整性約束:定義不同模式的屬性間滿足的條件,及
一個(gè)關(guān)系模式中屬性間可能滿足的條件;
5.4.4安全模式和外模式的設(shè)計(jì)
1、根據(jù)選定的DBMS支持的安全控制特征來確定;
2、根據(jù)不同用戶對(duì)數(shù)據(jù)庫存取特點(diǎn)定義相關(guān)的外模式;
第六章存儲(chǔ)技術(shù)與數(shù)據(jù)庫物理設(shè)計(jì)
6.1文件組織
6.1.1數(shù)據(jù)庫的物理結(jié)構(gòu)
1、數(shù)據(jù)庫中的應(yīng)用數(shù)據(jù)是以文件形式存儲(chǔ)在外存上的,文
件在邏輯上被組織成記錄的序列,即每個(gè)DB文件可看作是邏輯記錄
的集合;
2、一個(gè)文件在磁盤上占有一定的物理存儲(chǔ)空間,文件中的
每個(gè)邏輯記錄被映射存儲(chǔ)到某個(gè)特定的磁盤塊上,一個(gè)文件在物理上
可以看作是由存放文件記錄的一系列磁盤塊組成,稱為物理文件;
3、文件的邏輯記錄與磁盤間的映射關(guān)系是由操作系統(tǒng)或
DBMS來管理的,當(dāng)需要對(duì)一個(gè)文件的邏輯記錄進(jìn)行操作時(shí),先要根
據(jù)這種映射關(guān)系找到該邏輯記錄所在的磁盤塊,然后再進(jìn)行操作。
4、從數(shù)據(jù)庫物理結(jié)構(gòu)角度需要解決如下問題:
(1)文件的組織;
(2)文件的結(jié)構(gòu);
(3)文件的存取;
(4)索引技術(shù);
6.1.2文件組織
1、數(shù)據(jù)庫與文件的對(duì)應(yīng)關(guān)系
(1)在外存中,數(shù)據(jù)庫以文件形式組織,文件由邏輯記錄組成,
記錄由多個(gè)域組成;
(2)一個(gè)關(guān)系數(shù)據(jù)庫包括一張或多張關(guān)系表,關(guān)系表與文件的
對(duì)應(yīng)關(guān)系有如下方式:
(A)每張關(guān)系表單獨(dú)用一個(gè)文件來存儲(chǔ),由DBMS通過OS
的文件管理功能來管理;
(B)現(xiàn)代中大型DBMS是由OS直接分配一塊大的磁盤空間,
DBMS將該磁盤空間作為數(shù)據(jù)庫磁盤文件直接管理,DB的所有關(guān)系
表都存儲(chǔ)在該文件中;
(1)關(guān)系表在邏輯上由一系列元組組成,元組由多個(gè)屬性組
成,每個(gè)元組可以用磁盤文件中的一個(gè)邏輯記錄來存儲(chǔ),記錄包括多
個(gè)域,對(duì)應(yīng)元組的多個(gè)屬性;
2、文件記錄格式:
(1)數(shù)據(jù)庫文件通常采用兩種邏輯記錄格式:定長記錄格式和
變長記錄格式;
6.2文件結(jié)構(gòu)與存取
6.2.1堆文件
1、堆文件也稱無序文件,記錄隨機(jī)在存儲(chǔ)在文件物理空間
是,新插入的記錄存儲(chǔ)在文件的末尾;
2、堆文件常常用作存儲(chǔ)那些將來使用,但目前不清楚如何
使用的記錄,為了實(shí)現(xiàn)文件記錄的有效存取,堆文件經(jīng)常與附加的存
取路徑一起使用;
3、查找操行平均需要搜索(B+l)/2個(gè)磁盤塊,效率比較低;
4、插入操作十分簡單,先讀文件頭,找到最末磁盤地址,
將最末磁盤塊讀入內(nèi)存,將需插入的新記錄寫入磁盤塊的末端,最后
將修改過的磁盤塊寫回磁盤;
5、刪除比較復(fù)雜,可以先找到被刪除記錄所在的磁盤塊
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 郴州2025年湖南郴州市安仁縣事業(yè)單位招聘79人筆試歷年參考題庫附帶答案詳解
- 衢州浙江衢州江山市雙塔街道社區(qū)衛(wèi)生服務(wù)中心招聘編外護(hù)士筆試歷年參考題庫附帶答案詳解
- 牡丹江2025年黑龍江牡丹江市中醫(yī)醫(yī)院招聘14人筆試歷年參考題庫附帶答案詳解
- 文山2025年云南文山丘北縣第五批城鎮(zhèn)公益性崗位招聘14人筆試歷年參考題庫附帶答案詳解
- 山東2025年山東省地質(zhì)礦產(chǎn)勘查開發(fā)局所屬事業(yè)單位招聘64人筆試歷年參考題庫附帶答案詳解
- 職業(yè)人群智能健康干預(yù)的知情同意簡化策略-1-1
- 周口2025年河南周口市商水縣城區(qū)學(xué)校選調(diào)教師233人筆試歷年參考題庫附帶答案詳解
- 云浮2025年廣東云浮新興縣委黨校招聘緊缺人才筆試歷年參考題庫附帶答案詳解
- 院感及職業(yè)暴露培訓(xùn)課件
- 耳鼻喉科治療知情同意溝通策略
- 金太陽陜西省2028屆高一上學(xué)期10月月考物理(26-55A)(含答案)
- 小學(xué)生科普小知識(shí):靜電
- 2025年安全生產(chǎn)知識(shí)教育培訓(xùn)考試試題及標(biāo)準(zhǔn)答案
- 重慶市康德2025屆高三上學(xué)期第一次診斷檢測-數(shù)學(xué)試卷(含答案)
- 品牌管理指南的建模指南
- 導(dǎo)樂用具使用課件
- “師生機(jī)”協(xié)同育人模式的實(shí)踐探索與效果評(píng)估
- 公路施工組織設(shè)計(jì)附表
- 氣動(dòng)安全知識(shí)培訓(xùn)課件
- DBJT15-186-2020 高強(qiáng)混凝土強(qiáng)度回彈法檢測技術(shù)規(guī)程
- 采購違規(guī)管理辦法
評(píng)論
0/150
提交評(píng)論