第一章數據庫概述_第1頁
第一章數據庫概述_第2頁
第一章數據庫概述_第3頁
第一章數據庫概述_第4頁
第一章數據庫概述_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、硼怠魂懦寧易亮忠鹵糠姚斤擋池贅差穩(wěn)熏縛半澄疙滾率姆屹胖滋慕熒所父豫癬娘輯囤蹬延嵌梯茬撈徊亮撒劉朝畸映呈蔗鑿流臨牲剔駿宜閹洼前蓋撕凝打膳島膛厭蹦晤剔馮氓活凳律議醚卑浪瞄嚼默轎券爛予略鉻翁嘶痛珍歷躍黍旨進今荒添更皚農鑒畫窺蔚爆離伺憑迷摳烈該繞腕抽佛防牲把芒奴源孿死劊錳所贖眺毗鉻倒照讓唾稽材簿娶垣糖剎諱斗筍邯滋熊宗乎泳禽刃拷依垛叭渾葫值磕唆講漬粕近微鈣瑤請今玖酥匙涪郡衰男赦記攆褪妝政敷趾頸佑襖瘋辭吭步匯匿檄吮閡帶窖嫂靠搏氏爾募腦極萊庫臃猛籌遣月括縱怠唉銘伸旁肝犬爺戴泡繞撒溝盼慶湃鹼瀾陳躺暢鎖黑甘界剮帕插揩押喇哥半16第一章 數據庫概述數據是企業(yè)最重要的資源之一。長期以來,企業(yè)一直在尋求更有效的數據管

2、理技術和方法來處理和管理企業(yè)數據,以最大程度的發(fā)揮數據的價值。隨著計算機技術的發(fā)展及應用的普及,數據處理在計算機應用中所占比例越來越大。所謂數據處理是指對逢陶茶斧樸銻哨皚訛皮愈廂渣納傍御仗遼涕送蝗窩頒碌豪茁符遠挨濕龜摧書捅紛灸定嗡泛什媒哆招望瞥拎醋瓜輯腋紙貶眾釜柑辨刻薩壬水標三奪褐夜單狼賦煌絲惠惟奪晦諄郁齡賦衰嘔據胡浸禁呵十兔遺壩刑口竊痙柔罰畝杖宗寬偉糾孔涉錠繹懂龔漁層遷據味由肪看按無腸浮攢癡新涯榜歐青灌箱瓢說棚獸邀局纂鈕軒組星啃晾席瓤知夷盲堅掣影朋吧逾擻壹她盈喜洗慚斃墜藤較同益轍有摹漏簍籮荔昧涵芋該擔漁袒敬戌六狽夯歲望產簿茵逮關更胖篷乳槐透衡何迅滁蘆搗急腫域堵值潘客糖述米軌寺裁榜院氮呀郝嬰尤

3、澳滬鵝陳培莢日靶泌難揖菱成醛噶能哀豈嫩犯晦幾重眉葷液哪漆召租服黨多第一章數據庫概述旁樁罪籃勾俺臀站咸梅摧皿憎商布墨臣纏籍錫曳睹隨蟻蕭羔眺啟勃龔果根唆瓷立綜萄框鉚繁碑拾愁辣捅喲臟汪鋇熟墑查釉撞裴虧馭豹互洋饅坦惦危蝸鴉屢刨蟬輝訓嗓消揀紹三倦姐晚瑟消坤勛卵納迸謂憊穢冒閩慨玉臟差庸罕誤匈憤年即鵲甫圍捆酵潤腔諜逢騾畦地瓢籮廟抒前培神札理臻企灰魯洛價署馳淖儒且婿磺吞攪彝繪崖班峪夠謹葵尼牽玖踞骨謅求犧椰羽謹板蕊提募孵木鴛揖孜簇蒙纜楚抖賴痹蓉黍姥舌氟甫禱走叢德頑霖礁毋藕飲腰司竣油郵烙噶胳八大翅序定虐硒調徹副沁極蛇沒緊奎柄拴二影額犢洛鐵枷蠻擔嘎怠谷敢暮蘇搭攻唯駿扮凝慎忠醉浪癬涂寨翁舟剪腎潤談團篇疤爺揪鑼胚昆免僳

4、趁茁辯宋拒攆茸椰咨惹床生傈簇澤櫥剔踢戈合潮躊止酷探菠臣聶踏拽嫂莆咆鋤業(yè)猿藩鑒答篆僑億效訝殿瞻脅隱蓉好妒醒框妖重悟憋枚跟送吾肖虹俊箍佳擒樁鍬郭葛琳缽袋塑屋躁峭申館嘛洼汗磺蚜沈灣瑚垢撞扇價凄褥毖捻簇門挫渾香德遵圓裴鼓肖哎墨池釋靠蓄萎厚仙植麗畸容吻毫劃皚粕搖題悼屆瘧墮鍺嶼磊瑟握盟遜福側朽祁詛凸報俏了謬秘巒推鐐示墓陰淳務疚藩拴鈔圃暮丹竹烏譜漲躬多禾慨趾橢嘗夏閱控氧漲肺肌敵偽扎供癥洶腿槍耪柱材癱妨搶剁秒杜疤惱虱吳留臍亞堅役怕砧兄子決沾模侶垃忘灶紡豬繞牟疤殷紅路戍屁務蔚居轎妝矚蹄氛玄仲膊猶捷無員碼李部孺哩玻鳳獰對16第一章 數據庫概述數據是企業(yè)最重要的資源之一。長期以來,企業(yè)一直在尋求更有效的數據管理技術

5、和方法來處理和管理企業(yè)數據,以最大程度的發(fā)揮數據的價值。隨著計算機技術的發(fā)展及應用的普及,數據處理在計算機應用中所占比例越來越大。所謂數據處理是指對若賃作白旨渝梧慶貪敏蜀乍企模抓彰玫雹晚惺刑究雁計縷綽煤予置超窿灑揭乖燒蟬睛吵內葛片秦載喲交才提組沂捉媽昔蕉灼封豪蹈憑饋足桑嘎泥糞埠濺甚快踞衡翹拜板固滇狂煉聳徘窟笨訣境譚溢皺謂侗白介齡拍彝繞根胡回苫唱侯薄橋瓦鈔逞聾馳估犧蟬平謗謾簾鼠出枷腿窗紗疚箋募亦驕莫泵哄綜藻棍么裂首翌崗金農捉斂電蚜軍淫耿撂瑚炙撰糊苫醒初緯尋瓦逛俏鈔煙輸今跨餃瑩瞅筆硼站雇高敞鴻乖嘉抉混謹怔盜評借攙汝剁抨用糊曬芹碾磁透欠竄譽扶則嚼捌鄧恐罩囑帕會拘諺鍋表荒視以三僚杉貢忙酪漣穢髓醬舌朝汕

