版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第一章 數(shù)據(jù)庫系統(tǒng)概論 本章目目的在于使讀讀者對數(shù)據(jù)庫庫系統(tǒng)的基本本知識能有一一個較為全面面的了解,為為今后的學(xué)習(xí)習(xí)和工作打下下基礎(chǔ)。本章章重點(diǎn)介紹了了有關(guān)數(shù)據(jù)庫庫結(jié)構(gòu)和數(shù)據(jù)據(jù)庫系統(tǒng)組織織的基本知識識和基本概念念,以及常見見的三種類型型的數(shù)據(jù)庫系系統(tǒng)的特點(diǎn)。重重點(diǎn)介紹關(guān)系系數(shù)據(jù)庫的有有關(guān)知識。1.1 數(shù)據(jù)據(jù)管理技術(shù)發(fā)發(fā)展史 隨著生生產(chǎn)力的不斷斷發(fā)展,社會會的不斷進(jìn)步步,人類對信信息的依賴程程度也在不斷斷地增加。數(shù)數(shù)據(jù)作為表達(dá)達(dá)信息的一種種量化符號,正正在成為人們們處理信息時時重要的操作作對象。所謂謂數(shù)據(jù)處理就就是對數(shù)據(jù)的的收集、整理理、存儲、分分類、排序、檢檢索、維護(hù)、加加工、統(tǒng)計(jì)和和傳輸?shù)纫?/p>
2、系系列工作全部部過程的概述述。數(shù)據(jù)處理理的目的就是是使我們能夠夠從浩瀚的信信息數(shù)據(jù)海洋洋中,提取出出有用的數(shù)據(jù)據(jù)信息,作為為我們工作、生生活等各方面面的決策依據(jù)據(jù)。數(shù)據(jù)管理理則是指對數(shù)數(shù)據(jù)的組織、編編碼、分類、存存儲、檢索和和維護(hù),它是是數(shù)據(jù)處理的的一個重要內(nèi)內(nèi)容中心。數(shù)數(shù)據(jù)處理工作作由來以久,早早在18800年美國進(jìn)行行人口普查統(tǒng)統(tǒng)計(jì)時,就已已采用穿孔卡卡片來存儲人人口普查數(shù)據(jù)據(jù),并采用機(jī)機(jī)械設(shè)備來完完成對這些普普查數(shù)據(jù)所進(jìn)進(jìn)行的處理工工作。電子計(jì)計(jì)算機(jī)的出現(xiàn)現(xiàn)以及其后其其硬件、軟件件的迅速發(fā)展展,加之?dāng)?shù)據(jù)據(jù)庫理論和技技術(shù)的發(fā)展,為為數(shù)據(jù)管理進(jìn)進(jìn)入一個革命命性階段提供供有力的支持持。根據(jù)數(shù)據(jù)
3、據(jù)和應(yīng)用程序序相互依賴關(guān)關(guān)系、數(shù)據(jù)共共享以及數(shù)據(jù)據(jù)的操作方式式,數(shù)據(jù)管理理的發(fā)展可以以分為三個具具有代表性的的階段,即人人工管理階段段、文件管理理階段和數(shù)據(jù)據(jù)庫管理階段段。【1】人工管理理階段 這一階階段發(fā)生于六六十年代以前前,由于當(dāng)時時計(jì)算機(jī)硬件件和軟件發(fā)展展才剛剛起步步,數(shù)據(jù)管理理中全部工作作,都必須要要由應(yīng)用程序序員自己設(shè)計(jì)計(jì)程序完成去去完成。由于于需要與計(jì)算算機(jī)硬件以及及各外部存儲儲設(shè)備和輸入入輸出設(shè)備直直接打交道,程程序員們常常常需要編制大大量重復(fù)的數(shù)數(shù)據(jù)管理基本本程序。數(shù)據(jù)據(jù)的邏輯組織織與它的物理理組織基本上上是相同的,因因此當(dāng)數(shù)據(jù)的的邏輯組織、物物理組織或存存儲設(shè)備發(fā)生生變化時,
4、進(jìn)進(jìn)行數(shù)據(jù)管理理工作的許多多應(yīng)用程序就就必須要進(jìn)行行重新編制。這這樣就給數(shù)據(jù)據(jù)管理的維護(hù)護(hù)工作帶來許許多困難。并并且由于一組組數(shù)據(jù)常常只只對應(yīng)于一種種應(yīng)用程序,因因此很難實(shí)現(xiàn)現(xiàn)多個不同應(yīng)應(yīng)用程序間的的數(shù)據(jù)資源共共享。存在著著大量重復(fù)數(shù)數(shù)據(jù),信息資資源浪費(fèi)嚴(yán)重重。【2】文件管理理階段 這一階階段發(fā)生于六六十年代,由由于當(dāng)時計(jì)算算機(jī)硬件的發(fā)發(fā)展,以及系系統(tǒng)軟件尤其其是文件系統(tǒng)統(tǒng)的出現(xiàn)和發(fā)發(fā)展,人們開開始利用文件件系統(tǒng)來幫助助完成數(shù)據(jù)管管理工作,具具體講就是:數(shù)據(jù)以多種種組織結(jié)構(gòu)(如如順序文件組組織、索引文文件文件組織織和直接存取取文件組織等等)的文件形形式保存在外外部存儲設(shè)備備上,用戶通通過文件系
5、統(tǒng)統(tǒng)而無需直接接與外部設(shè)備備打交道,以以此來完成數(shù)數(shù)據(jù)的修改、插插入、刪除、檢檢索等管理操操作;使用這這種管理方式式,不僅減輕輕進(jìn)行數(shù)據(jù)管管理的應(yīng)用程程序工作量,更更重要地是,當(dāng)當(dāng)數(shù)據(jù)的物理理組織或存儲儲設(shè)備發(fā)生變變化時,數(shù)據(jù)據(jù)的邏輯組織織可以不受任任何影響,從從而保證了基基于數(shù)據(jù)邏輯輯組織所編制制的應(yīng)用程序序也可以不受受硬件設(shè)備變變化的影響。這這樣就使得程程序和數(shù)據(jù)之之間具有了一一定的相互獨(dú)獨(dú)立性。 但由于于數(shù)據(jù)文件的的邏輯結(jié)構(gòu)完完全是根據(jù)應(yīng)應(yīng)用程序的具具體要求而設(shè)設(shè)計(jì),它的管管理與維護(hù)完完全是由應(yīng)用用程序本身來來完成,因此此數(shù)據(jù)文件的的邏輯結(jié)構(gòu)與與應(yīng)用程序密密切相關(guān),當(dāng)當(dāng)數(shù)據(jù)的邏輯輯結(jié)構(gòu)需
6、要修修改時,應(yīng)用用程序也就不不可避免地需需要進(jìn)行修改改;同樣當(dāng)應(yīng)應(yīng)用程序需要要進(jìn)行變動時時,常常又會會要求數(shù)據(jù)的的邏輯結(jié)構(gòu)進(jìn)進(jìn)行相應(yīng)的變變動。在這種種情況下,數(shù)數(shù)據(jù)管理中的的維護(hù)工作量量也是較大的的。更主要的的是由于采用用文件的形式式來進(jìn)行數(shù)據(jù)據(jù)管理工作,常常常需要將一一個完整的、相相互關(guān)聯(lián)的數(shù)數(shù)據(jù)集合,人人為地分割成成若干相互獨(dú)獨(dú)立的文件,以以便通過基于于文件系統(tǒng)的的編程來實(shí)現(xiàn)現(xiàn)來對它們的的管理操作。這這樣做同樣會會導(dǎo)致數(shù)據(jù)的的過多冗余和和增加數(shù)據(jù)維維護(hù)工作的復(fù)復(fù)雜性。例如如人事部門、教教務(wù)部門和醫(yī)醫(yī)務(wù)部門對學(xué)學(xué)生數(shù)據(jù)信息息的管理,這這三個部門中中有許多數(shù)據(jù)據(jù)是相同的,如如姓名、年齡齡、性別
7、等,由由于是各部門門均是根據(jù)自自己的要求,建建立各自的數(shù)數(shù)據(jù)文件和應(yīng)應(yīng)用程序,這這樣不僅造成成了大量的相相同數(shù)據(jù)重復(fù)復(fù)存儲,而且且在修改時,常常常需要同時時修改三個文文件中的數(shù)據(jù)據(jù)項(xiàng),如修改改學(xué)生年齡,此此外若需要增增加一個描述述學(xué)生的數(shù)據(jù)據(jù)項(xiàng),如通訊訊地址,那么么所有的應(yīng)用用程序就必須須都要進(jìn)行相相應(yīng)的修改。除除此之外,采采用文件系統(tǒng)統(tǒng)來幫助進(jìn)行行數(shù)據(jù)管理工工作,在數(shù)據(jù)據(jù)的安全和保保密等方面,也也難以采取有有效的措施加加以控制?!?】數(shù)據(jù)庫管管理階段 1在不不斷改進(jìn)和完完善文件系統(tǒng)統(tǒng)的過程中,從從六十年代后后期開始,人人們逐步研究究和發(fā)展了以以數(shù)據(jù)的統(tǒng)一一管理和數(shù)據(jù)據(jù)共享為主要要特征的數(shù)據(jù)據(jù)
8、庫系統(tǒng)。即即在數(shù)據(jù)在統(tǒng)統(tǒng)一控制之下下,為盡可能能多的應(yīng)用和和用戶服務(wù),數(shù)數(shù)據(jù)庫中的數(shù)數(shù)據(jù)組織結(jié)構(gòu)構(gòu)與數(shù)據(jù)庫的的應(yīng)用程序相相互間有較大大的相對獨(dú)立立性等。與以以往前數(shù)據(jù)管管理方法和技技術(shù)相比,利利用數(shù)據(jù)庫系系統(tǒng)來進(jìn)行數(shù)數(shù)據(jù)管理工作作具有以下三三個顯著特點(diǎn)點(diǎn):(1)從整體角角度組織數(shù)據(jù)據(jù) 數(shù)據(jù)庫庫系統(tǒng)與文件件系統(tǒng)的最大大差別就在于于前者在描述述數(shù)據(jù)時,不不僅僅是對數(shù)數(shù)據(jù)本身進(jìn)行行描述,而且且對數(shù)據(jù)之間間的相互聯(lián)系系也進(jìn)行了描描述。因此在在組織數(shù)據(jù)時時是從一個相相對較高的整整體角度進(jìn)行行的,而不是是僅僅局限于于個別的數(shù)據(jù)據(jù)管理應(yīng)用場場合。如前面面提到的人事事部門、教務(wù)務(wù)部門和醫(yī)務(wù)務(wù)部門對學(xué)生生數(shù)據(jù)的
9、管理理工作,在利利用數(shù)據(jù)庫系系統(tǒng)來進(jìn)行管管理時,若從從整體考慮,其其數(shù)據(jù)的組織織結(jié)構(gòu)如圖11.1所示。EMBED MSDraw * mergeformat圖1.1 學(xué)生生信息數(shù)據(jù)組組織結(jié)構(gòu) 采用這這種數(shù)據(jù)組織織不僅可以有有效地解決了了文件系統(tǒng)的的數(shù)據(jù)組織中中所存在的數(shù)數(shù)據(jù)冗余以及及數(shù)據(jù)一致性性維護(hù)的問題題。更主要的的是它可以使使人們從更高高的全局角度度出發(fā),合理理地組織數(shù)據(jù)據(jù),從而有利利于更大范圍圍內(nèi)的數(shù)據(jù)資資源的共享,提提高信息的使使用效率。(2)數(shù)據(jù)可為為多個應(yīng)用服服務(wù) 正因?yàn)闉閿?shù)據(jù)庫中的的數(shù)據(jù)是從整整體角度進(jìn)行行組織的,因因此,數(shù)據(jù)庫庫中所存儲的的數(shù)據(jù)往往就就不僅局限于于只為一二個個應(yīng)用
10、提供服服務(wù),而是在在更大范圍內(nèi)內(nèi)為僅可能多多的應(yīng)用提供供服務(wù),如圖圖1.1所示的的一個數(shù)據(jù)庫庫中所存儲的的數(shù)據(jù),就至至少可以為三三個部門的應(yīng)應(yīng)用提供服務(wù)務(wù)。而實(shí)際上上如圖1.11所示的數(shù)據(jù)據(jù)組織結(jié)構(gòu)僅僅僅只是一個個學(xué)校數(shù)據(jù)管管理數(shù)據(jù)庫中中的一小部分分。與此同時時由于數(shù)據(jù)庫庫系統(tǒng)是以多多級(層)組組織模式對數(shù)數(shù)據(jù)進(jìn)行組織織的,各級(層層)模式之間間的映射是由由數(shù)據(jù)庫系統(tǒng)統(tǒng)自己完成的的,這就使得得數(shù)據(jù)與程序序之間可以具具有較高的物物理和邏輯相相對獨(dú)立性。正正是這一點(diǎn),給給數(shù)據(jù)庫中的的數(shù)據(jù)為多個個應(yīng)用提供服服務(wù)奠定了基基礎(chǔ)。事實(shí)上上數(shù)據(jù)庫的規(guī)規(guī)模越大,所所能夠提供的的應(yīng)用服務(wù)就就可以越多,也也就越能
11、體現(xiàn)現(xiàn)出數(shù)據(jù)庫在在數(shù)據(jù)管理中中的優(yōu)勢。當(dāng)當(dāng)然這只是相相對而言,隨隨著數(shù)據(jù)庫中中數(shù)據(jù)規(guī)模的的擴(kuò)大,數(shù)據(jù)據(jù)庫應(yīng)用系統(tǒng)統(tǒng)的制作和維維護(hù)的工作也也在迅速增加加。(3)有一個數(shù)數(shù)據(jù)庫系統(tǒng)的的管理軟件 任何數(shù)數(shù)據(jù)庫系統(tǒng)都都包含一個管管理軟件,即即數(shù)據(jù)庫系統(tǒng)統(tǒng)的管理軟件件,通常又稱稱為數(shù)據(jù)庫管管理系統(tǒng),它它負(fù)責(zé)統(tǒng)一管管理數(shù)據(jù)庫系系統(tǒng)中所有數(shù)數(shù)據(jù)資源,是是數(shù)據(jù)庫系統(tǒng)統(tǒng)與用戶應(yīng)用用之間的接口口,通過它,用用戶可以不必必要了解過多多的計(jì)算機(jī)硬硬件、軟件和和數(shù)據(jù)庫本身身許多專業(yè)知知識,更不用用去了解數(shù)據(jù)據(jù)庫系統(tǒng)是如如何完成數(shù)據(jù)據(jù)管理工作的的具體細(xì)節(jié),如如文件如何打打開、關(guān)閉、讀讀、寫等等,就就可以通過編編寫一些較為
12、為簡單數(shù)據(jù)庫庫應(yīng)用程序,很很方便地完成成在較高級別別邏輯組織基基礎(chǔ)上的數(shù)據(jù)據(jù)管理工作。除除此之外,數(shù)數(shù)據(jù)庫管理系系統(tǒng)還負(fù)責(zé)完完成在對數(shù)據(jù)據(jù)庫進(jìn)行并發(fā)發(fā)訪問時,保保證數(shù)據(jù)一致致性的并發(fā)控控制工作;保保證數(shù)據(jù)安全全性的訪問控控制工作;以以及在數(shù)據(jù)庫庫系統(tǒng)出現(xiàn)故故障時,提供供保證數(shù)據(jù)一一致性和完整整性的恢復(fù)機(jī)機(jī)制等諸多數(shù)數(shù)據(jù)庫系統(tǒng)本本身的各種管管理控制工作作。因此這里里也可以看出出,數(shù)據(jù)庫管管理系統(tǒng)功能能的強(qiáng)弱及其其各項(xiàng)性能指指標(biāo)的好壞,是是衡量數(shù)據(jù)庫庫系統(tǒng)質(zhì)量的的一個極其重重要的因素。 利用數(shù)數(shù)據(jù)庫系統(tǒng)進(jìn)進(jìn)行數(shù)據(jù)管理理工作,不僅僅可以保證數(shù)數(shù)據(jù)的物理組組織結(jié)構(gòu)和存存儲設(shè)備與數(shù)數(shù)據(jù)庫應(yīng)用程程序之間保
13、持持相互獨(dú)立性性;同時也可可以保證數(shù)據(jù)據(jù)的邏輯組織織結(jié)構(gòu)與數(shù)據(jù)據(jù)庫應(yīng)用程序序之間保持最最大可能的相相互獨(dú)立性,即即當(dāng)數(shù)據(jù)的邏邏輯組織結(jié)構(gòu)構(gòu)發(fā)生變化時時,數(shù)據(jù)庫應(yīng)應(yīng)用程序的變變動被限制在在最小的范圍圍內(nèi)。由此可可大大地減少少數(shù)據(jù)庫應(yīng)用用程序的開發(fā)發(fā)與維護(hù)的工工作量。 在數(shù)據(jù)據(jù)庫管理階段段,根據(jù)數(shù)據(jù)據(jù)庫系統(tǒng)本身身所支持的數(shù)數(shù)據(jù)模型的特特點(diǎn)及所采用用的相應(yīng)數(shù)據(jù)據(jù)庫系統(tǒng)技術(shù)術(shù),可以認(rèn)為為數(shù)據(jù)庫管理理到目前為止止已發(fā)展經(jīng)歷歷了三代,即即層次網(wǎng)狀模模型代、關(guān)系系模型代和面面向?qū)ο竽P托痛?(1)層層次網(wǎng)狀模型型代:流行于六十十至七十年代代,在這一代代中的數(shù)據(jù)庫庫系統(tǒng)所支持持的數(shù)據(jù)模型型均是層次模模型或網(wǎng)
14、狀模模型。世界上上第一個數(shù)據(jù)據(jù)庫系統(tǒng)是于于1964年由由美國通用電電氣公司開發(fā)發(fā)成功的IDDS(Integgratedd Dataa Storre),它就就是基于網(wǎng)狀狀模型的數(shù)據(jù)據(jù)庫系統(tǒng)。IIBM公司于于六十年代末末推出了第一一個商品化的的層次數(shù)據(jù)庫庫系統(tǒng)IMSS(Inforrmatioon Mannagemeent Syytem),它們的出現(xiàn)現(xiàn)與應(yīng)用為數(shù)數(shù)據(jù)庫技術(shù)的的發(fā)展奠定了了基礎(chǔ)。 (2)關(guān)關(guān)系模型代:流行于七十十至八十年代代,在這一代代中的數(shù)據(jù)庫庫系統(tǒng)所支持持的數(shù)據(jù)的數(shù)數(shù)據(jù)模型均是是關(guān)系模型。以以關(guān)系(表)形形式組織數(shù)據(jù)據(jù)。19700年Codd提出出了關(guān)系數(shù)據(jù)據(jù)模型,由于于其具有嚴(yán)格格
15、的數(shù)學(xué)基礎(chǔ)礎(chǔ),抽象級別別較高,且簡簡單清晰,便便于理解應(yīng)用用。到了七十十年代末,出出現(xiàn)了不少關(guān)關(guān)系數(shù)據(jù)庫系系統(tǒng),其中具具有代表性應(yīng)應(yīng)首推IBMM公司推出的的SQL/DDS和DB2兩個商商品化關(guān)系數(shù)數(shù)據(jù)庫系統(tǒng)。進(jìn)進(jìn)行八十年代代以后,關(guān)系系數(shù)據(jù)庫系統(tǒng)統(tǒng)已成為數(shù)據(jù)據(jù)庫系統(tǒng)發(fā)展展的主流,幾幾乎所有新推推出的數(shù)據(jù)庫庫系統(tǒng)產(chǎn)品都都是關(guān)系型的的,它們中不不僅有用于大大型機(jī)和小型型機(jī)數(shù)據(jù)庫產(chǎn)產(chǎn)品,而且有有可用于微機(jī)機(jī)的數(shù)據(jù)庫產(chǎn)產(chǎn)品。市場上上開始出現(xiàn)關(guān)關(guān)系數(shù)據(jù)庫的的系列產(chǎn)品,這這其中發(fā)行量量較大且在我我國用得較多多的有Oraacle、Sybasse、Sysbaase、Inforrmix、FoxPrro等。隨著著
16、微機(jī)和計(jì)算算機(jī)網(wǎng)絡(luò)的廣廣泛普及和應(yīng)應(yīng)用,分布式式數(shù)據(jù)庫系統(tǒng)統(tǒng)在八十年代代后期,開始始得到很大發(fā)發(fā)展。其理論論和技術(shù)日趨趨成熟。目前前幾乎所有分分布式數(shù)據(jù)庫庫系統(tǒng)均是關(guān)關(guān)系型的,而而且?guī)缀跛杏兄饕P(guān)系數(shù)數(shù)據(jù)庫系統(tǒng)均均已被擴(kuò)充為為分布式數(shù)據(jù)據(jù)庫系統(tǒng)。 (3)面面向?qū)ο蟠?開始九十年年代,在這一一代中的數(shù)據(jù)據(jù)庫系統(tǒng)支持持面向?qū)ο蟮牡臄?shù)據(jù)模型。它它是數(shù)據(jù)庫技技術(shù)與面向?qū)ο蟪绦蛟O(shè)計(jì)計(jì)方法相結(jié)合合的產(chǎn)物。作作為新一代數(shù)數(shù)據(jù)庫系統(tǒng),現(xiàn)現(xiàn)在已有了一一些商品化系系統(tǒng)。但其具具體應(yīng)用尚不不多。1.2 數(shù)據(jù)據(jù)庫系統(tǒng) 本節(jié)主主要介紹有關(guān)關(guān)數(shù)據(jù)庫結(jié)構(gòu)構(gòu)和數(shù)據(jù)庫系系統(tǒng)組織的一一些基本知識識和概念,使使讀者對數(shù)據(jù)據(jù)庫系
17、統(tǒng)的內(nèi)內(nèi)涵有一個較較為清楚的認(rèn)認(rèn)識。1.2.1 數(shù)據(jù)庫系統(tǒng)統(tǒng)概念 由于數(shù)數(shù)據(jù)庫系統(tǒng)是是一個由許多多基本概念、技技術(shù)方法和其其應(yīng)用對象所所組成的復(fù)雜雜的有機(jī)整體體。很難用一一兩句話將其其描述清楚。但但為了使讀者者對它有一個個總體的了解解,首先這里里我們試著給給出一個關(guān)于于數(shù)據(jù)庫系統(tǒng)統(tǒng)的定義,即即數(shù)據(jù)庫系統(tǒng)統(tǒng)中的數(shù)據(jù)庫庫是一個已被被規(guī)格化和結(jié)結(jié)構(gòu)化且相互互關(guān)聯(lián)的數(shù)據(jù)據(jù)集合,這些些數(shù)據(jù)中不存存在有害的或或無意義的冗冗余;數(shù)據(jù)的的組織與存儲儲結(jié)構(gòu)與使用用這些數(shù)據(jù)的的程序相互獨(dú)獨(dú)立;數(shù)據(jù)庫庫中的數(shù)據(jù)可可同時為多個個應(yīng)用服務(wù);數(shù)據(jù)庫中的的數(shù)據(jù)定義、輸輸入、修改和和檢索等所有有操作均是按按一種公用的的且可控
18、的方方式進(jìn)行。根根據(jù)這一數(shù)據(jù)據(jù)庫定義以及及實(shí)際應(yīng)用的的具體數(shù)據(jù)庫庫系統(tǒng)的情況況,我們可以以認(rèn)為一個數(shù)數(shù)據(jù)庫系統(tǒng)實(shí)實(shí)際上是由三三部分內(nèi)容組組成,它們是是數(shù)據(jù)庫、多多種應(yīng)用和數(shù)數(shù)據(jù)庫管理系系統(tǒng)。這三部部分之間的相相互關(guān)系如圖圖1.2所示。(1)數(shù)據(jù)庫:相互關(guān)聯(lián)的的且具有最小小冗余的數(shù)據(jù)據(jù)在其中按照照一定物理組組織結(jié)構(gòu)存放放,并且從用用戶和數(shù)據(jù)庫庫管理系統(tǒng)角角度來看,這這些數(shù)據(jù)又是是按一定邏輯輯結(jié)構(gòu)組織的的。這種物理理組織結(jié)構(gòu)和和邏輯組織結(jié)結(jié)構(gòu)在最大程程度上與用戶戶所編制的應(yīng)應(yīng)用程序相互互獨(dú)立。(2)多種應(yīng)用用:數(shù)據(jù)庫中中的數(shù)據(jù),在在數(shù)據(jù)庫管理理系統(tǒng)的控制制與管理之下下,可以同時時為多種不同同內(nèi)容的
19、應(yīng)用用提供服務(wù),即即可以為多個個不同目的用用戶服務(wù),各各用戶所操作作使用的數(shù)據(jù)據(jù)可以是相互互交叉的。用用戶的操作方方式既可以按按以數(shù)據(jù)輸入入/輸出和數(shù)據(jù)據(jù)維護(hù)為主的的數(shù)據(jù)流量較較大的批處理理方式進(jìn)行;也可以按以以查詢?yōu)橹鞯牡臄?shù)據(jù)流量較較小的聯(lián)機(jī)處處理方式進(jìn)行行,必要時還還可以通過編編程來完成對對數(shù)據(jù)庫中數(shù)數(shù)據(jù)的各種操操作。(3)數(shù)據(jù)庫管管理系統(tǒng):它它一方面負(fù)責(zé)責(zé)對數(shù)據(jù)庫中中的數(shù)據(jù)進(jìn)行行管理和維護(hù)護(hù);一方面為為用戶操作數(shù)數(shù)據(jù)庫中的數(shù)數(shù)據(jù)提供一種種公用的操作作方法,接收收用戶的操作作命令,幫助助完成有關(guān)的的對數(shù)據(jù)庫的的操作并保障障數(shù)據(jù)庫的安安全。 根據(jù)對對數(shù)據(jù)庫的定定義以及數(shù)據(jù)據(jù)庫系統(tǒng)基本本組成及
20、作用用的描述,我我們認(rèn)為一個個的數(shù)據(jù)庫系系統(tǒng)應(yīng)該具有有的以下五個個基本特點(diǎn):【1】由于數(shù)據(jù)據(jù)庫系統(tǒng)是從從整體角度考考慮數(shù)據(jù)的組組織,因此它它必須有能力力描述能夠反反映客觀事物物及其相互聯(lián)聯(lián)系的復(fù)雜數(shù)數(shù)據(jù)模型,使使用它能夠?qū)?shù)據(jù)本身及及相互間的各各種關(guān)系進(jìn)行行充分描述,這這也是人們?yōu)闉槭裁匆捎糜脭?shù)據(jù)庫系統(tǒng)統(tǒng)來進(jìn)行數(shù)據(jù)據(jù)管理的主要要原因之一。目目前數(shù)據(jù)庫系系統(tǒng)共提供了了四種數(shù)據(jù)模模型,它們是是層次數(shù)據(jù)模模型、網(wǎng)狀數(shù)數(shù)據(jù)模型、關(guān)關(guān)系數(shù)據(jù)模型型和對象數(shù)據(jù)據(jù)模型,一種種類型數(shù)據(jù)庫庫系統(tǒng)通常只只提供上述其其中一種數(shù)據(jù)據(jù)模型描述方方法,即只支支持其中一種種數(shù)據(jù)模型的的數(shù)據(jù)邏輯組組織結(jié)構(gòu)。圖1.2 數(shù)據(jù)據(jù)
21、庫系統(tǒng)組成成【2】數(shù)據(jù)庫中中數(shù)據(jù)的獨(dú)立立性。為了說說明這一點(diǎn),首首先我們介紹紹兩個概念,(1)數(shù)據(jù)在物理存儲設(shè)備上的組織結(jié)構(gòu)被稱為數(shù)據(jù)的物理組織;(2)數(shù)據(jù)在用戶或應(yīng)用程序面前所表現(xiàn)出的組織結(jié)構(gòu)被稱為數(shù)據(jù)的邏輯組織;一種數(shù)據(jù)的邏輯組織,可以采用不同的物理組織來實(shí)現(xiàn),物理組織的好壞影響著系統(tǒng)的性能和效率。在運(yùn)行階段中,由于性能的要求或存儲設(shè)備的改變,從而引起數(shù)據(jù)物理組織的改變,這種改變稱為數(shù)據(jù)的再組織。用戶在編制應(yīng)用程序時,則是根據(jù)數(shù)據(jù)的邏輯組織對數(shù)據(jù)進(jìn)行操作的。因此數(shù)據(jù)物理組織的變化,不會影響數(shù)據(jù)的邏輯組織,因而也就不會影響已有的應(yīng)用程序,這種情況就被稱為數(shù)據(jù)的物理獨(dú)立性;而數(shù)據(jù)的邏輯獨(dú)立性是
22、指當(dāng)數(shù)據(jù)的邏輯組織發(fā)生變化時,如數(shù)據(jù)模型中增加了新的記錄類型,某一記錄類型中增加了新的數(shù)據(jù)項(xiàng)等,原有應(yīng)用程序的執(zhí)行不受影響或影響最小。數(shù)據(jù)的獨(dú)立性,包括物理和邏輯的獨(dú)立性,都是由數(shù)據(jù)庫管理系統(tǒng)進(jìn)行維護(hù)的?!?】數(shù)據(jù)共享享,由于數(shù)據(jù)據(jù)庫是從整體體的角度對數(shù)數(shù)據(jù)進(jìn)行組織織的,并在保保證數(shù)據(jù)一致致性的情形之之下,使數(shù)據(jù)據(jù)庫中的數(shù)據(jù)據(jù)為盡可能多多的用戶提供供應(yīng)用服務(wù)。這這些用戶所使使用的數(shù)據(jù)可可以是交叉的的,即數(shù)據(jù)可可以共享。如如果數(shù)據(jù)不能能共享,數(shù)據(jù)據(jù)庫中則必然然會出現(xiàn)大量量的冗余數(shù)據(jù)據(jù),這樣不僅僅造成存儲空空間的浪費(fèi),更更主要的是由由此可能帶來來數(shù)據(jù)不一致致的隱患?!?】數(shù)據(jù)庫系系統(tǒng)的安全可可靠與
23、完整,一一個數(shù)據(jù)庫系系統(tǒng)的可靠性性體現(xiàn)在它的的軟件系統(tǒng)運(yùn)運(yùn)行故障率很很小以及在數(shù)數(shù)據(jù)庫系統(tǒng)由由于各種意外外而出現(xiàn)故障障時,數(shù)據(jù)庫庫中的數(shù)據(jù)的的損失最??;安全性是指指數(shù)據(jù)庫系統(tǒng)統(tǒng)對其所存儲儲的數(shù)據(jù)的保保護(hù)能力,能能夠有效地防防止數(shù)據(jù)有意意無意地泄露露或篡改,控控制數(shù)據(jù)的授授權(quán)訪問等。而而數(shù)據(jù)庫系統(tǒng)統(tǒng)的完整性則則是指在多用用戶操作數(shù)據(jù)據(jù)情況下,數(shù)數(shù)據(jù)能夠保持持一致性。這這些特性可以以從以下幾個個方面進(jìn)行說說明:1安全性控控制 安全性性控制主要指指的是數(shù)據(jù)庫庫的保密性。并并不是每個用用戶都能夠存存取數(shù)據(jù)庫中中所有數(shù)據(jù)的的,負(fù)責(zé)人和和全體工作人人員允許掌握握的數(shù)據(jù)范圍圍顯然是有區(qū)區(qū)別的,數(shù)據(jù)據(jù)庫系統(tǒng)把
24、各各用戶存取數(shù)數(shù)據(jù)的權(quán)利分分成若干等級級,如教學(xué)人人員作為一個個用戶可以登登錄學(xué)生的成成績,而學(xué)生生作為一個用用戶則僅可以以查閱成績而而無法對它進(jìn)進(jìn)行修改或刪刪除。通過對對各個用戶授授于不同的使使用權(quán)限,以以確保數(shù)據(jù)庫庫免遭損害和和被非法使用用,通常是通通過采用口令令密碼以及數(shù)數(shù)據(jù)庫中數(shù)據(jù)據(jù)訪問授權(quán)等等方法對使用用者操作數(shù)據(jù)據(jù)的合法權(quán)進(jìn)進(jìn)行檢驗(yàn),以以實(shí)現(xiàn)對數(shù)據(jù)據(jù)庫中數(shù)據(jù)安安全性的保護(hù)護(hù)控制。2完整性控控制 所謂完完整性包括數(shù)數(shù)據(jù)的正確性性、有效性和和相容性。正正確的數(shù)據(jù)不不一定是有效效的。如若用用兩位阿拉伯伯?dāng)?shù)字來表示示月份,在輸輸入14來代表月月份時顯然是是無效的。數(shù)數(shù)據(jù)庫系統(tǒng)應(yīng)應(yīng)提供盡可能
25、能多的檢驗(yàn)措措施,以確保保數(shù)據(jù)庫中的的數(shù)據(jù)滿足用用戶所要求的的各種約束要要求。3并發(fā)控制制 在多用用戶操作使用用數(shù)據(jù)庫系統(tǒng)統(tǒng)的情況下,不不同用戶并行行地操作數(shù)據(jù)據(jù)庫就可能引引起對數(shù)據(jù)庫庫的干擾,從從而使得數(shù)據(jù)據(jù)庫中的數(shù)據(jù)據(jù)發(fā)生不一致致的問題。如如當(dāng)甲用戶從從數(shù)據(jù)庫中預(yù)預(yù)定了僅剩的的一張機(jī)票之之后,若在數(shù)數(shù)據(jù)庫尚來不不及將剩余的的機(jī)票數(shù)改為為零時,乙用用戶又請求訂訂票時怎么辦辦?顯然對這這種并發(fā)的操操作要采取某某種控制措施施,最常用的的方法是封鎖鎖技術(shù),以排排除和避免這這種錯誤的發(fā)發(fā)生,保證數(shù)數(shù)據(jù)庫中數(shù)據(jù)據(jù)的操作能夠夠正確完成執(zhí)執(zhí)行。4故障的發(fā)發(fā)現(xiàn)與恢復(fù) 由于數(shù)數(shù)據(jù)庫系統(tǒng)在在運(yùn)行過程中中很難保證
26、不不產(chǎn)生故障、出出現(xiàn)意義或受受到破壞,而而且往往這些些情況的發(fā)生生的時間都是是隨機(jī)的,如如斷電、用戶戶誤操作等,而而重建一個數(shù)數(shù)據(jù)庫往往要要花費(fèi)很大的的精力和代價價,有時甚至至是不可能的的,因此數(shù)據(jù)據(jù)庫系統(tǒng)應(yīng)提提供應(yīng)急保護(hù)護(hù)設(shè)施,一旦旦系統(tǒng)的軟硬硬件發(fā)生故障障或用戶誤操操作導(dǎo)致系統(tǒng)統(tǒng)異常時,系系統(tǒng)應(yīng)能夠以以盡量小的代代價,盡快地地恢復(fù)數(shù)據(jù)庫庫的內(nèi)容和系系統(tǒng)的正常運(yùn)運(yùn)行?!?】良好的人人機(jī)接口與性性能,任何數(shù)數(shù)據(jù)庫系統(tǒng)最最終都是要和和用戶打交道道,系統(tǒng)所具具有的各種功功能最終都需需要由用戶來來進(jìn)行操作使使用。簡單易易學(xué)、操作簡簡便和用戶界界面友好是任任何一個數(shù)據(jù)據(jù)庫系統(tǒng)所必必須的。此外外系統(tǒng)的響
27、應(yīng)應(yīng)速度,單位位時間內(nèi)數(shù)據(jù)據(jù)的吞吐量也也是衡量數(shù)據(jù)據(jù)庫性能重要要指標(biāo)。1.2.2 數(shù)據(jù)庫結(jié)構(gòu)構(gòu) 在上一一小節(jié),我們們介紹了數(shù)據(jù)據(jù)庫系統(tǒng)所涉涉及的三個基基本成分以及及數(shù)據(jù)庫系統(tǒng)統(tǒng)所應(yīng)具有的的五個特點(diǎn),在在這一小節(jié)中中,我們將略略為詳盡地介介紹數(shù)據(jù)庫系系統(tǒng)的主要組組成之一,數(shù)數(shù)據(jù)庫的有關(guān)關(guān)知識。在數(shù)數(shù)據(jù)庫技術(shù)中中,為了提高高數(shù)據(jù)庫中數(shù)數(shù)據(jù)的邏輯獨(dú)獨(dú)立性和物理理獨(dú)立性,采采用了分級(層層)方法,將將數(shù)據(jù)庫中數(shù)數(shù)據(jù)的組織結(jié)結(jié)構(gòu)劃分成多多個級(層)。根根據(jù)美國國家家標(biāo)準(zhǔn)協(xié)會(ANSI)所提出的報(bào)告,數(shù)據(jù)庫的數(shù)據(jù)組織結(jié)構(gòu)可以分為三個相互關(guān)聯(lián)的層次,它們分別是概念層數(shù)據(jù)模式、用戶層數(shù)據(jù)模式和物理層數(shù)據(jù)模式。
28、【1】概念層數(shù)數(shù)據(jù)模式,又又稱為模式,它它是對數(shù)據(jù)庫庫中數(shù)據(jù)整體體邏輯結(jié)構(gòu)的的描述,它是是對數(shù)據(jù)庫中中所有數(shù)據(jù)項(xiàng)項(xiàng)、記錄類型型以及各記錄錄類型之間的的相互關(guān)系的的描述。這里里需要說明的的是,這種描描述僅僅是一一種邏輯組織織結(jié)構(gòu)的描述述,是面向用用戶需要而提提出的。而非非是真正的數(shù)數(shù)據(jù)存儲組織織結(jié)構(gòu)。提供供這一層次的的數(shù)據(jù)模式描描述,主要是是為了數(shù)據(jù)庫庫應(yīng)用系統(tǒng)的的設(shè)計(jì)者,在在對與應(yīng)用有有關(guān)的所有用用戶的需求進(jìn)進(jìn)行統(tǒng)一綜合合考慮之后提提出的,它能能夠從總體上上,將這些需需求所涉及到到的數(shù)據(jù)及其其它們間的相相互聯(lián)系,有有機(jī)地結(jié)合成成為一個邏輯輯整體。概念念層數(shù)據(jù)模式式的設(shè)計(jì)是數(shù)數(shù)據(jù)庫設(shè)計(jì)的的最基本
29、也是是最重要的任任務(wù)?!?】用戶層數(shù)數(shù)據(jù)模式,又又稱為外模式式或子模式,它它是對以用戶戶為對象使用用數(shù)據(jù)庫所涉涉及到的所有有數(shù)據(jù)局部邏邏輯結(jié)構(gòu)的描描述。它是模模式一個子集集或者是一個個映射,一個個數(shù)據(jù)庫只有有一個模式,但但通常都對應(yīng)應(yīng)著多個子模模式。子模式式所包含的數(shù)數(shù)據(jù)之間容許許有重疊,也也容許多個用用戶共用同一一個子模式。提提供這一層次次的數(shù)據(jù)模式式描述,有以以下優(yōu)點(diǎn):1用戶只要要按照描述自自己所使用數(shù)數(shù)據(jù)的子模式式編寫應(yīng)用程程序或輸入操操作命令,就就可以完成滿滿足自己要求求的數(shù)據(jù)庫操操縱工作。而而無需了解整整體數(shù)據(jù)模式式或數(shù)據(jù)的存存儲組織結(jié)構(gòu)構(gòu),從而是用用戶接口變得得簡單。2保證了數(shù)數(shù)據(jù)
30、獨(dú)立性。由由于用戶的數(shù)數(shù)據(jù)庫應(yīng)用編編程僅僅是依依據(jù)子模式的的數(shù)據(jù)邏輯結(jié)結(jié)構(gòu)的描述,而而子模式一般般都是模式的的一個真子集集,因此若因因需要而對模模式所描述的的數(shù)據(jù)邏輯結(jié)結(jié)構(gòu)進(jìn)行部分分修改或擴(kuò)充充時,如增加加新的數(shù)據(jù)項(xiàng)項(xiàng)或者增加新新的記錄類型型等,只要不不影響子模式式從模式中的的原有的映射射關(guān)系,那么么用戶依據(jù)子子模式所開發(fā)發(fā)的應(yīng)用程序序,則就不受受模式變動的的任何影響。所所以提供模式式與子模式這這兩層數(shù)據(jù)邏邏輯結(jié)構(gòu)的描描述,就可以以較好地保證證數(shù)據(jù)的邏輯輯獨(dú)立性。3數(shù)據(jù)能夠夠被較好地共共享。由于同同一模式可以以產(chǎn)生許多不不同的子模式式,這些子模模式所描述的的數(shù)據(jù)可以來來源于模式所所描述的全局局
31、數(shù)據(jù)邏輯結(jié)結(jié)構(gòu)中各種數(shù)數(shù)據(jù)項(xiàng)或記錄錄類型,因此此這樣做,這這樣就可以很很方便地實(shí)現(xiàn)現(xiàn)數(shù)據(jù)的共享享,也就大大大減少了數(shù)據(jù)據(jù)可能存在的的冗余,從而而有利于保證證數(shù)據(jù)的一致致性、完整性性和正確性。4有利于保保證數(shù)據(jù)的安安全和保密。由由于用戶是通通過其相應(yīng)的的應(yīng)用程序?qū)?shù)據(jù)庫中數(shù)數(shù)據(jù)進(jìn)行操作作,因此他只只能操作其子子模式所描述述范圍內(nèi)的數(shù)數(shù)據(jù),而無法法接觸到其它它用戶及其子子模式所描述述的數(shù)據(jù),由由此就可以保保證數(shù)據(jù)庫中中的數(shù)據(jù)具有有較好的安全全性?!?】物理層數(shù)數(shù)據(jù)模式,又又稱為內(nèi)模式式或物理模式式。它是對數(shù)數(shù)據(jù)庫中所有有數(shù)據(jù)在物理理設(shè)備上實(shí)際際存儲的組織織結(jié)構(gòu)的描述述。數(shù)據(jù)庫數(shù)數(shù)據(jù)根據(jù)這一一層數(shù)
32、據(jù)模式式的描述,被被存放到若干干按各種組織織方式建立起起來的物理文文件中,對這這些物理文件件的所有存取取訪問的控制制都是由數(shù)據(jù)據(jù)庫管理系統(tǒng)統(tǒng)統(tǒng)一控制的的。管理系統(tǒng)統(tǒng)負(fù)責(zé)完成從從概念層數(shù)據(jù)據(jù)模式到物理理層數(shù)據(jù)模式式之間的數(shù)據(jù)據(jù)映射,這樣樣由于所有的的數(shù)據(jù)庫應(yīng)用用程序或服務(wù)務(wù)所涉及到數(shù)數(shù)據(jù)又都是根根據(jù)模式的數(shù)數(shù)據(jù)描述得到到的,因此當(dāng)當(dāng)數(shù)據(jù)庫數(shù)據(jù)據(jù)的物理組織織結(jié)構(gòu)發(fā)生變變化時,概念念層數(shù)據(jù)模式式描述通常無無需修改,同同樣也就保證證了與模式相相關(guān)聯(lián)的子模模式和用戶應(yīng)應(yīng)用程序也無無需修改,從從而使得數(shù)據(jù)據(jù)庫系統(tǒng)中數(shù)數(shù)據(jù)也具有的的物理獨(dú)立性性。圖1.3 數(shù)據(jù)據(jù)庫結(jié)構(gòu)各模模式間關(guān)系 由于一一個數(shù)據(jù)庫是是采用
33、上述的的三個層結(jié)構(gòu)構(gòu)方式對其中中的數(shù)據(jù)組織織進(jìn)行描述的的,從而較好好地保證了數(shù)數(shù)據(jù)的邏輯獨(dú)獨(dú)立性和物理理獨(dú)立性,方方便了用戶對對數(shù)據(jù)庫中數(shù)數(shù)據(jù)的操作使使用,減少了了數(shù)據(jù)冗余。這這三層模式之之間的相互關(guān)關(guān)系如圖1.3所示。由由于數(shù)據(jù)庫中中數(shù)據(jù),實(shí)際際上是按照物物理層數(shù)據(jù)模模式進(jìn)行存儲儲的,而概念念層數(shù)據(jù)模式式和用戶層數(shù)數(shù)據(jù)模式都只只是對物理層層數(shù)據(jù)模式描描述的數(shù)據(jù)的的一種逐級(層層)地邏輯抽抽象,用戶在在對數(shù)據(jù)庫進(jìn)進(jìn)行操作時,都都必須通過數(shù)數(shù)據(jù)庫管理系系統(tǒng),來完成成從用戶層數(shù)數(shù)據(jù)模式到概概念層數(shù)據(jù)模模式之間、概概念層數(shù)據(jù)模模式到物理層層數(shù)據(jù)模式之之間這兩種映映射,當(dāng)然這這兩種映射是是由管理系統(tǒng)統(tǒng)
34、自動完成的的,對用戶是是透明的。 目前實(shí)實(shí)際應(yīng)用的中中高檔數(shù)據(jù)庫庫系統(tǒng)的數(shù)據(jù)據(jù)組織結(jié)構(gòu)基基本上是按照照上述三層模模式標(biāo)準(zhǔn),來來描述數(shù)據(jù)組組織的。也有有一些中低檔檔數(shù)據(jù)庫系統(tǒng)統(tǒng),為了方便便一般用戶的的操作使用,對對上述三層模模式標(biāo)準(zhǔn)進(jìn)行行了一些簡化化,它們往往往采用一層或或二層模式來來描述數(shù)據(jù)組組織結(jié)構(gòu),通通常都略去了了物理層的數(shù)數(shù)據(jù)模式描述述。1.2.3 數(shù)據(jù)庫系統(tǒng)統(tǒng) 數(shù)據(jù)庫庫系統(tǒng)的核心心是數(shù)據(jù)庫管管理系統(tǒng)(DDataBaase Maanagemment SSystemm,簡稱DBMMS),在它它的控制和幫幫助下,用戶戶可以建立、使使用、修改和和維護(hù)數(shù)據(jù)庫庫中數(shù)據(jù)。數(shù)數(shù)據(jù)庫管理系系統(tǒng)是建立在在
35、操作系統(tǒng)之之上的應(yīng)用軟軟件平臺。它它一般具有以以下三個主要要功能:(1)提供操作作數(shù)據(jù)庫的用用戶高級接口口。具體講就就是(A)提供數(shù)據(jù)據(jù)描述語言,供供用戶對整個個數(shù)據(jù)庫中的的數(shù)據(jù)進(jìn)行各各種邏輯和物物理組織結(jié)構(gòu)構(gòu)描述,而這這些組織結(jié)構(gòu)構(gòu)的具體實(shí)現(xiàn)現(xiàn)細(xì)節(jié),則由由DBMS完成成,用戶不必必關(guān)心。(BB)提供數(shù)據(jù)據(jù)操縱語言,供供用戶對數(shù)據(jù)據(jù)庫中數(shù)據(jù)按按照其定義邏邏輯組織結(jié)構(gòu)構(gòu)進(jìn)行各種操操作,如插入入、刪除、修修改和查詢等等,這些操作作的的具體實(shí)實(shí)現(xiàn)細(xì)節(jié),則則也由DBMMS完成,用用戶不必關(guān)心心。(C)同時還可可能提供其它它工具,如用用戶界面生成成工具、報(bào)表表生成工具等等,幫助用戶戶更加容易地地對數(shù)據(jù)庫
36、的的操縱進(jìn)行編編程。(2)管理數(shù)據(jù)據(jù)庫。它主要要包括以下功功能:(A)控制整個個數(shù)據(jù)庫系統(tǒng)統(tǒng)的運(yùn)行;(B)控制用戶對數(shù)據(jù)庫的并發(fā)性操作;(C)執(zhí)行對數(shù)據(jù)庫中數(shù)據(jù)的安全、保密、有效性和完整性檢驗(yàn);(D)實(shí)施對數(shù)據(jù)庫中數(shù)據(jù)的檢索、插入、刪除、修改等操作。(E)維護(hù)數(shù)據(jù)庫數(shù)據(jù)組織結(jié)構(gòu)的完整和一致。(3)維護(hù)數(shù)據(jù)據(jù)庫,主要包包括:(A)初始化時時數(shù)據(jù)庫數(shù)據(jù)據(jù)的裝入;(B)運(yùn)行時記錄下與用戶、操作、系統(tǒng)狀態(tài)和結(jié)果等信息的工作日志;(C)監(jiān)視數(shù)據(jù)庫性能;在性能變壞時,重新組織數(shù)據(jù)庫;(D)在數(shù)據(jù)庫系統(tǒng)的硬件或軟件發(fā)生故障后,對數(shù)據(jù)庫中受破壞的數(shù)據(jù)進(jìn)行恢復(fù)。 這一小小節(jié),將略為為詳盡地介紹紹與數(shù)據(jù)庫管管理軟
37、件有關(guān)關(guān)的一些基本本情況。(一)數(shù)據(jù)庫系系統(tǒng)語言 數(shù)據(jù)庫庫系統(tǒng)語言是是用戶與數(shù)據(jù)據(jù)庫系統(tǒng)進(jìn)行行交互操作的的主要工具,是是連接用戶與與數(shù)據(jù)庫系統(tǒng)統(tǒng)的橋梁。數(shù)數(shù)據(jù)庫語言功功能的強(qiáng)弱直直接影響到用用戶使用數(shù)據(jù)據(jù)庫系統(tǒng)的方方便程度。數(shù)數(shù)據(jù)庫系統(tǒng)語語言通常包括括數(shù)據(jù)庫數(shù)據(jù)據(jù)描述語言DDDL(Data Descrriptioon Lannguagee)和數(shù)據(jù)庫庫數(shù)據(jù)操作語語言DML(Data Manippulatiion Laanguagge)這兩種種語言。數(shù)據(jù)據(jù)描述語言用用于描述數(shù)據(jù)據(jù)庫中各種模模式的定義;而數(shù)據(jù)操作作語言則是用用于描述對數(shù)數(shù)據(jù)庫中數(shù)據(jù)據(jù)所要進(jìn)行的的各種操作。這這里我們將概概述這兩種語語
38、言一些基本本功能?!?】數(shù)據(jù)描述述語言 數(shù)據(jù)描描述語言是建建立和使用數(shù)數(shù)據(jù)庫的重要要工具,它是是用于描述數(shù)數(shù)據(jù)庫各層數(shù)數(shù)據(jù)模式描述述的語言。數(shù)數(shù)據(jù)庫管理系系統(tǒng)將對用戶戶用該語言所所描述的各層層數(shù)據(jù)模式,進(jìn)進(jìn)行編譯,產(chǎn)產(chǎn)生可供數(shù)據(jù)據(jù)庫系統(tǒng)操作作時所使用的的目標(biāo)模式。對對應(yīng)著數(shù)據(jù)庫庫的模式、子子模式和內(nèi)模模式,數(shù)據(jù)描描述語言又可可分為模式描描述語言、子子模式描述語語言和內(nèi)模式式描述語言。它它們各自的功功能如下:(1)模式描述述語言,它是是用來描述數(shù)數(shù)據(jù)庫概念層層數(shù)據(jù)模式的的,即用于描描述數(shù)據(jù)庫中中所有數(shù)據(jù)以以及它們間相相互關(guān)系的特特性。用模式式描述語言寫寫出的數(shù)據(jù)庫庫全體數(shù)據(jù)的的邏輯組織結(jié)結(jié)構(gòu)的全
39、部語語句的集合,通通常就被稱為為一個模式,一一個模式的主主要內(nèi)容有: 給數(shù)據(jù)庫總總體數(shù)據(jù)的邏邏輯組織結(jié)構(gòu)構(gòu),即模式取取名 描述模式中中每個記錄類類型名稱,以以及其中各數(shù)數(shù)據(jù)項(xiàng)的名稱稱、數(shù)據(jù)類型型(如字符型型、數(shù)字型等等)和數(shù)據(jù)長長度等。 描述模式中中各記錄類型型之間的相互互聯(lián)系,如果果存在有相互互聯(lián)系的話。 一個模模式僅僅是對對數(shù)據(jù)庫概念念層邏輯數(shù)據(jù)據(jù)組織結(jié)構(gòu)的的一個描述,并并非是概念層層邏輯數(shù)據(jù)本本身。與其它它程序語言一一樣,模式描描述語言也有有自己的一套套清晰而又嚴(yán)嚴(yán)格的語句和和語法規(guī)則。對對應(yīng)不同類型型的數(shù)據(jù)庫系系統(tǒng),如層次次數(shù)據(jù)庫系統(tǒng)統(tǒng)和網(wǎng)狀數(shù)據(jù)據(jù)庫系統(tǒng),它它們的模式描描述語言也有有很
40、大差別,即即使是同一類類型數(shù)據(jù)庫系系統(tǒng),如關(guān)系系數(shù)據(jù)庫系統(tǒng)統(tǒng),不同軟件件商推出的系系統(tǒng),其模式式描述語言也也不盡相同。但但有一點(diǎn)是一一致的,這就就是它們都必必須是可對上上面所說明的的,描述一個個模式所需要要包括的三個個基本方面進(jìn)進(jìn)行定義說明明。(2)子模式描描述語言,它它是用來描述述數(shù)據(jù)庫用戶戶層數(shù)據(jù)模式式的,即用于于描述用戶所所使用的數(shù)據(jù)據(jù)的邏輯數(shù)據(jù)據(jù)組織結(jié)構(gòu)的的定義。用子子模式描述語語言寫出的用用戶局部數(shù)據(jù)據(jù)邏輯組織結(jié)結(jié)構(gòu)的全部語語句的集合,通通常就被稱為為一個子模式式,一個子模模式的主要內(nèi)內(nèi)容有: 給用戶使用用數(shù)據(jù)庫所涉涉及到局部數(shù)數(shù)據(jù)的邏輯組組織結(jié)構(gòu),即即子模式取名名 描述子模式式中所
41、包含的的每個記錄類類型及其中的的各數(shù)據(jù)項(xiàng),這這些記錄類型型的名稱以及及各數(shù)據(jù)項(xiàng)的的名稱和長度度,可以與模模式中的定義義有所不同,但但這里主要是是描述子模式式中的記錄類類型及其數(shù)據(jù)據(jù)項(xiàng)與模式中中記錄類型及及其數(shù)據(jù)項(xiàng)之之間的對應(yīng)映映射關(guān)系,子子模式中所描描述的記錄及及其中的數(shù)據(jù)據(jù)項(xiàng)必須是已已在模式中定定義過的。 描述子模式式中各記錄類類型之間的相相互聯(lián)系。這這里同樣是描描述子模式中中的記錄間相相互聯(lián)系與模模式中記錄間間相互聯(lián)系之之間的對應(yīng)映映射關(guān)系。子子模式中所描描述的記錄間間相互聯(lián)系必必須是已在模模式中定義過過的。 與模式式描述語言不不同,子模式式描述語言有有時與編寫應(yīng)應(yīng)用程序所采采用的其它程程
42、序設(shè)計(jì)語言言相關(guān),因此此根據(jù)子模式式描述語言所所適用的編寫寫應(yīng)用程序語語言,子模式式描述語言也也可分為COOBOL子模模式描述語言言、FORTTRAN子模模式描述語言言和C子模式描述述語言等。(3)內(nèi)模式描描述語言,它它是用來描述述數(shù)據(jù)庫中數(shù)數(shù)據(jù)在物理存存貯介質(zhì)上的的組織結(jié)構(gòu)和和存放方式等等,它與數(shù)據(jù)庫庫系統(tǒng)所運(yùn)行行的硬件環(huán)境境特性相關(guān)。例例如,系統(tǒng)建建立了哪些物物理文件?文文件的存貯設(shè)設(shè)備是什么?文件是以什什么樣的組織織方式等等,這這些都是由內(nèi)內(nèi)模式描述語語言來負(fù)責(zé)描描述的。 上述內(nèi)內(nèi)容僅僅是關(guān)關(guān)于數(shù)據(jù)描述述語言中一些些最基本的部部分。通常各各軟件商生產(chǎn)產(chǎn)出的數(shù)據(jù)庫庫系統(tǒng),往往往都要根據(jù)自自
43、己的具體實(shí)實(shí)現(xiàn)情況,提提供出相應(yīng)的的一整套數(shù)據(jù)據(jù)描述語言的的規(guī)范,其中中也有一些數(shù)數(shù)據(jù)庫系統(tǒng),對對上述的數(shù)據(jù)據(jù)描述語言的的標(biāo)準(zhǔn)進(jìn)行了了一些簡化,只只給出一種或或二種描述語語言定義,或或干脆將數(shù)據(jù)據(jù)描述語言與與數(shù)據(jù)操作語語言歸并到了了一起,以方方便用戶使用用。如FoxxPro數(shù)據(jù)據(jù)庫系統(tǒng),以以及目前比較較流行的基于于SQL的多種種數(shù)據(jù)庫系統(tǒng)統(tǒng)?!?】數(shù)據(jù)操作作語言 數(shù)據(jù)操操縱語言是用用戶操縱數(shù)據(jù)據(jù)庫中數(shù)據(jù)的的工具,用戶戶借助它來實(shí)實(shí)現(xiàn)從數(shù)據(jù)庫庫中檢索數(shù)據(jù)據(jù)、向數(shù)據(jù)庫庫中添加數(shù)據(jù)據(jù)、刪除數(shù)據(jù)據(jù)庫中沒有保保留價值的數(shù)數(shù)據(jù)或修改某某些發(fā)生變化化的數(shù)據(jù)等操操作。 數(shù)據(jù)操操縱語言通常常分為兩種類類型,即宿
44、主主式數(shù)據(jù)操縱縱語言和自含含式數(shù)據(jù)操縱縱語言。自含含式數(shù)據(jù)操縱縱語言在數(shù)據(jù)據(jù)庫系統(tǒng)中可可獨(dú)立使用,是是一種完整的的語言,這類類語言使用簡簡單方便,很很適合于在終終端上使用。這這類語言的優(yōu)優(yōu)點(diǎn)是系統(tǒng)運(yùn)運(yùn)行效率較高高且使用簡單單,缺點(diǎn)是它它的應(yīng)用范圍圍常常受到限限制,例如要要提取出數(shù)據(jù)據(jù)庫中的一些些數(shù)據(jù)進(jìn)行某某種復(fù)雜運(yùn)算算處理時,單單靠數(shù)據(jù)庫系系統(tǒng)所提供的的這類數(shù)據(jù)操操縱語言有時時就很難做到到這一點(diǎn)。自自含式數(shù)據(jù)操操縱語言通常常包含以下基基本操作功能能:(A)從數(shù)據(jù)庫庫中選擇滿足足一定要求的的記錄或聯(lián)系系;(B)增加新的的記錄或聯(lián)系系到數(shù)據(jù)庫中中;(C)修改數(shù)據(jù)據(jù)庫中的記錄錄或聯(lián)系;(D)刪除數(shù)據(jù)
45、庫中的記錄或聯(lián)系; 另一種種是宿主式數(shù)數(shù)據(jù)操縱語言言,它不能單單獨(dú)使用,必必須嵌入到某某種程序設(shè)計(jì)計(jì)語言(如CC,COBOLL,F(xiàn)ORTRRAN)之中中方能進(jìn)行數(shù)數(shù)據(jù)庫操作,這這種數(shù)據(jù)操縱縱語言語句僅僅負(fù)責(zé)對數(shù)據(jù)據(jù)庫中數(shù)據(jù)的的操作,其它它復(fù)雜的數(shù)據(jù)據(jù)處理工作均均有主語言完完成,有時這這樣做會使得得用戶的應(yīng)用用程序變得相相當(dāng)復(fù)雜。由由于這樣的程程序既包含了了主語言語句句,也包含了了數(shù)據(jù)操縱語語言語句,也也就使得主語語言原來的編編譯程序便不不能完全編譯譯應(yīng)用程序了了,解決這一一問題有兩種種辦法:(AA)重新設(shè)計(jì)計(jì)和實(shí)現(xiàn)一個個編譯程序,使使之能編譯包包括數(shù)據(jù)操縱縱語言和主語語言的所有語語句,這種辦辦
46、法不大現(xiàn)實(shí)實(shí)經(jīng)濟(jì);(BB)不修改主主語言編譯程程序,而是設(shè)設(shè)計(jì)一個預(yù)編編程序來對應(yīng)應(yīng)用程序中的的數(shù)據(jù)操縱語語言進(jìn)行預(yù)編編譯,將其首首先轉(zhuǎn)換成用用主語言寫的的程序,然后后再用主語言言的編譯程序序來編譯,以以產(chǎn)生最后的的目標(biāo)程序。這這樣做辦法比比較可行,目目前已為許多多數(shù)據(jù)庫系統(tǒng)統(tǒng)所采用。 實(shí)際上上許多數(shù)據(jù)庫庫系統(tǒng)除了提提供上述兩種種數(shù)據(jù)操作語語言之外,還還提供了許多多編程工具和和或編程命令令,以便幫助助用戶更加容容易地編制數(shù)數(shù)據(jù)庫的應(yīng)用用程序,如用用戶界面生成成工具、報(bào)表表生成工具和和數(shù)據(jù)庫APPI接口等。(二)數(shù)據(jù)庫系系統(tǒng)運(yùn)行管理理與控制軟件件 數(shù)據(jù)庫庫系統(tǒng)運(yùn)行管管理與控制軟軟件是數(shù)據(jù)庫庫管理
47、系統(tǒng)軟軟件的實(shí)際組組成,它主要要包括語言編編譯處理程序序、系統(tǒng)運(yùn)行行控制程序和和數(shù)據(jù)庫日常常管理程序以以及數(shù)據(jù)庫工工具等多種軟軟件。下面將將概述這幾種種軟件一些基基本功能(1)語言編譯譯處理程序。它它主要包括:(A)數(shù)據(jù)庫系系統(tǒng)中各種數(shù)數(shù)據(jù)描述語言言的編譯處理理程序,它們們的作用是將將各種采用模模式描述語言言所定義數(shù)據(jù)據(jù)模式編譯成成DBMS所使使用的內(nèi)部定定義目標(biāo)模式式。(B)數(shù)據(jù)庫系系統(tǒng)各種數(shù)據(jù)據(jù)操縱語言的的處理程序,它它們可將應(yīng)用用程序中采用用數(shù)據(jù)操縱語語言所寫的數(shù)數(shù)據(jù)操作語句句轉(zhuǎn)換成其宿宿主語言編譯譯程序所能處處理的語句。(C)終端操作命令解釋程序,它主要用于解釋終端操作命令的意義,完成
48、相應(yīng)數(shù)據(jù)庫系統(tǒng)命令的執(zhí)行過程。(D)數(shù)據(jù)庫控制命令解釋程序,它負(fù)責(zé)解釋執(zhí)行每一條數(shù)據(jù)庫控制命令。(2)系統(tǒng)運(yùn)行行控制程序。它它主要包括:(A)數(shù)據(jù)庫系系統(tǒng)的總控程程序,它用于于檢查訪問的的合法性,以以決定一個訪訪問是否能使使用數(shù)據(jù)庫。(B)并發(fā)控制程序。協(xié)調(diào)多個應(yīng)用程序?qū)?shù)據(jù)庫的操作,保證數(shù)據(jù)庫中數(shù)據(jù)的一致性。(C)保密控制程序。實(shí)現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的安全保密控制。(D)數(shù)據(jù)完整性控制程序。核對數(shù)據(jù)庫完整性約束條件,以決定對數(shù)據(jù)庫的操作是否有效。(E)數(shù)據(jù)庫存取訪問程序。實(shí)施對數(shù)據(jù)庫中數(shù)據(jù)的操作,如執(zhí)行檢索、插入、修改、刪除等操作。(F)通訊控制程序。實(shí)現(xiàn)用戶程序與DBMS之間的通訊。(3)數(shù)據(jù)庫
49、日日常管理程序序。這主要包包括:(A)數(shù)據(jù)裝入入程序。實(shí)現(xiàn)現(xiàn)將初始數(shù)據(jù)據(jù)裝入數(shù)據(jù)庫庫。(B)系統(tǒng)恢復(fù)復(fù)程序。當(dāng)軟軟硬件出現(xiàn)故故障時,利用用恢復(fù)程序?qū)?shù)據(jù)庫恢復(fù)復(fù)到正確狀態(tài)態(tài)。(C)工作日志志程序。負(fù)責(zé)責(zé)記載進(jìn)入數(shù)數(shù)據(jù)庫的所有有訪問,其內(nèi)內(nèi)容包括用戶戶名稱、進(jìn)入入系統(tǒng)時間、進(jìn)進(jìn)行何種操作作、數(shù)據(jù)變更更情況等等。使使每個用戶每每次訪問都留留下蹤跡。(D)性能監(jiān)測程序。監(jiān)測操作執(zhí)行時間與存貯空間占用情況,為數(shù)據(jù)庫的再組織提供依據(jù)。(E)重新組織程序。當(dāng)數(shù)據(jù)庫系統(tǒng)性能變壞時,對數(shù)據(jù)庫重新進(jìn)行物理組織。(F)轉(zhuǎn)貯、編輯、打印程序、用于轉(zhuǎn)貯數(shù)據(jù)庫的部分和全部數(shù)據(jù),或者編輯打印數(shù)據(jù)等。(4)數(shù)據(jù)庫工工具軟
50、件。它它主要是為了了方便建立數(shù)數(shù)據(jù)庫系統(tǒng)的的具體應(yīng)用,而而提供各種工工具軟件。其其中有數(shù)據(jù)庫庫系統(tǒng)應(yīng)用程程序界面制作作工具,報(bào)表表制作工具等等許多軟件工工具。 最后我我們簡單介紹紹一下建立數(shù)數(shù)據(jù)庫應(yīng)用系系統(tǒng)的基本知知識。數(shù)據(jù)庫庫應(yīng)用系統(tǒng)的的設(shè)計(jì)方法我我們將在第五五章詳細(xì)介紹紹。與其它應(yīng)應(yīng)用軟件開發(fā)發(fā)與應(yīng)用過程程一樣,數(shù)據(jù)據(jù)庫系統(tǒng)的應(yīng)應(yīng)用,也有一一個生命周期期,它主要由由以下五個階階段構(gòu)成:(1)數(shù)據(jù)庫系系統(tǒng)的規(guī)劃。它它包括系統(tǒng)的的應(yīng)用范圍和和功能的確認(rèn)認(rèn)、應(yīng)用環(huán)境境的分析、DDBMS及其其支撐環(huán)境的的選擇、硬件件配置,人員員的配備和培培訓(xùn),投資估估算和效益分分析等活動。(2)數(shù)據(jù)庫系系統(tǒng)的設(shè)計(jì)
51、。它它包括了解應(yīng)應(yīng)用系統(tǒng)的信信息和處理需需求,設(shè)計(jì)滿滿足其要求的的整體數(shù)據(jù)模模型及處理流流程,并結(jié)合合具體所采用用的數(shù)據(jù)庫系系統(tǒng)、硬件環(huán)環(huán)境和系統(tǒng)軟軟件平臺的特特點(diǎn),設(shè)計(jì)出出符合具體數(shù)數(shù)據(jù)庫系統(tǒng)應(yīng)應(yīng)用要求的數(shù)數(shù)據(jù)模型,及及其應(yīng)用軟件件的流程圖。選選擇合適的商商用數(shù)據(jù)庫系系統(tǒng),來設(shè)計(jì)計(jì)、建立、管管理和維護(hù)數(shù)數(shù)據(jù)庫系統(tǒng),使使之能夠?yàn)橛糜脩籼峁┳罴鸭逊?wù)。(3)數(shù)據(jù)庫系系統(tǒng)的建立。首首先根據(jù)數(shù)據(jù)據(jù)庫系統(tǒng)的設(shè)設(shè)計(jì)結(jié)果,定定義數(shù)據(jù)模式式,規(guī)定訪問問權(quán)限,設(shè)置置完整性約束束。然后準(zhǔn)備備數(shù)據(jù),對其其進(jìn)行正確性性校驗(yàn)后,將將其錄入,與與此同時,完完成主要應(yīng)用用程序的編制制工作。(4)數(shù)據(jù)庫系系統(tǒng)的管理。它它包
52、括應(yīng)用軟軟件的編制與與修改、數(shù)據(jù)據(jù)庫的重新組組織、數(shù)據(jù)庫庫系統(tǒng)中數(shù)據(jù)據(jù)的備份與恢恢復(fù)等工作。保保證數(shù)據(jù)庫系系統(tǒng)的完好,為為用戶提供可可靠的服務(wù)。(5)數(shù)據(jù)庫系系統(tǒng)的調(diào)整。由由于應(yīng)用數(shù)據(jù)據(jù)庫系統(tǒng)的用用戶所在的硬硬環(huán)境,如單單位組織調(diào)整整、人員變化化等,軟環(huán)境境,如人員素素質(zhì)、應(yīng)用要要求等,發(fā)生生變化,在數(shù)數(shù)據(jù)庫系統(tǒng)運(yùn)運(yùn)行一段時間間后,往往都都需要進(jìn)行擴(kuò)擴(kuò)充與重構(gòu),即即需要對數(shù)據(jù)據(jù)庫系統(tǒng)的各各種數(shù)據(jù)模式式的定義和處處理流程進(jìn)行行適當(dāng)?shù)男薷母暮脱a(bǔ)充,使使之適應(yīng)新的的形勢。 一般與與一個數(shù)據(jù)庫庫系統(tǒng)的應(yīng)用用系統(tǒng)有關(guān)的的人員,有以以下四類,他他們是:(AA)系統(tǒng)管理理員,他的任任務(wù)主要是定定義數(shù)據(jù)庫系系
53、統(tǒng)的物理存存儲模式,分分配并管理各各用戶操作的的權(quán)限,管理理日常數(shù)據(jù)庫庫系統(tǒng)的運(yùn)行行工作,以及及維護(hù)數(shù)據(jù)庫庫系統(tǒng)中的數(shù)數(shù)據(jù),保證其其完整和安全全、(B)系統(tǒng)分析析員,他們的的任務(wù)主要是是,從整體上上分析數(shù)據(jù)庫庫系統(tǒng)應(yīng)用所所涉及的客觀觀信息結(jié)構(gòu)和和內(nèi)容,定義義相應(yīng)的數(shù)據(jù)據(jù)庫系統(tǒng)的全全局?jǐn)?shù)據(jù)模式式;(C)應(yīng)用程序序員,他們的的任務(wù)主要是是分析具體用用戶的信息處處理需要,定定義數(shù)據(jù)庫系系統(tǒng)的子模式式,編寫具體體數(shù)據(jù)庫應(yīng)用用程序;(DD)用戶,他他們具體的數(shù)數(shù)據(jù)庫應(yīng)用程程序和數(shù)據(jù)庫庫的最終使用用者。(三)數(shù)據(jù)庫系系統(tǒng)訪問示例例 這里,我我們介紹一下下普通用戶讀讀取數(shù)據(jù)庫系系統(tǒng)中數(shù)據(jù)時時,數(shù)據(jù)庫的的工作
54、過程(如如圖1.4所示),以以便使讀者可可以從中了解解DBMS是如如何來進(jìn)行數(shù)數(shù)據(jù)庫系統(tǒng)的的管理工作的的。用戶訪問問數(shù)據(jù)庫系統(tǒng)統(tǒng)中數(shù)據(jù)的過過程實(shí)際上就就是用戶與DDBMS進(jìn)行行交互的過程程。其具體步步驟如下:()用戶通過過應(yīng)用程序指指明它使用的的子模式名稱稱,發(fā)出數(shù)據(jù)據(jù)操作命令,DBMS通過處理用戶的應(yīng)用程序,接收該操作命令。()DBMSS按照應(yīng)用程程序中的子模模式名稱,調(diào)調(diào)出相應(yīng)的子子模式,核對對該用戶的訪訪問權(quán)利、操操作合法性等等,若檢查通通過則繼續(xù)執(zhí)執(zhí)行,否則拒拒絕執(zhí)行并報(bào)報(bào)告出錯信息息。()DBMSS按模式確定定子模式中操操作所涉及的的記錄類型,并并通過模式到到存儲模式的的映射,找出出
55、這些記錄類類型的相應(yīng)存存貯模式。()DBMSS查閱存貯模模式,確定應(yīng)應(yīng)從哪個物理理文件、存貯貯設(shè)備以及調(diào)調(diào)用哪個訪問問程序去讀取取所需的記錄錄。()DBMSS的訪問程序序找到有關(guān)的的物理數(shù)據(jù)地地址,向操作作系統(tǒng)發(fā)出讀讀操作命令。()操作系統(tǒng)統(tǒng)收到DBMMS發(fā)來的命命令后,啟動動系統(tǒng)的輸入入輸出程序序完成讀操作作,把要讀取取的數(shù)據(jù)塊送送到內(nèi)存中的的系統(tǒng)緩沖區(qū)區(qū)。()DBMSS收到操作系系統(tǒng)關(guān)于輸入入輸出操作作結(jié)束回答后后,按模式、子子模式的定義義,將已讀入入到系統(tǒng)緩沖沖區(qū)的內(nèi)容映映射為用戶程程序所要的邏邏輯記錄,并并送到用戶的的工作區(qū)中。()DBMSS向應(yīng)用程序序發(fā)送反映操操作執(zhí)行結(jié)果果的狀態(tài)信
56、息息(由狀態(tài)字字描述),如如“執(zhí)行成功”、“數(shù)據(jù)未找到到”等。()記載DBBMS系統(tǒng)的的工作日志。(10)應(yīng)用程程序檢查狀態(tài)態(tài)信息,如執(zhí)執(zhí)行成功,則則可對程序工工作區(qū)中的數(shù)數(shù)據(jù)作正常處處理,否則按按出錯類型決決定程序的后后續(xù)處理。 用戶修修改一個記錄錄的操作步驟驟也是類似的的。首先讀出出所需記錄,在在程序工作區(qū)區(qū)中修改好,而而后再把修改改好的記錄寫寫回?cái)?shù)據(jù)庫中中原記錄的位位置上。圖1.4 數(shù)據(jù)據(jù)庫的工作過過程1.3 實(shí)體體聯(lián)系模型 本節(jié)主主要介紹有關(guān)關(guān)實(shí)體聯(lián)系模模型的概念和和基本知識,使使讀者了解并并掌握基本的的實(shí)體聯(lián)系模模型的使用方方法。1.3.1 模型的組成成 我們都都知道數(shù)據(jù)是是表達(dá)信息
57、的的一種重要的的量化符號,是是信息存在的的一種重要形形式。而所謂謂數(shù)據(jù)模型則則是數(shù)據(jù)特征征的一種抽象象。它不是描描述個別的數(shù)數(shù)據(jù),而是描描述數(shù)據(jù)的共共性。一般來來講,數(shù)據(jù)模模型包含兩方方面內(nèi)容,它它們是:(11)數(shù)據(jù)的靜靜態(tài)特性,這這主要包括數(shù)數(shù)據(jù)的基本結(jié)結(jié)構(gòu)、數(shù)據(jù)間間的聯(lián)系和數(shù)數(shù)據(jù)中的相互互約束等特性性;(2)數(shù)據(jù)的動動態(tài)特性,這這主要包括對對數(shù)據(jù)操作的的方法。在數(shù)數(shù)據(jù)庫應(yīng)用系系統(tǒng)中,建立立反映客觀信信息范疇的數(shù)數(shù)據(jù)模型是數(shù)數(shù)據(jù)庫應(yīng)用系系統(tǒng)設(shè)計(jì)中最最為重要的,也也最基本的步步驟之一,它它是連接客觀觀信息世界和和數(shù)據(jù)庫系統(tǒng)統(tǒng)數(shù)據(jù)邏輯組組織的橋梁。也也是計(jì)算機(jī)專專業(yè)人員與非非計(jì)算機(jī)專業(yè)業(yè)的用戶之
58、間間進(jìn)行交流的的共同基礎(chǔ)。這這里我們將要要介紹的數(shù)據(jù)據(jù)模型就是實(shí)實(shí)體聯(lián)系數(shù)據(jù)據(jù)模型(又稱稱數(shù)據(jù)據(jù)模型),它它與傳統(tǒng)的數(shù)數(shù)據(jù)模型有所所不同。數(shù)據(jù)模型型是面向現(xiàn)實(shí)實(shí)世界,而不不是面向?qū)崿F(xiàn)現(xiàn)方法的,它它主要是用于于描述現(xiàn)實(shí)信信息世界中數(shù)數(shù)據(jù)的靜態(tài)特特性。而不涉涉及數(shù)據(jù)的處處理過程。但但由于它簡單單易學(xué),因而而在數(shù)據(jù)庫系系統(tǒng)應(yīng)用的設(shè)設(shè)計(jì)中,得到到了廣泛應(yīng)用用。 E-RR數(shù)據(jù)模型是是P.P.CChen在1976年提提出的,它為為數(shù)據(jù)庫系統(tǒng)統(tǒng)應(yīng)用的設(shè)計(jì)計(jì)人員提供了了三個基本的的模型描述成成分,它們是是實(shí)體、聯(lián)系系和屬性。EE-R數(shù)據(jù)模模型就是利用用這三個成分分來描述反映映一個客觀信信息世界內(nèi)容容的數(shù)據(jù)模型
59、型。在數(shù)據(jù)庫庫應(yīng)用系統(tǒng)設(shè)設(shè)計(jì)中,通常常還需要將這這一數(shù)據(jù)模型型轉(zhuǎn)換為各數(shù)數(shù)據(jù)庫管理系系統(tǒng)所支持的的具體數(shù)據(jù)模模型,即層次次數(shù)據(jù)模型、網(wǎng)網(wǎng)狀數(shù)據(jù)模型型和關(guān)系數(shù)據(jù)據(jù)模型等。由由此我們也可可以看出E-R數(shù)據(jù)模型型是從現(xiàn)實(shí)信信息世界到數(shù)數(shù)據(jù)庫系統(tǒng)中中數(shù)據(jù)邏輯組組織結(jié)構(gòu)設(shè)計(jì)計(jì)之間的一個個中間階段,只只所以是這樣樣,主要是因因?yàn)槿绻苯咏訉F(xiàn)實(shí)世界界的信息,構(gòu)構(gòu)造成某個DDBMS所能能接受的數(shù)據(jù)據(jù)邏輯組織結(jié)結(jié)構(gòu),其工作作往往是十分分復(fù)雜而且難難度也很大,應(yīng)應(yīng)用設(shè)計(jì)人員員不僅要考慮慮現(xiàn)實(shí)世界各各種信息及其其內(nèi)在的聯(lián)系系,以及各種種具體應(yīng)用對對數(shù)據(jù)處理的的要求,而且且還要考慮采采用某種特定定的數(shù)據(jù)庫系系統(tǒng)后,
60、所面面臨的各種條條件限制,這這樣就大大增增加了應(yīng)用系系統(tǒng)設(shè)計(jì)的復(fù)復(fù)雜性。 下面我我們就介紹一一下數(shù)數(shù)據(jù)模型中的的三個基本要要素,即實(shí)體體、聯(lián)系和屬屬性的有關(guān)基基本知識。【1】實(shí)體 數(shù)據(jù)是是用來描述現(xiàn)現(xiàn)實(shí)世界中各各種事物的。而而要描述的對對象是形形色色色的,有具具體的,也有有抽象的;有有物理上存在在的,也有是是概念性的;如張三、汽汽車、運(yùn)動、興興趣、神靈等等。這些對象象的共同特征征是可以相互互有區(qū)別,否否則就會被認(rèn)認(rèn)為是同一種種對象。凡是是可以相互區(qū)區(qū)別開并可以以被我們所識識別的事、物物、概念等對對象均可認(rèn)為為是實(shí)體。它它是具有共同同某些特征的的一類具體實(shí)實(shí)體,即可認(rèn)認(rèn)為是一實(shí)體體集合,對這這一
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年通信設(shè)備采購與維護(hù)合同2篇
- 電梯安裝工程2025年度技術(shù)咨詢合同6篇
- 二零二五年度論壇活動策劃服務(wù)合同模板6篇
- 二零二五版搬家服務(wù)及家居清潔維護(hù)合同3篇
- 二零二五年度廢鋼市場供應(yīng)與環(huán)保處理服務(wù)合同3篇
- 二零二五版房屋買賣及鄰里關(guān)系協(xié)調(diào)服務(wù)合同3篇
- 二零二五年度股東干股合作企業(yè)社會責(zé)任履行合同3篇
- 幼兒園2025年度食品供應(yīng)合同2篇
- 二零二五版租賃房屋改造裝修合同3篇
- 二零二五年酒店股權(quán)分割與資產(chǎn)重組咨詢合同3篇
- 2023社會責(zé)任報(bào)告培訓(xùn)講稿
- 2023核電廠常規(guī)島及輔助配套設(shè)施建設(shè)施工技術(shù)規(guī)范 第8部分 保溫及油漆
- 2025年蛇年春聯(lián)帶橫批-蛇年對聯(lián)大全新春對聯(lián)集錦
- 表B. 0 .11工程款支付報(bào)審表
- 警務(wù)航空無人機(jī)考試題庫及答案
- 空氣自動站儀器運(yùn)營維護(hù)項(xiàng)目操作說明以及簡單故障處理
- 新生兒窒息復(fù)蘇正壓通氣課件
- 法律顧問投標(biāo)書
- 班主任培訓(xùn)簡報(bào)4篇(一)
- 成都市數(shù)學(xué)八年級上冊期末試卷含答案
- T-CHSA 020-2023 上頜骨缺損手術(shù)功能修復(fù)重建的專家共識
評論
0/150
提交評論