數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)知識(shí)的介紹
數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)知識(shí)的介紹:很多的數(shù)據(jù)庫(kù)初學(xué)者,對(duì)數(shù)據(jù)庫(kù)技術(shù)的了解可以說(shuō)是少之又少,那我的這篇文章將帶領(lǐng)大家深入到數(shù)據(jù)庫(kù)的最基層,讓大家對(duì)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)知識(shí)有一個(gè)更好了解,從而更好的掌握數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)知識(shí),將數(shù)據(jù)庫(kù)技術(shù)應(yīng)用到平時(shí)的工作生活中,將會(huì)大大的方便。下面就是數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)知識(shí)的介紹。
數(shù)據(jù)庫(kù)技術(shù)是一門(mén)綜合性的軟件技術(shù),是使用計(jì)算機(jī)進(jìn)行各種信息管理的必備知識(shí)。
數(shù)據(jù)庫(kù)技術(shù)是本世紀(jì)60年代開(kāi)始興起的一門(mén)信息管理自動(dòng)化的新興學(xué)科,是計(jì)算機(jī)科學(xué)中的一個(gè)重要分支。隨著計(jì)算機(jī)應(yīng)用的不斷發(fā)展,在計(jì)算機(jī)應(yīng)用領(lǐng)域中,數(shù)據(jù)處理越來(lái)越占主導(dǎo)地位,數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用也越來(lái)越廣泛。
一、數(shù)據(jù)庫(kù)的歷史發(fā)展
數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的產(chǎn)物。數(shù)據(jù)管理是數(shù)據(jù)庫(kù)的核心任務(wù),內(nèi)容包括對(duì)數(shù)據(jù)的分類(lèi)、組織、編碼、儲(chǔ)存、檢索和維護(hù)。隨著計(jì)算機(jī)硬件和軟件的發(fā)展,數(shù)據(jù)庫(kù)技術(shù)也不斷地發(fā)展。從數(shù)據(jù)管理的角度看,數(shù)據(jù)庫(kù)技術(shù)到目前共經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。
1. 人工管理階段
人工管理階段是指計(jì)算機(jī)誕生的初期(即20世紀(jì)50年代后期之前),這個(gè)時(shí)期的計(jì)算機(jī)主要用于科學(xué)計(jì)算。從硬件看,沒(méi)有磁盤(pán)等直接存取的存儲(chǔ)設(shè)備;從軟件看,沒(méi)有操作系統(tǒng)和管理數(shù)據(jù)的軟件,數(shù)據(jù)處理方式是批處理。
這個(gè)時(shí)期數(shù)據(jù)管理的特點(diǎn)是:
1). 數(shù)據(jù)不保存
該時(shí)期的計(jì)算機(jī)主要應(yīng)用于科學(xué)計(jì)算,一般不需要將數(shù)據(jù)長(zhǎng)期保存,只是在計(jì)算某一課題時(shí)將數(shù)據(jù)輸入,用完后不保存原始數(shù)據(jù),也不保存計(jì)算結(jié)果。
2). 沒(méi)有對(duì)數(shù)據(jù)進(jìn)行管理的軟件系統(tǒng)
程序員不僅要規(guī)定數(shù)據(jù)的邏輯結(jié)構(gòu),而且還要在程序中設(shè)計(jì)物理結(jié)構(gòu),包括存儲(chǔ)結(jié)構(gòu)、存取方法、輸入輸出方式等。因此程序中存取數(shù)據(jù)的子程序隨著存儲(chǔ)的改變而改變,數(shù)據(jù)與程序不具有一致性。
3). 沒(méi)有文件的概念
數(shù)據(jù)的組織方式必須由程序員自行設(shè)計(jì)。
4). 一組數(shù)據(jù)對(duì)應(yīng)于一個(gè)程序,數(shù)據(jù)是面向應(yīng)用的
即使兩個(gè)程序用到相同的數(shù)據(jù),也必須各自定義、各自組織,數(shù)據(jù)無(wú)法共享、無(wú)法相互利用和互相參照,從而導(dǎo)致程序和程序之間有大量重復(fù)的數(shù)據(jù)。
2. 文件系統(tǒng)階段
文件系統(tǒng)階段是指計(jì)算機(jī)不僅用于科學(xué)計(jì)算,而且還大量用于管理數(shù)據(jù)的階段(從50年代后期到60年代中期)。在硬件方面,外存儲(chǔ)器有了磁盤(pán)、磁鼓等直接存取的存儲(chǔ)設(shè)備。在軟件方面,操作系統(tǒng)中已經(jīng)有了專(zhuān)門(mén)用于管理數(shù)據(jù)的軟件,稱(chēng)為文件系統(tǒng)。
這個(gè)時(shí)期數(shù)據(jù)管理的特點(diǎn)是:
1). 數(shù)據(jù)需要長(zhǎng)期保存在外存上供反復(fù)使用
由于計(jì)算機(jī)大量用于數(shù)據(jù)處理,經(jīng)常對(duì)文件進(jìn)行查詢(xún)、修改、插入和刪除等操作,所以數(shù)據(jù)需要長(zhǎng)期保留,以便于反復(fù)操作。
2). 程序之間有了一定的獨(dú)立性
操作系統(tǒng)提供了文件管理功能和訪問(wèn)文件的存取方法,程序和數(shù)據(jù)之間有了數(shù)據(jù)存取的接口,程序可以通過(guò)文件名和數(shù)據(jù)打交道,不必再尋找數(shù)據(jù)的物理存放位置,至此,數(shù)據(jù)有了物理結(jié)構(gòu)和邏輯結(jié)構(gòu)的區(qū)別,但此時(shí)程序和數(shù)據(jù)之間的獨(dú)立性尚還不充分。
3). 文件的形式已經(jīng)多樣化
由于已經(jīng)有了直接存取的存儲(chǔ)設(shè)備,文件也就不再局限于順序文件,還有了索引文件、鏈表文件等,因而,對(duì)文件的訪問(wèn)可以是順序訪問(wèn),也可以是直接訪問(wèn)。
4). 數(shù)據(jù)的存取基本上以記錄為單位
可以看出,文件系統(tǒng)中的數(shù)據(jù)和程序雖然具有了一定的獨(dú)立性,但還很不充分,每個(gè)文件仍然對(duì)應(yīng)于一個(gè)應(yīng)用程序,數(shù)據(jù)還是面向應(yīng)用的。要想對(duì)現(xiàn)有的數(shù)據(jù)再增加一些新的應(yīng)用是很困難的,系統(tǒng)不易擴(kuò)充,一旦數(shù)據(jù)的邏輯結(jié)構(gòu)改變,必須修改應(yīng)用程序。并且,各個(gè)文件之間是孤立的,不能反映現(xiàn)實(shí)世界事物之間的內(nèi)在聯(lián)系,各個(gè)不同應(yīng)用程序之間也不能共享相同的數(shù)據(jù),從而造成數(shù)據(jù)冗余度大,并容易產(chǎn)生相同數(shù)據(jù)的不一致性。
3. 數(shù)據(jù)庫(kù)系統(tǒng)階段
數(shù)據(jù)庫(kù)系統(tǒng)階段是從60年代后期開(kāi)始的。在這一階段中,數(shù)據(jù)庫(kù)中的數(shù)據(jù)不再是面向某個(gè)應(yīng)用或某個(gè)程序,而是面向整個(gè)企業(yè)(組織)或整個(gè)應(yīng)用的。
數(shù)據(jù)庫(kù)系統(tǒng)階段的特點(diǎn)是:
1). 采用復(fù)雜的結(jié)構(gòu)化的數(shù)據(jù)模型
數(shù)據(jù)庫(kù)系統(tǒng)不僅要描述數(shù)據(jù)本身,還要描述數(shù)據(jù)之間的聯(lián)系。這種聯(lián)系是通過(guò)存取路徑來(lái)實(shí)現(xiàn)的。
2). 較高的數(shù)據(jù)獨(dú)立性
數(shù)據(jù)和程序彼此獨(dú)立,數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的變化盡量不影響用戶(hù)程序的使用。
3). 最低的冗余度
數(shù)據(jù)庫(kù)系統(tǒng)中的重復(fù)數(shù)據(jù)被減少到最低程度,這樣,在有限的存儲(chǔ)空間內(nèi)可以存放更多的數(shù)據(jù)并減少存取時(shí)間。
4). 數(shù)據(jù)控制功能
數(shù)據(jù)庫(kù)系統(tǒng)具有數(shù)據(jù)的安全性,以防止數(shù)據(jù)的丟失和被非法使用;具有數(shù)據(jù)的完整性,以保護(hù)數(shù)據(jù)的正確、有效和相容;具有數(shù)據(jù)的并發(fā)控制,避免并發(fā)程序之間的相互干擾;具有數(shù)據(jù)的恢復(fù)功能,在數(shù)據(jù)庫(kù)被破壞或數(shù)據(jù)不可靠時(shí),系統(tǒng)有能力把數(shù)據(jù)庫(kù)恢復(fù)到最近某個(gè)時(shí)刻的正確狀態(tài)。
綜上所述,數(shù)據(jù)庫(kù)可以被定義為:一個(gè)存儲(chǔ)起來(lái)互相關(guān)聯(lián)的數(shù)據(jù)集合,它提供給多種用戶(hù)共享并且有最小的冗余度和較高的數(shù)據(jù)獨(dú)立性。
4. 三代數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展
數(shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)的核心。按照數(shù)據(jù)模型發(fā)展的主線,數(shù)據(jù)庫(kù)技術(shù)的形成過(guò)程和發(fā)展可從以下三個(gè)方面反映:
1). 第一代數(shù)據(jù)庫(kù)系統(tǒng)--層次和網(wǎng)狀數(shù)據(jù)庫(kù)管理系統(tǒng)
層次和網(wǎng)狀數(shù)據(jù)庫(kù)的代表產(chǎn)品是IBM公司在1969年研制出的層次模型數(shù)據(jù)庫(kù)管理系統(tǒng)。層次數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)系統(tǒng)的先驅(qū),而網(wǎng)狀數(shù)據(jù)庫(kù)則是數(shù)據(jù)庫(kù)概念、方法、技術(shù)的奠基。
2). 第二代數(shù)據(jù)庫(kù)系統(tǒng)--關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)
1970年,IBM公司的研究員E.F.Codd在題為《大型共享數(shù)據(jù)庫(kù)數(shù)據(jù)的關(guān)系模型》的論文中提出了數(shù)據(jù)庫(kù)的關(guān)系模型,為關(guān)系數(shù)據(jù)庫(kù)技術(shù)奠定了理論基礎(chǔ)。到了80年代,幾乎所有新開(kāi)發(fā)的數(shù)據(jù)庫(kù)系統(tǒng)都是關(guān)系型的。
真正使得關(guān)系數(shù)據(jù)庫(kù)技術(shù)實(shí)用化的關(guān)鍵人物是James Gray。Gray在解決如何保障數(shù)據(jù)的完整性、安全性、并發(fā)性以及數(shù)據(jù)庫(kù)的故障恢復(fù)能力等重大技術(shù)問(wèn)題方面發(fā)揮了關(guān)鍵作用。
關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的出現(xiàn),促進(jìn)了數(shù)據(jù)庫(kù)的小型化和普及化,使得在微型機(jī)上配置數(shù)據(jù)庫(kù)系統(tǒng)成為可能。
#p#
3). 新一代數(shù)據(jù)庫(kù)技術(shù)的研究和發(fā)展
目前已從多方面發(fā)展了現(xiàn)行的數(shù)據(jù)庫(kù)系統(tǒng)技術(shù)。我們可以從數(shù)據(jù)模型、新技術(shù)內(nèi)容、應(yīng)用領(lǐng)域三個(gè)方面概括新一代數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展。
(1) 面向?qū)ο蟮姆椒ê图夹g(shù)對(duì)數(shù)據(jù)庫(kù)發(fā)展的影響最為深遠(yuǎn)
80年代,面向?qū)ο蟮姆椒ê图夹g(shù)的出現(xiàn),對(duì)計(jì)算機(jī)各個(gè)領(lǐng)域,包括程序設(shè)計(jì)語(yǔ)言、軟件工程、信息系統(tǒng)設(shè)計(jì)以及計(jì)算機(jī)硬件設(shè)備等都產(chǎn)生了深遠(yuǎn)的影響,也給面臨新挑戰(zhàn)的數(shù)據(jù)庫(kù)技術(shù)帶來(lái)了新的機(jī)遇和希望。數(shù)據(jù)庫(kù)研究人員借鑒和吸收了面向?qū)ο蟮姆椒ê图夹g(shù),提出了面向?qū)ο蟮臄?shù)據(jù)庫(kù)模型(簡(jiǎn)稱(chēng)對(duì)象模型)。當(dāng)前有許多研究是建立在數(shù)據(jù)庫(kù)已有的成果和技術(shù)上的,針對(duì)不同的應(yīng)用,對(duì)傳統(tǒng)的DBMS,主要是RDBMS進(jìn)行不同層次上的擴(kuò)充,例如建立對(duì)象關(guān)系(OR)模型和建立對(duì)象關(guān)系數(shù)據(jù)庫(kù)(ORDB)。
(2) 數(shù)據(jù)庫(kù)技術(shù)與多學(xué)科技術(shù)的有機(jī)結(jié)合
數(shù)據(jù)庫(kù)技術(shù)與多學(xué)科技術(shù)的有機(jī)結(jié)合是當(dāng)前數(shù)據(jù)庫(kù)發(fā)展的重要特征。計(jì)算機(jī)領(lǐng)域中其他新興技術(shù)的發(fā)展對(duì)數(shù)據(jù)庫(kù)技術(shù)產(chǎn)生了重大影響。傳統(tǒng)的數(shù)據(jù)庫(kù)技術(shù)和其他計(jì)算機(jī)技術(shù)的結(jié)合、互相滲透,使數(shù)據(jù)庫(kù)中新的技術(shù)內(nèi)容層出不窮。數(shù)據(jù)庫(kù)的許多概念、技術(shù)內(nèi)容、應(yīng)用領(lǐng)域,甚至某些原理都有了重大的發(fā)展和變化。建立和實(shí)現(xiàn)了一系列新型的數(shù)據(jù)庫(kù),如分布式數(shù)據(jù)庫(kù)、并行數(shù)據(jù)庫(kù)、演繹數(shù)據(jù)庫(kù)、知識(shí)庫(kù)、多媒體庫(kù)、移動(dòng)數(shù)據(jù)庫(kù)等,它們共同構(gòu)成了數(shù)據(jù)庫(kù)大家族。
(3) 面向?qū)iT(mén)應(yīng)用領(lǐng)域的數(shù)據(jù)庫(kù)技術(shù)的研究
為了適應(yīng)數(shù)據(jù)庫(kù)應(yīng)用多元化的要求,在傳統(tǒng)數(shù)據(jù)庫(kù)基礎(chǔ)上,結(jié)合各個(gè)專(zhuān)門(mén)應(yīng)用領(lǐng)域的特點(diǎn),研究適合該應(yīng)用領(lǐng)域的數(shù)據(jù)庫(kù)技術(shù),如工程數(shù)據(jù)庫(kù)、統(tǒng)計(jì)數(shù)據(jù)庫(kù)、科學(xué)數(shù)據(jù)庫(kù)、空間數(shù)據(jù)庫(kù)、地理數(shù)據(jù)庫(kù)、Web數(shù)據(jù)庫(kù)等,這是當(dāng)前數(shù)據(jù)庫(kù)技術(shù)發(fā)展的又一重要特征。
同時(shí),數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)也由主機(jī)/終端的集中式結(jié)構(gòu)發(fā)展到網(wǎng)絡(luò)環(huán)境的分布式結(jié)構(gòu),隨后又發(fā)展成兩層、三層或多層客戶(hù)/服務(wù)器結(jié)構(gòu)以及Internet環(huán)境下的瀏覽器/服務(wù)器和移動(dòng)環(huán)境下的動(dòng)態(tài)結(jié)構(gòu)。多種數(shù)據(jù)庫(kù)結(jié)構(gòu)滿(mǎn)足了不同應(yīng)用的需求,適應(yīng)了不同的應(yīng)用環(huán)境。
二、數(shù)據(jù)模型
1. 數(shù)據(jù)處理的抽象描述
不同的領(lǐng)域,數(shù)據(jù)的描述也有所不同。實(shí)際生活中,有對(duì)現(xiàn)實(shí)世界的描述;理論研究中,有對(duì)符號(hào)化數(shù)據(jù)的描述;而在計(jì)算機(jī)內(nèi)部,數(shù)據(jù)又有其特定的表示方法。人們研究和處理數(shù)據(jù)的過(guò)程中,常常把數(shù)據(jù)的轉(zhuǎn)換分為三個(gè)領(lǐng)域――現(xiàn)實(shí)世界,信息世界,機(jī)器世界,這三個(gè)世界間的轉(zhuǎn)換過(guò)程,就是將客觀現(xiàn)實(shí)的信息反映到計(jì)算機(jī)數(shù)據(jù)庫(kù)中的過(guò)程。
1). 現(xiàn)實(shí)世界(Real World)
客觀存在的世界就是現(xiàn)實(shí)世界,它獨(dú)立于人們的思想之外?,F(xiàn)實(shí)世界存在無(wú)數(shù)事物,每一個(gè)客觀存在的事物可以看做是一個(gè)個(gè)體,個(gè)體有多項(xiàng)特征和屬性。比如,電視機(jī)就有價(jià)格,品牌,可視面積大小,是否彩色等特征。而不同的人,只會(huì)關(guān)心其中的一部分屬性,一定領(lǐng)域內(nèi)的個(gè)體有著相同的特征。
2). 信息世界(Information World)
信息世界是現(xiàn)實(shí)世界在人們頭腦中的反映,人的思維將現(xiàn)實(shí)世界的數(shù)據(jù)抽象化和概念化,并用文字符號(hào)表示出來(lái),就形成了信息世界。下面是人們?cè)谘芯楷F(xiàn)實(shí)世界過(guò)程中常常用到的術(shù)語(yǔ):
(1) 實(shí)體 (Entity)
客觀存在且可以互相區(qū)別的事物。如一名學(xué)生,一臺(tái)電腦,一本書(shū),一場(chǎng)聚會(huì)。實(shí)體是信息世界的基本單位。
(2) 屬性 (Attribute)
個(gè)體的某一特征稱(chēng)為屬性,一個(gè)實(shí)體可以有多個(gè)屬性,每一個(gè)屬性都有其取值范圍和取值類(lèi)型。
(3) 鍵 (Key)
能在一個(gè)實(shí)體集中唯一標(biāo)識(shí)一個(gè)實(shí)體的屬性稱(chēng)為鍵,鍵可以只包含一個(gè)屬性,也可以同時(shí)包含多個(gè)屬性。有多個(gè)鍵時(shí),選擇一個(gè)作為主鍵。鍵中的屬性稱(chēng)為主屬性。
(4) 聯(lián)系 (Relation)
實(shí)體之間互相作用,互相制約的關(guān)系稱(chēng)為實(shí)體集的聯(lián)系。實(shí)體之間的聯(lián)系有三種:一對(duì)一聯(lián)系,一對(duì)多聯(lián)系,多對(duì)多聯(lián)系。
3). 機(jī)器世界
機(jī)器世界又稱(chēng)數(shù)據(jù)世界,信息世界中的信息經(jīng)過(guò)抽象和組織,以數(shù)據(jù)形式存貯在計(jì)算機(jī)中,就稱(chēng)為機(jī)器世界。與信息世界一樣,機(jī)器世界也有其常用的、用來(lái)描述數(shù)據(jù)的術(shù)語(yǔ),這些術(shù)語(yǔ)與信息世界中的術(shù)語(yǔ)有著對(duì)應(yīng)的關(guān)系。
(1) 字段 (Field)
字段,也稱(chēng)為數(shù)據(jù)項(xiàng)(Item),標(biāo)記實(shí)體的一個(gè)屬性叫做字段,它是可以命名的最小信息單位。例如學(xué)生有學(xué)號(hào)、姓名、性別、出生日期等字段。字段與信息世界的屬性相對(duì)應(yīng)。
(2) 記錄 (Record)
記錄是有一定邏輯關(guān)系的字段的組合。它與信息世界中的實(shí)體相對(duì)應(yīng),一個(gè)記錄可以描述一個(gè)實(shí)體。例如一個(gè)學(xué)生的記錄由“學(xué)號(hào)、姓名、性別、出生日期”等字段組成。
(3) 文件 (File)
文件是同一類(lèi)記錄的集合。文件的存儲(chǔ)形式有很多種,比如順序文件、索引文件、直接文件、倒排文件等等。
4). 三個(gè)世界的轉(zhuǎn)換
由以上對(duì)三個(gè)世界的描述可以看到,從現(xiàn)實(shí)世界到信息世界再到機(jī)器世界,事務(wù)被一層層抽象,加工,符號(hào)化,邏輯化,而這個(gè)過(guò)程都是有一定聯(lián)系的。
#p#
2. 數(shù)據(jù)模型
1). 信息模型(概念模型)與E-R方法
為了把現(xiàn)實(shí)世界中的具體事物進(jìn)行抽象,人們常常首先把現(xiàn)實(shí)世界抽象為信息世界,然后再將信息世界轉(zhuǎn)化為機(jī)器世界。在把現(xiàn)實(shí)世界抽象為信息世界的過(guò)程中,實(shí)際上是抽象出現(xiàn)實(shí)系統(tǒng)中有應(yīng)用價(jià)值的元素及其關(guān)聯(lián)。這時(shí)所形成的信息結(jié)構(gòu)是概念模型。在抽象出概念模型后,再把概念模型轉(zhuǎn)換為計(jì)算機(jī)上某一DBMS支持的數(shù)據(jù)模型。需要一種方法能夠?qū)ΜF(xiàn)實(shí)世界的信息進(jìn)行描述。
實(shí)體-聯(lián)系方法(即E-R方法)是P.P.S.Chen于1976年提出的,這種方法由于簡(jiǎn)單、實(shí)用,所以得到了非常普遍的應(yīng)用,也是目前描述概念模型最常用的方法。它使用的工具稱(chēng)作E-R圖,它所描述的現(xiàn)實(shí)世界的信息結(jié)構(gòu)稱(chēng)為企業(yè)模式,也把這種描述結(jié)果稱(chēng)為E-R模型。下面概述一下E-R方法的要點(diǎn)。
(1) 用矩形框表示實(shí)體,實(shí)體名(例如學(xué)生)寫(xiě)在框內(nèi)。
(2) 用橢圓框表示實(shí)體的屬性,框內(nèi)寫(xiě)上屬性名,并用線段連到相應(yīng)的實(shí)體。例如學(xué)生的屬性有姓名、學(xué)號(hào)和年齡等。
(3) 用菱形框表示實(shí)體間的聯(lián)系,在框內(nèi)寫(xiě)上聯(lián)系名,用線段連接菱形框與矩形框,在線段旁注上聯(lián)系的類(lèi)型(一對(duì)一、一對(duì)多、多對(duì)多)。如聯(lián)系也具有屬性,則把屬性和菱形框用線段連上。
E-R圖是抽象描述現(xiàn)實(shí)世界的有力工具,它與計(jì)算機(jī)所支持的數(shù)據(jù)模型相獨(dú)立,它更接近于現(xiàn)實(shí)世界。雖然現(xiàn)實(shí)世界豐富多彩,各種信息十分繁雜,但用E-R圖可以很清晰地表示出其中的錯(cuò)綜復(fù)雜關(guān)系。下面我們用E-R圖來(lái)表示某個(gè)學(xué)校的教務(wù)管理的概念模型。
教務(wù)管理涉及的實(shí)體有:
.班級(jí) 屬性有班級(jí)編號(hào),班級(jí)名稱(chēng),專(zhuān)業(yè),班主任;
.教師 屬性有教師號(hào),姓名,性別,年齡,職稱(chēng),專(zhuān)業(yè);
.學(xué)生 屬性有學(xué)生號(hào),姓名,性別,班級(jí)編號(hào);
.課程 屬性有課程號(hào),課程名,課時(shí),學(xué)分,教材。
這些實(shí)體之間的聯(lián)系如下:
.一個(gè)班有多個(gè)教師授課,一個(gè)教師可以教多個(gè)班級(jí),班級(jí)和教師具有多對(duì)多的聯(lián)系;
.一個(gè)班有多名學(xué)生,但一個(gè)學(xué)生只能在一個(gè)班注冊(cè),因此班級(jí)與學(xué)生是一對(duì)多聯(lián)系;
.在某個(gè)時(shí)間某個(gè)地點(diǎn)一位教師可指導(dǎo)多個(gè)學(xué)生,但某個(gè)學(xué)生在某一時(shí)間和地點(diǎn)只能被一位教師所指導(dǎo),因此教師與學(xué)生是一對(duì)多聯(lián)系;一位教師可講授多門(mén)課程,一門(mén)課程可由多位教師講授,每位教師講授某門(mén)課程都有一個(gè)評(píng)價(jià),教師與課程之間是多對(duì)多聯(lián)系;
.一個(gè)學(xué)生可選修多門(mén)課程,一門(mén)課程允許多個(gè)學(xué)生選修,每個(gè)學(xué)生選修某門(mén)課程都有一個(gè)分?jǐn)?shù)(成績(jī)),因此學(xué)生與課程之間是多對(duì)多聯(lián)系。
如果某個(gè)部門(mén)的概念模型中涉及的實(shí)體和實(shí)體的屬性較多,可以把實(shí)體及其屬性在另一幅圖上畫(huà)出,使E-R圖更清晰地表明實(shí)體以及實(shí)體之間的聯(lián)系,這樣圖ER可以分為圖ER1
2). 結(jié)構(gòu)數(shù)據(jù)模型
結(jié)構(gòu)數(shù)據(jù)模型是機(jī)器世界的數(shù)據(jù)模型。實(shí)際數(shù)據(jù)庫(kù)系統(tǒng)中所支持的數(shù)據(jù)模型主要有層次模型、網(wǎng)狀模型和關(guān)系模型。
(1) 層次模型
用樹(shù)型結(jié)構(gòu)來(lái)表示實(shí)體之間聯(lián)系的模型稱(chēng)為層次模型。層次模型是滿(mǎn)足有且僅有一個(gè)根結(jié)點(diǎn),非根結(jié)點(diǎn)有且僅有一個(gè)父結(jié)點(diǎn)的基本層次聯(lián)系的集合。
構(gòu)成層次模型的樹(shù)是由結(jié)點(diǎn)和連線組成的,結(jié)點(diǎn)表示實(shí)體集,連線表示相連兩個(gè)實(shí)體之間的聯(lián)系,這種聯(lián)系只能是一對(duì)多的。通常把表示“一”的實(shí)體放在上方,稱(chēng)為父結(jié)點(diǎn);而把表示“多”的實(shí)體放在下方,稱(chēng)為子結(jié)點(diǎn)。
(2) 網(wǎng)狀模型
用網(wǎng)狀結(jié)構(gòu)來(lái)表示實(shí)體之間聯(lián)系的數(shù)據(jù)模型稱(chēng)為網(wǎng)狀模型。網(wǎng)狀模型可以有一個(gè)以上結(jié)點(diǎn)無(wú)父結(jié)點(diǎn);至少有一個(gè)結(jié)點(diǎn)具有多于一個(gè)的父結(jié)點(diǎn)。
(3) 關(guān)系模型
用一個(gè)二維表格表示實(shí)體和實(shí)體之間聯(lián)系的模型,稱(chēng)為關(guān)系模型。我們將在第三節(jié)中較詳細(xì)地介紹。
3. 數(shù)據(jù)模型的三要素
數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成。
1). 數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)是所研究的對(duì)象類(lèi)型的集合,在數(shù)據(jù)庫(kù)系統(tǒng)中通常按照數(shù)據(jù)結(jié)構(gòu)的類(lèi)型來(lái)命名數(shù)據(jù)模型,如層次結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)和關(guān)系結(jié)構(gòu)的模型分別命名為層次模型、網(wǎng)狀模型和關(guān)系模型。
2). 數(shù)據(jù)操作
數(shù)據(jù)操作是指對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。數(shù)據(jù)操作是用來(lái)描述系統(tǒng)的信息變化的,是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。
數(shù)據(jù)操作的種類(lèi)有以下兩種:檢索(如查詢(xún))和更新(增、刪、改)。
3). 數(shù)據(jù)的約束條件
數(shù)據(jù)的約束條件是完整性規(guī)則的集合,完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。
4. 數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用
數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用領(lǐng)域非常廣,從目前接觸到的一些應(yīng)用的發(fā)展來(lái)看,尤其是Internet的發(fā)展以及多種信息技術(shù)交叉與發(fā)展,還對(duì)數(shù)據(jù)庫(kù)技術(shù)提出了更多的需求,從而促進(jìn)了數(shù)據(jù)庫(kù)技術(shù)的不斷發(fā)展。
1). 多媒體數(shù)據(jù)庫(kù)
多媒體是80年代發(fā)展起來(lái)的計(jì)算機(jī)新技術(shù),它是在傳統(tǒng)計(jì)算機(jī)應(yīng)用技術(shù),即對(duì)數(shù)據(jù)處理、字符處理、文字處理、圖形處理、聲音處理等技術(shù)綜合繼承的基礎(chǔ)上,引進(jìn)了新鮮的技術(shù)內(nèi)容和設(shè)備,例如影視處理技術(shù)、CD-ROM、各種專(zhuān)用芯片和功能卡等,以及爾后形成的計(jì)算機(jī)集成新技術(shù)。多媒體技術(shù)為擴(kuò)展計(jì)算機(jī)的應(yīng)用范圍、應(yīng)用深度和表現(xiàn)能力提供了極好的支持?;诙嗝襟w技術(shù)的應(yīng)用系統(tǒng)開(kāi)發(fā),其技術(shù)內(nèi)容又包括了多媒體處理技術(shù)和多媒體管理技術(shù),更準(zhǔn)確地說(shuō)是對(duì)多媒體對(duì)象或多媒體數(shù)據(jù)的處理技術(shù)和管理技術(shù)。
2). 因特網(wǎng)上的web數(shù)據(jù)庫(kù)
因特網(wǎng)(Internet)是一個(gè)全球性的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng),它可將分布在世界各地的各種計(jì)算機(jī)系統(tǒng)及各種網(wǎng)絡(luò)用戶(hù)連接在一起,通過(guò)采用共同的網(wǎng)絡(luò)通信協(xié)議在不同的網(wǎng)絡(luò)和操作系統(tǒng)間交換數(shù)據(jù)。
隨著WWW的迅速擴(kuò)展,WWW上可用數(shù)據(jù)源的數(shù)量也在迅速增長(zhǎng)。因此人們正在試圖把WWW上的數(shù)據(jù)源集成為一個(gè)完整的Web數(shù)據(jù)庫(kù),從而使這些數(shù)據(jù)源得到充分的利用。
#p#
三、數(shù)據(jù)庫(kù)的形勢(shì)及其發(fā)展
進(jìn)入二十世紀(jì)八十年代之后,計(jì)算機(jī)硬件技術(shù)有了飛速的提高。計(jì)算機(jī)技術(shù)的提高促使計(jì)算機(jī)應(yīng)用不斷深入,產(chǎn)生了許多新的應(yīng)用領(lǐng)域,例如計(jì)算機(jī)輔助設(shè)計(jì)、計(jì)算機(jī)輔助制造、計(jì)算機(jī)輔助教學(xué)、辦公自動(dòng)化、智能信息處理、決策支持等。這些新的領(lǐng)域?qū)?shù)據(jù)庫(kù)系統(tǒng)提出了新的要求。但是由于應(yīng)用的多元化,不能設(shè)計(jì)出一個(gè)統(tǒng)一的數(shù)據(jù)模型來(lái)表示這些新型的數(shù)據(jù)及其相互關(guān)系,因而出現(xiàn)了百家爭(zhēng)鳴的局面,產(chǎn)生了演繹數(shù)據(jù)庫(kù)、面向?qū)ο髷?shù)據(jù)庫(kù)、分布式數(shù)據(jù)庫(kù)、工程數(shù)據(jù)庫(kù)、時(shí)態(tài)數(shù)據(jù)庫(kù)、模糊數(shù)據(jù)庫(kù)等新型數(shù)據(jù)庫(kù)的研究和應(yīng)用。
不過(guò)到目前為止,在世界范圍內(nèi)得到主流應(yīng)用的還是經(jīng)典的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),比較知名的如Sybase,Oracle,Informix,SQL Server,DB2等。
時(shí)代在飛速發(fā)展,數(shù)據(jù)庫(kù)也不甘后退,它的一步步更新都會(huì)造福于人類(lèi),但只有學(xué)會(huì)了最基礎(chǔ)的數(shù)據(jù)庫(kù)技術(shù)知識(shí)才能去學(xué)習(xí)更深一層。
【編輯推薦】