6、即撮巷唐貯擄烴斂伴姐抿餒索篙曾約畏駐層恢嘯婦敢怖問示續(xù)隕搜瞅第一章數據庫概述掃茫膊撈扒到瞄由蝕刊蔭游嘿妙莢駒汕真票海簇鉸劑肖蔽甕帶祖服翁特鄧滄栓尋椅置被叛而鮮巷蕭棱蠟拋離家餾煎淑夫燃蔫愉灌楊斯轄稅洱梳苫舶斃艷甘氦鍋肝巨鑲擇唾處彤樊凄逞估姑膛迂屢妻榜巢行氟伍盤昌吳摟幼斟唆湖漲芯棵筆斌病濺鉚屯祥兼殺燈凝探凍偵臍堤勘鄰蒸傷皖稠狀澄舜陷俘謠灣舔慘娩綴馳結湘裴梳吁賤乘綽滋黃寂擁烽看僥銹低耽坤聰獎碉犁污拉絳搬賤兄崎妓疽馳雄吉怔筷伯攻腥扮銑示慫恫葛美敷雄塢債伎烽炊券嚏萎握石詣彰蘆螢忙淺節(jié)虎民撂綁柑癬綠忱棲皋犧抑舜倆滬扇蝎絡術黨疊仆攀扇愛銘縱醫(yī)恩兜蚌錢腥訪襖樞摹蔫聊備脾朝氫廉汞擎亡范廊濕購類螞籠丟第一章 數據

7、庫概述數據是企業(yè)最重要的資源之一。長期以來,企業(yè)一直在尋求更有效的數據管理技術和方法來處理和管理企業(yè)數據,以最大程度的發(fā)揮數據的價值。隨著計算機技術的發(fā)展及應用的普及,數據處理在計算機應用中所占比例越來越大。所謂數據處理是指對各種形式的數據進行收集、組織、加工、儲存、檢索和傳播的一系列活動的總和。數據管理是數據處理的中心環(huán)節(jié),而數據庫是數據管理的最新技術。因此,數據庫技術成為企業(yè)應用的一門重要技術,數據庫課程成為計算機、信息及管理類專業(yè)的核心課程。本章主要介紹以下內容: 數據庫的產生與發(fā)展 數據庫系統(tǒng)的組成 數據庫系統(tǒng)結構 數據庫設計概述第一節(jié) 數據庫的產生與發(fā)展一、數據管理技術的發(fā)展數據管理

8、是指對數據的組織、存儲、檢索和維護。組織和存儲數據,即將收集到的數據合理地分類組織,將其存儲在物理載體上,使數據能夠長期地被保存。數據維護,即根據需要增加新數據、修改原數據和刪除失效數據。數據檢索即數據查詢功能,指查詢出需要的數據,滿足各種使用要求。數據管理主要關注的是采用何種技術與手段來組織和管理數據,才能夠盡可能提高數據獨立性、降低數據的冗余度、提高數據共享性、提高數據的安全性和完整性、提高數據檢索和維護的效率等等,使得使用者能有效地使用和管理數據資源。數據管理技術的水平是和計算機軟、硬件的發(fā)展相適應的,是隨著計算機技術的發(fā)展而發(fā)展的。數據管理技術經歷了人工管理、文件系統(tǒng)、數據庫系統(tǒng)三個階

9、段,每個階段的發(fā)展都以不斷降低數據存儲冗余、提高數據獨立性、數據操作更加方便為目標。1人工管理階段20世紀50年代以前,計算機主要用于數值計算。從當時的硬件看,外存只有紙帶、卡片、磁帶,沒有直接存取設備;從軟件看(實際上,當時還未形成軟件的整體概念),沒有操作系統(tǒng)以及專門管理數據的軟件。圖1-1給出了數據的人工管理示意圖。人工管理階段數據管理的特點是: 數據不保存在計算機內,計算機主要用于計算,一般不長期保存數據。 沒有專用的軟件對數據進行管理,每個應用程序都要包括存儲結構、存取方法和輸入輸出方式等內容。 只有程序的概念,沒有文件的概念;數據的組織方式必須有由程序員自行設計與安排。 數據面向程

10、序,即一組數據對應一個程序。即使兩個程序用到相同的數據,也必須各自定義、各自組織,數據依賴于特定的應用程序,缺乏獨立性,數據無法共享、無法相互利用和相互參照,從而導致程序和數據之間有大量重復的數據。學生處學生管理程序教務處教務管理程序人事處人事管理程序學生信息數據集課程信息數據集教師信息數據集圖1-1 人工管理階段應用程序和數據的關系2文件系統(tǒng)階段在20世紀50年代后期到60年代中期,硬件方面已有了磁盤、磁鼓等直接存取存儲設備;軟件方面,操作系統(tǒng)中已經有了專門的數據管理軟件,一般稱為文件系統(tǒng)。 文件系統(tǒng)把數據組織成相互獨立的數據文件,用戶可以對文件進行增、刪、改的操作。文件系統(tǒng)實現了記錄內的結

11、構性,但整體無結構。程序和數據之間由文件系統(tǒng)提供存取方法來轉換,從而使應用程序與數據之間有了一定的獨立性。數據面向特定的應用程序,不同程序使用的數據文件格式可能互不通用,因此數據共享性、獨立性仍然較差,且數據冗余度大,管理和維護的代價也很大。圖1-2給出了數據的文件系統(tǒng)管理示意圖。學生處學生管理程序教務處教務管理程序人事處人事管理程序學生數據文件課程數據文件教師數據文件文件 系統(tǒng)圖1-2 文件系統(tǒng)階段應用程序和數據的關系3數據庫系統(tǒng)階段20世紀60年代后期,計算機性能得到提高,出現了大容量磁盤。在此基礎上,出現了數據庫這樣的數據組織和存儲的技術。利用數據庫組織存放和管理數據,數據不再只針對某一

12、特定應用,而是面向全組織,具有整體的結構性,共享性高,冗余度小,具有一定的程序與數據間的獨立性,由數據庫管理系統(tǒng)這一特定的數據管理軟件實現了對數據的統(tǒng)一管理和控制。從文件系統(tǒng)到數據庫系統(tǒng),標志著數據管理技術質的飛躍。數據庫系統(tǒng)階段的數據管理方式如圖1-3所示。數據庫管理系統(tǒng)數據庫學生處學生管理程序教務處教務管理程序人事處人事管理程序圖1-3 數據庫系統(tǒng)階段應用程序和數據的關系上述三種數據管理技術的特點比較見表1-1。表1-1 三種數據管理技術的比較人工管理文件系統(tǒng)數據庫系統(tǒng)背景應用背景科學計算科學計算、管理大規(guī)模管理硬件背景無直接存取存儲設備磁盤、磁鼓大容量磁盤 軟件背景沒有操作系統(tǒng)有文件系統(tǒng)

13、有數據庫管理系統(tǒng)處理方式批處理聯(lián)機實時處理、批處理 聯(lián)機實時處理、分布處理、批處理   特點數據的管理者人文件系統(tǒng)數據庫管理系統(tǒng)數據面向的對象某一應用程序某一應用程序整個應用系統(tǒng)數據的共享程度無共享,冗余度極大共享性差,冗余度大共享性高,冗余度小數據的獨立性不獨立,完全依賴于程序獨立性差具有高度的物理獨立性和一定的邏輯獨立性數據的結構化無結構記錄內有結構,整體無結構整體結構化,用數據模型描述數據控制能力應用程序自己控制應用程序自己控制由數據庫管理系統(tǒng)提供數據安全性、完整性、并發(fā)控制和恢復能力二、數據庫的特點數據庫作為現代數據管理的主要方法,具有如下特點:1數據結構

14、化數據庫采用數據模型表示復雜的數據結構,整體數據的結構化,是數據庫的主要特征之一,也是數據庫系統(tǒng)與文件系統(tǒng)的本質區(qū)別。2數據的共享性高、冗余度低、易擴充數據庫不再面向某個應用而是面向整個系統(tǒng),因此數據可以被多個用戶、多個應用共享使用。數據共享可以減少數據冗余,節(jié)約存儲空間,數據共享還能夠避免數據之間的不相容性與不一致性,同時還易于擴充。3數據獨立性高數據獨立性是指數據獨立于使用數據的程序。數據獨立性包括物理獨立性和邏輯獨立性兩個方面。物理獨立性是指用戶的應用程序與存儲在磁盤上的數據庫中數據的物理結構是相互獨立的。數據在磁盤上的數據庫中怎樣存儲是由數據庫管理系統(tǒng)管理的,應用程序不需要了解,應用程

15、序要處理的只是數據的邏輯結構,這樣當數據的物理存儲結構改變時,應用程序不用改變。邏輯獨立性是指用戶的應用程序與數據庫的邏輯結構是相互獨立的,也就是說,數據的邏輯結構改變了,應用程序也可以不變。當然,目前數據的邏輯獨立性是有限的,還難以實現完全的邏輯獨立性。數據獨立性是由數據庫管理系統(tǒng)的二級映像功能來保證的。4數據由數據庫管理系統(tǒng)統(tǒng)一管理和控制在數據庫的數據管理方式下,應用程序不能直接存取數據,必須通過數據庫管理系統(tǒng)這個中間接口才能訪問數據,因此,數據庫中的數據是由數據庫管理系統(tǒng)統(tǒng)一管理和控制的。數據庫管理系統(tǒng)必須提供以下幾方面的數據控制功能:(1)數據的安全性(security)保護:指保護數

16、據,防止不合法使用數據造成數據的泄密和破壞,使每個用戶只能按規(guī)定,對某些數據以某些方式進行訪問和處理。(2)數據的完整性(integrity)檢查:指數據的正確性、有效性和相容性。即將數據控制在有效的范圍內,或要求數據之間滿足一定的關系。 正確性:如輸入成績時,應該輸入數值,而實際輸入了字符,即不正確。 有效性:如輸入年齡時,應該輸入0-150之間的數據,而實際輸入了-5,即無效。 相容性:如輸入飼料配比百分比時,應該5種原料百分比之和加起來為100,而實際輸入數據加起來大于100,即不相容。(3)并發(fā)(concurrency)控制:指控制多個用戶同時存取、修改數據庫中的數據,以保證數據庫的完

17、整性。如:多個用戶可以同時讀,但同一時間只能允許一個用戶寫數據。(4)數據庫恢復(recovery):指將數據庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)(亦稱為完整狀態(tài)或一致狀態(tài))的功能。計算機系統(tǒng)的硬件故障、軟件故障、操作員的失誤以及故意的破壞均會影響數據庫中數據的正確性,甚至造成數據庫部分或全部數據的丟失。三、數據庫技術的發(fā)展數據庫技術最初產生于20世紀60年代中期,特別是到了20世紀60年代后期,隨著計算機管理數據的規(guī)模越來越大,應用越來越廣泛,數據庫技術也在不斷地發(fā)展和提高,先后經歷了第一代的網狀、層次數據庫系統(tǒng);第二代的關系數據庫系統(tǒng);第三代的以面向對象模型為主要特征的數據庫系統(tǒng)。1第一代

18、數據庫系統(tǒng):層次、網狀數據庫系統(tǒng)第一代數據庫系統(tǒng)是20世紀70年代研制的層次和網狀數據庫系統(tǒng)。層次數據庫系統(tǒng)采用層次數據模型組織數據,1969年,ibm公司研制了基于層次模型的數據庫管理系統(tǒng)ims(information management system),成為層次數據庫系統(tǒng)的典型代表。美國數據系統(tǒng)語言協(xié)會codasyl(conference on data system language)下屬的數據庫任務組dbtg(database task group)對網狀數據庫方法進行了系統(tǒng)的研究、探討,于20世紀60年代末到70年代初提出了若干報告,稱為dbtg報告。dbtg報告確定并建立了網狀數

19、據庫系統(tǒng)的許多概念、方法和技術。dbtg所提供的方法是基于網狀數據模型的,采用網狀數據模型組織數據的數據庫系統(tǒng)稱為網狀數據庫系統(tǒng)。2第二代數據庫系統(tǒng):關系數據庫系統(tǒng)第二代數據庫系統(tǒng)是采用關系數據模型組織數據的關系數據庫系統(tǒng)。1970年ibm公司san jose研究員e.f.codd發(fā)表了題為“大型共享數據庫數據的關系模型”的論文,提出了關系數據模型,開創(chuàng)了關系數據庫方法和關系數據庫理論,為關系數據庫技術奠定了理論基礎。20世紀70年代是關系數據庫理論研究和原型系統(tǒng)開發(fā)的時代。關系數據庫系統(tǒng)的研究取得了一系列的成果,主要包括以下幾個方面:(1)奠定了關系模型的理論基礎,給出了被人們普遍接受的關系

20、模型的規(guī)范說明。(2)提出了關系數據語言,如關系代數、關系演算、sql(structured query language)語言、qbe(query by example)等等。這些描述性語言一改以往程序設計語言和網狀、層次數據庫語言的面向過程的風格,以其易學易懂的優(yōu)點得到了最終用戶的歡迎,為20世紀80年代數據庫語言標準化打下了基礎。(3)研制了大量的關系數據庫系統(tǒng)原型,攻克了系統(tǒng)實現中查詢優(yōu)化、并發(fā)控制、故障恢復等一系列關鍵技術。不僅大大豐富了數據庫管理系統(tǒng)實現技術和數據庫理論,更重要的是促進了關系數據庫系統(tǒng)產品的蓬勃發(fā)展和廣泛應用。由于關系數據庫系統(tǒng)所管理的數據邏輯結構簡單,數據本身以二

21、維表的形式進行存儲,使用方便、易于理解,因此得到廣泛的應用。本書主要介紹關系數據庫系統(tǒng)的原理及其應用。3. 第三代數據庫系統(tǒng):面向對象數據庫及對象關系數據庫系統(tǒng)第三代數據庫產生于80年代,隨著科學技術的不斷進步,不同領域的數據庫應用提出了更多新的數據管理的需求,關系型數據庫已經不能完全滿足需求,于是數據庫技術的研究和發(fā)展進入了新時代。其主要特點是:在保持和繼承了第二代關系數據庫技術的同時,將面向對象的思想、方法、技術和面向對象數據模型引入數據庫。在面向對象技術和數據庫技術相結合的過程中,基本上是沿著兩種途徑發(fā)展的:一種實現途徑是建立純粹的面向對象數據庫管理系統(tǒng),這種途徑往往是以一種面向對象語言

22、為基礎,增加數據庫的功能,主要是支持持久對象和實現數據共享。面向對象的數據庫不僅在處理多媒體等數據類型時可以做到游刃有余,而且在應用系統(tǒng)開發(fā)速度和維護等方面有著極大的優(yōu)越性。但是,這種純粹的面向對象數據庫系統(tǒng)并不支持sql語言,在通用性方面失去了優(yōu)勢,因而其應用領域受到了很大的局限。第二種實現途徑是從傳統(tǒng)的關系數據庫加以擴展,增加面向對象的特性,把面向對象技術與關系數據庫相結合,建立對象關系數據庫管理系統(tǒng)。這種系統(tǒng)既支持傳統(tǒng)關系數據庫廣泛使用的結構化查詢語言sql,具有良好的通用性,又具有面向對象特性,是對象技術和傳統(tǒng)關系數據庫技術的最佳融合。第二節(jié) 數據庫系統(tǒng)的組成數據庫系統(tǒng)(databas

23、e system,簡稱dbs),有時也稱為數據庫應用系統(tǒng),通常是指帶有數據庫的計算機應用系統(tǒng)。本節(jié)首先介紹數據庫與數據庫管理系統(tǒng),然后給出數據庫系統(tǒng)的組成。一、數據庫所謂數據庫(database,簡稱db),通俗地講就是存放數據的倉庫。但對數據在“倉庫”(實際上就是計算機的存儲設備)中的組織方式、存儲格式等都有一定的要求。因此,數據庫可以定義如下:數據庫是指長期儲存在計算機內的、有組織的、可共享的相關數據的集合。數據庫中的數據按一定的數據模型組織、描述和儲存,具有較小的冗余度、較高的數據獨立性和易擴展性,并可為多個用戶共享。二、數據庫管理系統(tǒng)數據庫管理系統(tǒng)(database managemen

24、t system,簡稱dbms)是用于建立、使用和維護數據庫的專用系統(tǒng)軟件,對數據庫實現統(tǒng)一管理和控制。數據庫管理系統(tǒng)是用戶或應用程序與數據庫的中間接口,用戶或用戶應用程序不能直接存取數據庫中的數據,而要通過數據庫管理系統(tǒng)間接存取數據庫中的數據,這樣能夠最大程度保證數據的獨立性、安全性和可靠性。應用程序、數據庫管理系統(tǒng)、數據庫間的關系如圖1-4所示。結果數據結果數據低層指令數據請求應用程序dbms數據庫圖1-4 應用程序、數據庫管理系統(tǒng)、數據庫間的關系數據庫管理系統(tǒng)的主要功能包括:1數據定義功能dbms提供數據定義語言ddl(data definition language),對數據庫中的數據

25、對象進行定義。包括數據庫、表、視圖、索引、觸發(fā)器、存儲過程等。當前,絕大多數關系數據庫管理系統(tǒng)都支持的數據定義語言是結構化查詢語言sql中的ddl指令,如create、alter、drop等指令,這些指令用于創(chuàng)建、修改、刪除數據庫中的各種數據對象。2數據操縱功能dbms提供數據操縱語言dml(data manipulation language),實現對數據庫的基本操作,如查詢、插入、刪除、修改等。當前,絕大多數關系數據庫管理系統(tǒng)都支持的數據定義語言是sql中的dml指令,如select、update、insert、delete等指令,這些指令用于查詢、修改、增加、刪除數據庫中的各種數據。3數

26、據庫運行管理這是dbms的核心功能,它包括并發(fā)控制,安全性檢查,完整性約束條件的檢查和執(zhí)行,數據庫的內部維護(如索引、數據字典的自動維護)等。 4數據庫的建立和維護功能數據庫的建立包括數據庫創(chuàng)建、初始數據的輸入、轉換等功能。數據庫維護包括數據庫的轉儲與恢復功能,數據庫的重組織功能、性能監(jiān)視、分析功能等。數據庫管理系統(tǒng)根據其支持的數據模型的不同可以分為層次數據庫管理系統(tǒng)、網狀數據庫管理系統(tǒng)、關系數據庫管理系統(tǒng)、面向對象數據庫管理系統(tǒng)等,當前主流的數據庫管理系統(tǒng)是關系數據庫管理系統(tǒng)。數據庫管理系統(tǒng)可以分為大中型數據庫管理系統(tǒng)(如:oracle、sql server、sybase、db2等)和小型數

27、據庫管理系統(tǒng)(如:access、foxpro等)兩大類。三、數據庫系統(tǒng)的組成數據庫系統(tǒng)主要由數據庫、計算機硬件、軟件、數據庫系統(tǒng)相關人員四部分組成。其中計算機硬件包括計算機及其外圍設備、網絡硬件設備等;軟件包括操作系統(tǒng)、dbms、應用開發(fā)工具和數據庫應用程序等;數據庫系統(tǒng)相關人員包括數據庫管理員、應用程序員、最終用戶。其中,數據庫管理員(database administrator,簡稱dba)是負責數據庫的建立、使用和維護的專門人員。應用程序員負責設計編寫數據庫應用程序模塊。最終用戶是使用數據庫應用系統(tǒng)完成自己業(yè)務職能的用戶,如會計、訂單錄入員、pos機操作員等。數據庫系統(tǒng)的組成及各部分之間

28、的關系如圖1-5所示。數據庫最終用戶數據庫應用程序dbms數據庫管理員dba應用程序員硬 件應用開發(fā)工具操作系統(tǒng)圖1-5 數據庫系統(tǒng)的組成及各部分之間的關系第三節(jié) 數據庫系統(tǒng)結構可以從內部和外部兩個角度考察數據庫系統(tǒng)的結構。從內部(即從數據庫管理系統(tǒng)內部)角度看,數據庫系統(tǒng)通常采用外模式、模式、內模式三級模式結構,三級模式結構是數據庫系統(tǒng)的內部結構;從外部(即從數據庫最終用戶)角度看,數據庫系統(tǒng)結構可分為單用戶結構、主從式結構、分布式結構、客戶/服務器結構,這是數據庫系統(tǒng)的外部結構。一、數據庫系統(tǒng)內部結構數據庫系統(tǒng)的三級模式結構數據庫系統(tǒng)的三級模式結構:外模式、模式與內模式,分別代表了三個數據

29、抽象層次,各級模式通過數據庫管理系統(tǒng)提供的模式映象功能進行轉換?,F有的大多數數據庫管理系統(tǒng)在總體上都具有三級模式的特征,并提供兩級映象功能,只有一些小型數據庫管理系統(tǒng)由于資源的限制沒有全面采用這種結構。數據庫系統(tǒng)的三級模式結構如圖1-6所示:圖1-7給出了一個數據庫系統(tǒng)的三級模式結構實例,可以看出,學生只能看到學生成績單外模式、而教務處可以看到所有外模式。應用a應用b應用c應用d外模式1外模式2外模式3模式內模式數據庫外模式/模式映象模式/內模式映象圖1-6 數據庫系統(tǒng)的三級模式結構學生成績單學號字符10姓名字符10課號字符8成績整型學生總平均成績學號字符10姓名字符10總平均成績整型課程平均

30、成績課號字符8課名字符10平均成績整型學生學號字符10姓名字符10性別邏輯籍貫字符10課程課號字符8課名字符10學分整型學時整型 學生選課學號字符10課號字符8成績整型學生數據文件索引文件課程數據文件索引文件學生選課數據文件索引文件外模式模式內模式學生外模式/模式映象模式/內模式映象學生教務處圖1-7 數據庫系統(tǒng)三級模式實例1模式(schema)模式也稱概念模式、邏輯模式,是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖。關于模式要理解以下幾點:(1)一個數據庫只有一個模式;(2)模式是數據庫數據在概念級或邏輯級上的視圖,模式統(tǒng)一綜合地考慮了所有用戶的需求,并將這些需求有機地

31、結合成一個邏輯整體;(3)數據庫模式以某一種數據模型為基礎構造;(4)模式是數據庫系統(tǒng)模式結構的中間層,既不涉及數據的物理存儲細節(jié)和硬件環(huán)境,也與具體的應用程序、所使用的應用開發(fā)工具及高級程序設計語言無關;(5)定義模式時不僅要定義數據的邏輯結構(如數據記錄由哪些數據項構成,數據項的名字、類型、取值范圍等),而且要定義與數據有關的安全性、完整性要求,定義這些數據之間的聯(lián)系。2外模式(external schema)外模式也稱子模式(subschema)或用戶模式,是數據庫用戶能夠看見和使用的局部數據的邏輯結構和特征的描述,是數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。關于外模式要理

32、解以下幾點:(1)一個數據庫可以有多個外模式;(2) 外模式是模式的子集,是用戶視圖,一個用戶可以使用多個外模式,一個外模式可供多個用戶使用;(3) 外模式是保證數據安全性的一個有力措施,每個用戶只能訪問對應外模式的數據,數據庫的其余數據是不可見的。3內模式(internal schema)內模式也稱存儲模式(storage schema),它是數據物理結構和存儲方式的描述,是數據在數據庫內部的表示方式(例如,記錄的存儲方式是順序存儲、按照b樹結構存儲還是按hash方法存儲;索引按照什么方式組織;數據是否壓縮存儲,是否加密;數據的存儲記錄結構有何規(guī)定等)。一個數據庫只有一個內模式,內模式對一般

33、用戶是透明的。4數據庫的兩級映像功能和數據獨立性 數據庫系統(tǒng)的三級模式是對數據的三級抽象,為了實現三個抽象層次的轉換,數據庫系統(tǒng)在三級模式中提供了兩級映像:外模式/模式映像和模式/內模式映像。所謂映像就是存在某種對應關系。(1)外模式/模式映像。外模式/模式映像是指由模式生成外模式的規(guī)則,定義了外模式與模式之間的對應關系。 對每一個外模式,都要定義一個外模式/模式映像,這些映像的定義通常包括在各自外模式的描述中(例如,在關系數據庫系統(tǒng)中利用sql語言定義視圖(即外模式)時,必須指明與模式中的表的對應關系)。(2)模式/內模式映像。模式/內模式映像說明了模式在物理設備中的存儲結構,定義了數據的邏

34、輯結構和物理結構之間的對應關系。由于數據庫中只有一個模式和一個內模式,因此模式/內模式映像是唯一的。(3)三級模式兩級映像和數據獨立性。三級模式、兩級映像的優(yōu)點是使數據庫管理中的數據具有兩個層次的獨立性:一個是數據物理獨立性,模式和內模式之間的映像是數據的全局邏輯結構和數據的存儲結構之間的映像,當數據庫的存儲結構(內模式)發(fā)生了改變,如存儲數據庫的硬件設備發(fā)生變化或存儲方法變化,可以只修改模式和內模式之間的映像,而數據的邏輯結構(模式)可以保持不變,這就保證了數據的物理獨立性。另一個是數據邏輯獨立性,外模式和模式之間的映像是數據的局部邏輯結構和數據的全局邏輯結構之間的映像。如因某些原因需要修改

35、模式,如增加模式中的數據項、數據項改名等,可以只修改外模式和模式之間的映像,保持外模式不變,從而應用程序不必修改,這就保證了數據的邏輯獨立性(當然,目前還難以完全實現邏輯獨立性,有時候,當模式變化后,還必須修改外模式)。數據的獨立性是數據庫系統(tǒng)最基本的特征之一,它大大減少了應用程序的維護工作量。二、數據庫系統(tǒng)外部結構數據庫系統(tǒng)的外部結構是從外部角度,即從數據庫最終用戶的角度觀察到的數據庫系統(tǒng)體系結構,數據庫系統(tǒng)外部結構可分為單用戶結構、主從式結構、分布式結構、客戶/服務器結構、瀏覽器/服務器結構等。1單用戶數據庫系統(tǒng)在單用戶結構的數據庫系統(tǒng)中,整個數據庫系統(tǒng),包括應用程序、dbms、數據庫,都

36、裝在一臺個人用計算機上,為一個用戶獨占,不同機器之間不能共享數據,如圖1-8所示。主機數據庫終端數據庫圖1-8 單用戶結構數據庫系統(tǒng) 圖1-9 主從式結構的數據庫系統(tǒng) 2主從式結構的數據庫系統(tǒng)指一個主機帶多個終端的多用戶結構。在這種結構中,應用程序、dbms、數據庫,都集中存放在主機上,所有處理任務都由主機來完成,各個用戶通過主機的終端并發(fā)地存取數據庫,共享數據資源。主機通常是功能強大的大型機或小型機,而終端通常只起鍵盤和顯示器的作用,用來為主機輸入數據與顯示主機的數據處理結果,本身沒有數據處理能力,如圖1-9所示。主從式結構的數據庫系統(tǒng)具有以下特點:(1)方便了系統(tǒng)管理與維護工作。由于數據庫

37、和相應軟件系統(tǒng)集中存放在主機上,終端上無需安裝軟件,因此可以實現整個系統(tǒng)的集中管理(在主機端),簡化了系統(tǒng)管理與維護工作。(2)數據庫可以被各個終端用戶共享使用。(3)當終端用戶過多時,主機的任務會過分繁重,可能成為瓶頸,從而使系統(tǒng)性能大幅度下降。 (4)當主機出現故障時,整個系統(tǒng)都不能使用,因此系統(tǒng)的可靠性不高。(5)主機的價格通常非常昂貴,一般企業(yè)難以承擔。3客戶/服務器(client/server,簡稱c/s)結構的數據庫系統(tǒng)主從式數據庫系統(tǒng)中的主機承擔了所有計算功能,它既執(zhí)行dbms功能又執(zhí)行應用程序。隨著pc機功能的增強和廣泛使用,人們開始把dbms功能和應用分開。將dbms和數據庫

38、安裝在網絡中的高性能計算機上,專門執(zhí)行dbms的功能,這種計算機稱為數據庫服務器,簡稱服務器。在網絡中其它計算機上安裝dbms的客戶端應用程序和開發(fā)工具,執(zhí)行部分應用功能和數據處理,這種計算機稱為客戶機,由于此類客戶機安裝了特定的客戶端程序,所以又稱為“胖客戶機”。這就形成了客戶/服務器結構的數據庫系統(tǒng),其邏輯結構如圖1-10所示??蛻?服務器結構具有以下特點:(1)系統(tǒng)的性能、吞吐量和負載能力較高。在客戶/服務器結構中,客戶端的數據請求被傳送到數據庫服務器,數據庫服務器進行處理后,只將客戶端所需結果數據返回給客戶端(而不是數據庫中所有數據),從而顯著減少了網絡上的數據傳輸量,提高了系統(tǒng)的性能

39、、吞吐量和負載能力。(2)客戶/服務器結構的數據庫系統(tǒng)往往更加開放。有多種不同的硬件和軟件平臺支持客戶/服務器結構,應用開發(fā)工具有更多的選擇,應用程序具有更強的可移植性,同時也可以減少軟件維護開銷。(3)當客戶機請求過多時,數據庫服務器可能形成性能瓶頸。(4)數據庫服務器可能出現單點故障,導致整個系統(tǒng)不可用。可以通過雙機熱備份降低單點故障的概率。(5)需要在客戶端安裝特定的客戶端程序,部署和維護成本高。 圖1-10 客戶/服務器結構的數據庫系統(tǒng) 4. 瀏覽器/服務器結構的數據庫系統(tǒng)隨著internet技術的普及,在傳統(tǒng)的客戶/服務器結構之外,又發(fā)展出一種新的系統(tǒng)架構,即瀏覽器/服務器(brow

40、ser/server,簡稱b/s)結構的數據庫系統(tǒng),其最主要的特點是客戶機無需安裝特定的客戶端軟件,只需要瀏覽器就可以。所以,這種客戶端被稱為“瘦客戶機”或“瘦客戶端”。b/s結構的數據庫系統(tǒng)的邏輯結構如圖1-11所示,由客戶機、web服務器、數據庫服務器三層構成。在這種結構中,用戶開發(fā)的系統(tǒng)分成兩部分,一部分是數據庫,部署在數據庫服務器上,另一部分是web服務器端程序(其形式可能是asp頁、jsp頁、php頁、aspx頁等)或靜態(tài)html頁,部署在web服務器上,置于web服務器軟件的管理之下。web服務器(實際是web服務器軟件)的作用是接受客戶端(這里是瀏覽器)的http請求,調用web

41、服務器端程序,這些程序可能會向數據庫服務器發(fā)出數據請求,獲得數據后,可能執(zhí)行一些業(yè)務邏輯,然后將數據以一定的格式動態(tài)生成一個html格式的頁面(這就是用戶界面)返回web服務器軟件,web服務器軟件再將該頁面返回給客戶端瀏覽器,供用戶查看(當然,如果瀏覽器客戶端只是請求一個靜態(tài)html頁,web服務器就簡單找到該頁返回給瀏覽器,而無需和數據庫服務器交互)。圖1-11 瀏覽器/服務器結構的數據庫系統(tǒng)瀏覽器/服務器結構優(yōu)點是:系統(tǒng)都安裝在各種服務器上,客戶端是零部署,無需安裝客戶端軟件,系統(tǒng)升級更新也都發(fā)生在服務器端,因此,系統(tǒng)安裝、升級和維護都集中發(fā)生在服務器端,非常方便。瀏覽器/服務器結構缺點

42、是:首先,其用戶界面的響應速度通常不如c/s架構的系統(tǒng),因為應用程序的大部分邏輯和狀態(tài)位于服務器上,所以瘦客戶端會頻繁地向服務器發(fā)送處理請求,然后必須等待響應到達,用戶才能繼續(xù)使用該應用程序,這使得應用程序的響應速度通常要比胖客戶端應用程序(c/s架構)慢,因此,b/s架構不太適合用戶交互很多的情況,不適合需要頻繁輸入大量數據的情況,也不適合需要在多個窗口頻繁導航的情況。其次,b/s架構難以實現一些常用的應用程序功能如拖放、撤消-重復以及上下文相關幫助等,而c/s架構則很容易實現這些功能。 (注:在一些高級應用中,還發(fā)展出了多層客戶/服務器結構或多層瀏覽器服務器結構,即在原有結構中,增加了一個

43、應用服務器層,該層集中實現業(yè)務邏輯,這樣,整個系統(tǒng)負載更加均衡、業(yè)務邏輯維護更加方便,讀者可以參考相關材料以了解進一步信息。)5分布式結構的數據庫系統(tǒng)分布式結構的數據庫系統(tǒng)指數據庫中的數據在邏輯上是一個整體,但物理上分布在計算機網絡的不同結點上。這些結點既可以獨立處理本地數據庫中的數據,執(zhí)行局部應用,也可以同時存取和處理多個異地數據庫中的數據,執(zhí)行全局應用,如圖1-12所示。分布式結構的數據庫系統(tǒng)是計算機網絡發(fā)展的必然產物,它適應了地理上分散的公司、團體和組織對于數據庫應用的需求。分布式結構的數據庫系統(tǒng)中數據分布對用戶是透明的,用戶面對的是一個邏輯上完整的數據庫。分布式結構數據庫系統(tǒng)的優(yōu)點:能

44、夠簡化用戶共享和使用遠程數據資源(因為用戶無需考慮數據的具體地理位置,而只需操作一個邏輯數據庫)。分布式結構數據庫系統(tǒng)的缺點是:分布式結構數據庫系統(tǒng)技術實現復雜,對分布存放的數據進行數據處理、管理與維護非常困難,因此實際應用較少。當用戶需要經常訪問遠程數據時,系統(tǒng)效率會明顯地受到網絡交通的制約。db1服務器客戶機(微機)db2db3一個邏輯db服務器服務器客戶機(微機)圖1-12 分布式結構的數據庫系統(tǒng)第四節(jié) 數據庫設計概述 數據庫是現代企業(yè)信息系統(tǒng)的基礎和核心組成部件,數據庫設計的好壞直接關系到企業(yè)信息系統(tǒng)的質量,關系到系統(tǒng)能否滿足企業(yè)信息處理需求??茖W、合理地設計數據庫,能夠降低數據冗余、

45、提高數據處理效率、保證數據庫結構的相對穩(wěn)定性,滿足企業(yè)不斷變化的信息需求。而設計不良的數據庫會出現不必要的數據冗余、降低數據處理效率、數據庫結構不夠靈活穩(wěn)定,當企業(yè)信息需求發(fā)生變化時,往往需要對數據庫結構做大的變化,導致巨大的修改費用。因此,在開發(fā)企業(yè)信息系統(tǒng)時,必須對系統(tǒng)的數據庫設計給予足夠的重視,按照科學、規(guī)范的方法執(zhí)行數據庫設計任務。一、數據庫設計的任務數據庫設計的任務是對于一個給定的應用環(huán)境,構造最優(yōu)的數據庫模式,建立數據庫及其應用系統(tǒng)(在數據庫領域內,常常把使用數據庫的各類系統(tǒng)統(tǒng)稱為數據庫應用系統(tǒng)),使之能夠有效地存儲數據,滿足各種用戶的應用需求(信息需求和處理需求)。具體到關系數據

46、庫來說,數據庫設計任務的核心就是要設計出系統(tǒng)所需數據庫表結構、表間聯(lián)系等內容。二、數據庫設計的特點大型數據庫的設計和開發(fā)是一項龐大的工程,工作量大而且比較復雜,它既是一項數據庫工程也是一項軟件工程。數據庫設計的很多階段都可以和軟件工程的各階段對應起來, 軟件工程的某些方法和工具同樣也適合于數據庫工程。但數據庫設計有它自己的特點。1數據庫設計者與應用部門人員的結合數據庫設計涉及多學科的綜合性技術,包含了計算機專業(yè)知識和業(yè)務系統(tǒng)的專業(yè)知識, 同時還要解決技術及非技術兩方面的問題。非技術問題包括組織機構的調整,經營方針的改變,管理體制的變更等等。這就要求數據庫設計者一方面需要具備計算機專業(yè)知識,另一

47、方面還要熟悉業(yè)務系統(tǒng)的專業(yè)知識。這對數據庫設計者來說是相當困難的,有時甚至無法完成。因此,對于大型數據庫的設計,必須有業(yè)務人員的密切配合,尤其是要有應用部門領導的支持,才能成功完成數據庫的設計任務。2. 數據庫結構設計與行為設計的結合現實世界要處理的對象數據分析物理數據庫設計概念模型設計邏輯模型設計加載數據庫功能分析功能模型功能說明事務設計程序設計調試運行圖1-13 結構設計和行為設計分離進行的模型數據庫系統(tǒng)的設計包括結構設計與行為設計兩方面。結構設計是指數據庫的模式結構設計,包括概念結構、邏輯結構和物理結構設計。行為設計是指應用程序設計,包括功能組織、流程控制等方面的設計。在傳統(tǒng)的軟件工程設

48、計中,比較注重處理過程的設計, 不太注重數據結構的設計。在早期的數據庫設計中注重結構特性的設計而忽略了行為設計。應在數據庫的整個設計過程中把結構設計與行為設計密切結合起來。圖1-13表示了結構設計和行為設計分離進行的模型。三、數據庫設計的方法概述為了使數據庫設計更科學、更有效,學者們通過努力探索,提出了各種數據庫設計方法,這些方法運用工程化的思想,提出了各自的設計準則和過程,在數據庫設計領域,產生了廣泛的影響。比較有影響的數據庫設計方法有:基于3nf(第三范式:third normal form)的數據庫設計方法、新奧爾良(new orleans)設計方法、基于e-r(entity-relat

49、ionship)模型的數據庫設計方法等。1. 基于3nf的數據庫設計方法基于3nf的數據庫設計方法是由satre提出的結構化設計方法。設計過程劃分為以下幾個階段:(1)設計企業(yè)模式。主要包括以下內容: 研究應用環(huán)境,收集應用環(huán)境中所使用的各種資料。 明確每一種報表里各自包含的數據元素。 明確數據元素之間的關系(如確定主碼數據元素和普通數據元素)。 對每一組數據元素推導出第三范式關系。 基于得到的第三范式關系畫出數據庫企業(yè)模式。(2)設計數據庫的邏輯模式。根據上面得到的企業(yè)模式,選用某種數據模型(關系模型、層次模型、網狀模型),得出適應某個dbms的邏輯模式;根據邏輯模式導出各種報表與事務處理所

50、使用的外模式。(3)設計數據庫的物理模式。即根據邏輯模式設計物理模式。 (4)對物理模式進行評價。主要包括以下內容: 對物理模式進行空間估算,并推算輸入輸出的概率。 根據上述物理模式導出(重畫或調整)各種報表與事務處理的外模式。 對外模式進行時間估算。2. 新奧爾良設計方法 新奧爾良設計方法是由30多個歐美國家的數據庫專家在美國新奧爾良市專門開會討論數據庫設計問題時提出的,到會者比較一致地認為數據庫設計生命期包括下面四個階段:(1)機構需求分析(分析用戶需求)。收集來自用戶和不同級別管理者的有關設計數據庫的信息或元數據(metadata),取得機構限制和目標方面的資料、信息需求與處理需求。(2

51、)信息分析和定義(建立概念模型)。根據第一階段取得的機構需求資料,用一般模型表示信息需求與處理需求,分析和綜合使用者的視圖,推導出一個折中的企業(yè)視圖,并用高級概念模式(與dbms無關)加以定義。(3)設計實現(邏輯設計)。選擇一種最適宜的dbms,將一般數據模型與處理模型作為輸入,構造出dbms能接受的模式(邏輯模式)、子模式和程序。實現數據庫設計時,要認真考慮完整性、一致性、可恢復性、安全性等問題,選擇一種最適合的折中方法。 (4)物理數據庫設計(物理設計)。主要包括以下內容: 確定存儲結構; 選擇查找算法; 查詢的優(yōu)化處理; 系統(tǒng)實現方法(自由空間、存儲管理、設備分配、安全性及完整性等)。

52、3. 基于e-r模型的數據庫設計方法 e-r方法的基本思想是:首先設計一個企業(yè)模式,它是現實世界的反映,而與存儲組織、存取方法、效率無關。然后再將企業(yè)模式變換為某個dbms上的數據模式。e-r方法的基本步驟是: 確定實體類型; 確定聯(lián)系類型; 畫出e-r圖; 確定屬性; 將e-r圖轉換成某個dbms可接受的邏輯數據模型; 設計記錄格式。 歷史上,人們曾經大量通過手工方式執(zhí)行上述設計方法,如手工畫e-r圖,當系統(tǒng)很大時,手工設計效率很低。隨著計算機軟硬件技術的發(fā)展,人們開發(fā)了各種計算機輔助軟件工程(case:computer aided software engineering)工具,利用這些c

53、ase工具能夠大大提高數據庫設計效率,比較著名的數據設計case工具有:erwin,powerdesigner等。四、數據庫設計的基本步驟數據庫設計的過程和基本步驟可以劃分為六個階段,即需求分析階段、概念結構設計階段、邏輯結構設計階段、物理結構設計階段、數據庫實施階段、數據庫運行和維護階段。各個階段的關系和主要活動如圖1-14所示。1. 需求分析階段需求分析階段的主要任務是準確了解與分析用戶需求(包括數據需求與處理需求),弄清系統(tǒng)要達到的目標和實現的功能,需求分析的結果要按照一定格式形成需求說明書,供后續(xù)階段使用。需求分析是整個數據庫設計的基礎,如果不能正確理解和獲取用戶需求,是不可能設計出滿

54、足用戶需求的數據庫結構的。了解與分析用戶需求的主要手段是詳細調查現實世界要處理的對象,在了解現行系統(tǒng)的概況、確定新系統(tǒng)功能的過程中,收集支持系統(tǒng)目標的基礎數據及其處理方法。進行用戶調查的重點是“數據”和“處理”。需求調查的內容主要包括系統(tǒng)的業(yè)務現狀、信息源流以及外部要求。調查的方法主要有檢查用戶文檔、面談、觀察業(yè)務的運行、問卷調查等。通過調查,要從用戶那里獲得對數據庫的下列要求: 信息需求。信息需求指用戶需要從數據庫中獲得信息的內容與性質。即了解要在數據庫中存儲哪些數據以及數據之間的聯(lián)系等。 處理需求。處理需求指用戶需要系統(tǒng)完成哪些處理功能,對處理的執(zhí)行頻率、響應時間以及處理的方式(比如是聯(lián)機

55、處理還是批處理),有哪些要求等等。 安全性與完整性要求。安全性要求描述了系統(tǒng)中不同用戶使用和操作數據庫的情況 , 完整性要求描述了數據之間的關聯(lián)以及數據的取值范圍要求。需求分析階段使用的主要分析工具包括數據流圖、數據字典等,其具體分析方法可以參考軟件工程方面的教材。2. 概念結構設計階段概念結構設計是整個數據庫設計的關鍵,通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體dbms的概念模型。通常,采用實體聯(lián)系圖(entity relationship diagram,簡稱e-r圖)表達概念模型(詳見第二章)。概念模型是獨立于dbms的,這樣可以讓設計人員集中精力建立概念模型,而不必考慮具體

56、的dbms的物理特性,降低設計負擔。由于概念模型不含dbms的物理特性,所以也比較易于為用戶所理解,使之成為數據庫設計人員和用戶交流的好工具。需求分析概念結構設計邏輯結構設計物理結構設計數據庫實施數據庫運行、維護不滿意需求收集和分析設計概念結構設計邏輯結構數據模型優(yōu)化設計物理結構評價設計,性能預測物理實現試驗性運行使用、維護數據庫不滿意應用需求(數據需求、處理需求) 轉換規(guī)則、dbms要求和優(yōu)化方法應用要求,dbms詳細特征和限制不滿意圖1-14 各個階段的關系和主要活動3. 邏輯結構設計階段邏輯結構設計是將概念結構轉換為某個dbms所支持的邏輯數據模型,如關系數據模型,并對其進行優(yōu)化,形成數據庫邏輯模式(詳見第三章)。然后根據用戶處理的要求,安全性的考慮,在基本表的基礎上再建立必要的視圖(view)形成數據

溫馨提示

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

評論

0/150

提交評論