SQL技術(shù)與網(wǎng)絡(luò)數(shù)據(jù)庫開發(fā)詳解一章_第1頁
SQL技術(shù)與網(wǎng)絡(luò)數(shù)據(jù)庫開發(fā)詳解一章_第2頁
SQL技術(shù)與網(wǎng)絡(luò)數(shù)據(jù)庫開發(fā)詳解一章_第3頁
SQL技術(shù)與網(wǎng)絡(luò)數(shù)據(jù)庫開發(fā)詳解一章_第4頁
SQL技術(shù)與網(wǎng)絡(luò)數(shù)據(jù)庫開發(fā)詳解一章_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、111第第 章章導(dǎo)讀數(shù)據(jù)庫基礎(chǔ): 數(shù)據(jù)庫基礎(chǔ)知識(shí): 數(shù)據(jù)庫發(fā)展史: 當(dāng)今流行的數(shù)據(jù)庫管理系統(tǒng)簡介數(shù)據(jù)庫技術(shù)是現(xiàn)代計(jì)算機(jī)應(yīng)用的一項(xiàng)重要技術(shù),在計(jì)算機(jī)應(yīng)用領(lǐng)域中被廣泛地使用,成為計(jì)算機(jī)軟件開發(fā)不可缺少的一部分。數(shù)據(jù)庫技術(shù)是20世紀(jì)60年代末開始興起的一門數(shù)據(jù)處理與信息管理的學(xué)科,是計(jì)算機(jī)科學(xué)中的一個(gè)重要分支。本章主要介紹數(shù)據(jù)庫的歷史、特點(diǎn)以及組成。1.1 數(shù)據(jù)庫基礎(chǔ)知識(shí)本節(jié)將介紹有關(guān)數(shù)據(jù)庫的一些概念、數(shù)據(jù)庫的發(fā)展史、數(shù)據(jù)庫系統(tǒng)的特點(diǎn)和數(shù)據(jù)庫系統(tǒng)的組成等數(shù)據(jù)庫基礎(chǔ)知識(shí)。1.1.1 幾個(gè)數(shù)據(jù)庫應(yīng)用案例自從計(jì)算機(jī)被發(fā)明之后,人類社會(huì)就進(jìn)入了高速發(fā)展階段,大量的信息堆積在人們面前。此時(shí),如何組織存放這些信

2、息,如何在需要時(shí)快速檢索出信息,以及如何讓所有用戶共享這些信息就成為一個(gè)大問題。數(shù)據(jù)庫技術(shù)就是在這種背景下誕生的,這也是使用數(shù)據(jù)庫的原因。當(dāng)今,世界上每一個(gè)人的生活幾乎都離不開數(shù)據(jù)庫了。如果沒有數(shù)據(jù)庫,很多事情幾乎無法解決。例如,沒有銀行存款數(shù)據(jù)庫,則取錢就會(huì)成為一個(gè)很復(fù)雜的問題,更不用說異地取款了。又如,如果沒有手機(jī)用戶數(shù)據(jù)庫,難以想象計(jì)費(fèi)系統(tǒng)會(huì)怎樣工作;沒有計(jì)費(fèi)系統(tǒng),人們也就不能隨心所欲地?fù)艽蚴謾C(jī)了。還有,沒有數(shù)據(jù)庫的支持,網(wǎng)絡(luò)搜索引擎就無法繼續(xù)工作,網(wǎng)上購物就更不用想了。可見,數(shù)據(jù)庫應(yīng)用在不知不覺中已經(jīng)遍布了人們生活的各個(gè)角落。1.1.2 相關(guān)數(shù)據(jù)庫的名詞在學(xué)習(xí)具體的數(shù)據(jù)庫管理系統(tǒng)和SQ

3、L語言之前,首先應(yīng)該了解有關(guān)數(shù)據(jù)庫的一些名詞。因?yàn)楣P者發(fā)現(xiàn),即使學(xué)習(xí)過具體數(shù)據(jù)庫管理系統(tǒng)的人員也通常會(huì)混淆這些名詞,雖然這并不妨礙其表達(dá)出來的意思,但聽起來總是很別扭。下面就是容易讓人混淆的幾個(gè)關(guān)于數(shù)據(jù)庫的名詞及其解釋。1數(shù)據(jù)庫數(shù)據(jù)庫(DB)是一個(gè)以某種組織方式存儲(chǔ)在磁盤上的數(shù)據(jù)的集合。它通過現(xiàn)有的數(shù)據(jù)庫管理系統(tǒng)(例如,Access、SQL Server和Oracle等)創(chuàng)建和管理。數(shù)據(jù)庫不僅包括描述事物的數(shù)據(jù)本身,而且還包括相關(guān)事物之間的聯(lián)系。數(shù)據(jù)庫中存放的數(shù)據(jù)可以被多個(gè)用戶或多個(gè)應(yīng)用程序共享。例如,某航空公司票務(wù)管理系統(tǒng)的數(shù)據(jù)庫,在同一時(shí)刻可能有多個(gè)售票場所都在訪問或更改該數(shù)據(jù)庫中的數(shù)據(jù)。

4、2數(shù)據(jù)庫應(yīng)用系統(tǒng)數(shù)據(jù)庫應(yīng)用系統(tǒng)是指基于數(shù)據(jù)庫的應(yīng)用軟件,例如學(xué)生管理系統(tǒng)、財(cái)務(wù)管理系統(tǒng)等。數(shù)據(jù)庫應(yīng)用系統(tǒng)由兩部分組成,分別是數(shù)據(jù)庫和程序。數(shù)據(jù)庫由數(shù)據(jù)庫管理系統(tǒng)軟件創(chuàng)建,而程序可以由任何支持?jǐn)?shù)據(jù)庫編程的程序設(shè)計(jì)語言編寫,如C語言、Visual Basic、Java等。3數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)用來創(chuàng)建和維護(hù)數(shù)據(jù)庫。例如,Access、SQL Server、Oracle、PostgreSQL等都是數(shù)據(jù)庫管理系統(tǒng)。圖1.1描述了DB、DBMS和數(shù)據(jù)庫應(yīng)用系統(tǒng)之間的聯(lián)系。圖1.1 DB、DBMS和數(shù)據(jù)庫應(yīng)用系統(tǒng)之間的聯(lián)系4關(guān)系數(shù)據(jù)庫管理系統(tǒng)關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)是DBMS的

5、一種,它用于創(chuàng)建和維護(hù)關(guān)系數(shù)據(jù)庫。當(dāng)今流行的大多數(shù)DBMS,其實(shí)都是關(guān)系數(shù)據(jù)庫管理系統(tǒng),如Access、SQL Server和Oracle等。5對象-關(guān)系型數(shù)據(jù)庫管理系統(tǒng)對象-關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)也是DBMS的一種,它用于創(chuàng)建和維護(hù)面向?qū)ο髷?shù)據(jù)庫。當(dāng)今最佳的對象-關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的代表是PostgreSQL。1.1.3 計(jì)算機(jī)數(shù)據(jù)管理數(shù)據(jù)管理的歷史由來已久,早在計(jì)算機(jī)發(fā)明之前,人們就在紙或者竹簡甚至在石頭上記錄各種數(shù)據(jù),以此對數(shù)據(jù)進(jìn)行管理和處理。在發(fā)明計(jì)算機(jī)之后,人們開始逐漸使用計(jì)算機(jī)管理各種數(shù)據(jù)。這一過程經(jīng)歷了人工管理、文件系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、分布式數(shù)據(jù)庫系統(tǒng)和面向?qū)ο髷?shù)據(jù)

6、庫系統(tǒng)等幾個(gè)階段。1人工管理階段20世紀(jì)50年代中期以前,計(jì)算機(jī)還沒有類似于硬盤的外部存儲(chǔ)設(shè)備,只能將數(shù)據(jù)存儲(chǔ)在卡片、紙帶、磁帶等設(shè)備上,所以,隨機(jī)訪問、直接存取數(shù)據(jù)在那個(gè)年代是不可能完成的工作。那時(shí)也沒有專門管理數(shù)據(jù)的軟件,數(shù)據(jù)和處理它的程序放在一起保存為一個(gè)文件,所以程序設(shè)計(jì)人員就充當(dāng)了數(shù)據(jù)管理員的角色,負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)、存取方法和輸入輸出方式等。由于數(shù)據(jù)和程序放在一起,所以根本就不能重用或允許其他程序共享數(shù)據(jù)。當(dāng)需要編寫使用同樣數(shù)據(jù)的新程序時(shí),還必須在新程序下手動(dòng)重寫同樣的數(shù)據(jù),因此造成了不同程序文件中存有大量重復(fù)數(shù)據(jù)的問題,這就是數(shù)據(jù)的冗余。2文件系統(tǒng)階段20世紀(jì)50年代后期至60年

7、代中后期,計(jì)算機(jī)開始被用來進(jìn)行數(shù)據(jù)處理,而且是大量用于數(shù)據(jù)處理。因此,數(shù)據(jù)存儲(chǔ)、查詢檢索和維護(hù)的需求就變得非常重要。這一時(shí)期,可直接存取的硬盤(磁盤)成為了主要的外部存儲(chǔ)器,而且還出現(xiàn)了高級(jí)語言和操作系統(tǒng)。操作系統(tǒng)中的文件系統(tǒng)是專門管理外部存儲(chǔ)器的數(shù)據(jù)管理軟件。在這一階段,人們開始將程序和數(shù)據(jù)分開存儲(chǔ),即出現(xiàn)了程序文件和數(shù)據(jù)文件的區(qū)別,也使得數(shù)據(jù)文件可以被多個(gè)不同的程序多次使用。但是,文件系統(tǒng)中的數(shù)據(jù)文件是為了滿足特定業(yè)務(wù)領(lǐng)域或某部門的專門需要而設(shè)計(jì)的,服務(wù)于某個(gè)特定應(yīng)用程序,數(shù)據(jù)和程序的依賴程度非常大,同一個(gè)數(shù)據(jù)項(xiàng)可能重復(fù)出現(xiàn)在多個(gè)數(shù)據(jù)文件中,導(dǎo)致數(shù)據(jù)冗余大,且非常容易造成數(shù)據(jù)的不一致性。例

8、如,A文件中的張三的職稱被修改為教授,而B文件中的張三的職稱由于疏忽未進(jìn)行修改依然還是副教授等。因?yàn)樯鲜鰡栴}的存在,文件系統(tǒng)越來越不能滿足日益增長的信息需求,所以人們開始了探索數(shù)據(jù)庫技術(shù)的征程。3數(shù)據(jù)庫系統(tǒng)階段從20世紀(jì)60年代后期開始,需要計(jì)算機(jī)管理的數(shù)據(jù)量急劇增長,同時(shí)對數(shù)據(jù)共享的需求也日趨強(qiáng)烈,文件系統(tǒng)的數(shù)據(jù)管理方法已經(jīng)無法再適應(yīng)開發(fā)應(yīng)用系統(tǒng)的需求了。為了實(shí)現(xiàn)計(jì)算機(jī)對數(shù)據(jù)的統(tǒng)一管理,并達(dá)到數(shù)據(jù)共享的目的,人們發(fā)展了數(shù)據(jù)庫技術(shù)。數(shù)據(jù)庫技術(shù)主要解決了以下幾類問題。q 提高了數(shù)據(jù)的共享性,使多個(gè)用戶能夠使用同一個(gè)數(shù)據(jù)庫中的數(shù)據(jù)。q 可以最大程度地減少數(shù)據(jù)的冗余度,以此提高數(shù)據(jù)的一致性和完整性。

9、q 在很大程度上使數(shù)據(jù)和程序相互獨(dú)立,從而在改變程序或改變數(shù)據(jù)時(shí)減少了相互的影響。4分布式數(shù)據(jù)庫系統(tǒng)階段在20世紀(jì)70年代后期以前,多數(shù)數(shù)據(jù)庫系統(tǒng)是集中式的,這種數(shù)據(jù)管理技術(shù)在某些情況下會(huì)出現(xiàn)一些問題,例如,當(dāng)同一時(shí)刻訪問數(shù)據(jù)庫的用戶特別多時(shí),就會(huì)嚴(yán)重影響數(shù)據(jù)庫的效率,甚至由于網(wǎng)絡(luò)堵塞,用戶的終端會(huì)很長時(shí)間內(nèi)不作出任何反應(yīng)。除此之外,美國軍方由于戰(zhàn)略方面的考慮也急需將集中的數(shù)據(jù)分開放在不同地理位置的機(jī)器上,以保證數(shù)據(jù)不會(huì)一次性被徹底破壞掉。由于上述原因,分布式數(shù)據(jù)庫系統(tǒng)走上了數(shù)據(jù)管理的歷史舞臺(tái)。分布式數(shù)據(jù)庫系統(tǒng)分為物理上分布、邏輯上集中的分布式數(shù)據(jù)庫結(jié)構(gòu)和物理上分布、邏輯上分布的分布式數(shù)據(jù)庫結(jié)

10、構(gòu)兩種。q 物理上分布、邏輯上集中的分布式數(shù)據(jù)庫結(jié)構(gòu),是一個(gè)邏輯上統(tǒng)一,而數(shù)據(jù)存放的地理位置不同的數(shù)據(jù)管理方式。這些地理位置不同的數(shù)據(jù)組成了邏輯上的一個(gè)整體數(shù)據(jù)庫,并受分布式數(shù)據(jù)庫管理系統(tǒng)的統(tǒng)一控制和管理,這就使得不同地理位置上的用戶可以就近存取數(shù)據(jù),而不用再訪問遠(yuǎn)端數(shù)據(jù)庫中的數(shù)據(jù)了,從而也提高了數(shù)據(jù)庫系統(tǒng)的效率。q 物理上分布、邏輯上分布的分布式數(shù)據(jù)庫結(jié)構(gòu),實(shí)際上是將很多獨(dú)立的集中式數(shù)據(jù)庫通過網(wǎng)絡(luò)連接起來,共享給網(wǎng)絡(luò)用戶的數(shù)據(jù)管理方式。在這種結(jié)構(gòu)中每個(gè)獨(dú)立的集中式數(shù)據(jù)庫都由本地?cái)?shù)據(jù)庫管理系統(tǒng)自行管理。5面向?qū)ο髷?shù)據(jù)庫系統(tǒng)面向?qū)ο笏枷肫鹪从诔绦蛟O(shè)計(jì)語言,但如今它卻被廣泛地應(yīng)用在計(jì)算機(jī)科學(xué)的各個(gè)

11、領(lǐng)域,發(fā)展之迅猛令人驚嘆。面向?qū)ο髷?shù)據(jù)庫是數(shù)據(jù)庫技術(shù)與面向?qū)ο蟪绦蛟O(shè)計(jì)相結(jié)合的產(chǎn)物,是面向?qū)ο蠓椒ㄔ跀?shù)據(jù)庫領(lǐng)域中的實(shí)現(xiàn)和應(yīng)用。不過,目前面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的商品化現(xiàn)狀不是很好,其原因是多方面的,在此就不一一介紹了,如果讀者感興趣,也可以參閱相關(guān)書籍。1.1.4 數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)是指引進(jìn)數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng),由4部分組成,即計(jì)算機(jī)硬件、數(shù)據(jù)庫集合、數(shù)據(jù)庫管理系統(tǒng)及相關(guān)軟件和人員。1計(jì)算機(jī)硬件計(jì)算機(jī)硬件是指有形的物理設(shè)備,它是計(jì)算機(jī)系統(tǒng)中實(shí)際物理設(shè)備的總稱,由各種元器件和電子線路組成。計(jì)算機(jī)硬件的配置必須滿足數(shù)據(jù)庫系統(tǒng)的需要。2數(shù)據(jù)庫集合數(shù)據(jù)庫集合是存放數(shù)據(jù)的倉庫,它是將數(shù)據(jù)按一定格式

12、有組織地存放在計(jì)算機(jī)存儲(chǔ)器中,并實(shí)現(xiàn)數(shù)據(jù)共享功能的數(shù)據(jù)集合。數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)操作的對象,可為多種應(yīng)用服務(wù),具有共享性、集中性、獨(dú)立性與較小的數(shù)據(jù)冗余。數(shù)據(jù)庫應(yīng)包含數(shù)據(jù)表、索引表、查詢表與視圖。3數(shù)據(jù)庫管理系統(tǒng)及相關(guān)軟件數(shù)據(jù)庫管理系統(tǒng)(DBMS)對數(shù)據(jù)庫進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。用戶通過數(shù)據(jù)庫管理系統(tǒng)訪問數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫管理員也通過數(shù)據(jù)庫管理系統(tǒng)進(jìn)行數(shù)據(jù)庫的維護(hù)工作。DBMS有以下4個(gè)基本功能:q 數(shù)據(jù)定義功能:可以通過DBMS提供的數(shù)據(jù)定義語言DDL對數(shù)據(jù)庫的數(shù)據(jù)對象進(jìn)行定義。q 數(shù)據(jù)操縱功能:可以通過DBMS提供的數(shù)據(jù)操縱語言DML對數(shù)據(jù)庫進(jìn)行基本操作,如查

13、詢、插入、刪除與修改等。q 數(shù)據(jù)庫的運(yùn)行管理:DBMS能統(tǒng)一地對數(shù)據(jù)庫在建立、運(yùn)行和維護(hù)時(shí)進(jìn)行管理與控制,可保證數(shù)據(jù)庫的安全性與完整性,并使數(shù)據(jù)庫在故障后得以恢復(fù)。q 數(shù)據(jù)庫的建立和維護(hù)功能:DBMS能對數(shù)據(jù)庫進(jìn)行初始輸入、數(shù)據(jù)轉(zhuǎn)換與修改、恢復(fù)與重組、性能監(jiān)控與分析,以確保數(shù)據(jù)庫系統(tǒng)的正常運(yùn)行。DBMS是數(shù)據(jù)庫系統(tǒng)的核心軟件,位于用戶和操作系統(tǒng)之間。DBMS的以上功能是由一些系統(tǒng)程序與相關(guān)軟件模塊完成的。4人員人員是指使用數(shù)據(jù)庫的人。數(shù)據(jù)庫系統(tǒng)中主要有如下4類人員:q 數(shù)據(jù)庫管理員:負(fù)責(zé)數(shù)據(jù)庫系統(tǒng)正常運(yùn)行的高級(jí)人員,決定數(shù)據(jù)庫的數(shù)據(jù)內(nèi)容、存儲(chǔ)結(jié)構(gòu)、定義數(shù)據(jù)的安全性與完整性、監(jiān)控?cái)?shù)據(jù)庫的運(yùn)行與數(shù)

14、據(jù)的重組恢復(fù)。q 系統(tǒng)分析員:負(fù)責(zé)數(shù)據(jù)庫應(yīng)用系統(tǒng)的需求分析、規(guī)范說明、與用戶及數(shù)據(jù)庫管理員一起確定系統(tǒng)的軟硬件配置,參與概要設(shè)計(jì)。q 數(shù)據(jù)庫設(shè)計(jì)人員與應(yīng)用程序員:負(fù)責(zé)數(shù)據(jù)庫中數(shù)據(jù)的確定、數(shù)據(jù)庫的模式設(shè)計(jì)、應(yīng)用程序的編寫,參與需求分析與系統(tǒng)分析。q 最終用戶:通過數(shù)據(jù)庫系統(tǒng)提供的應(yīng)用軟件對數(shù)據(jù)庫進(jìn)行使用與訪問。數(shù)據(jù)庫系統(tǒng)的組成如圖1.2所示。1.1.5 數(shù)據(jù)庫系統(tǒng)的特點(diǎn)數(shù)據(jù)庫系統(tǒng)能被廣泛地應(yīng)用起來,原因是它有很多特點(diǎn),或者應(yīng)該說是優(yōu)點(diǎn)。下面列出了數(shù)據(jù)庫系統(tǒng)的特點(diǎn)供讀者參閱。q 最低的數(shù)據(jù)冗余度:最低程度地減少了數(shù)據(jù)庫系統(tǒng)中的重復(fù)數(shù)據(jù),使存取速度更快,在有限的存儲(chǔ)空間內(nèi)可以存放更多的數(shù)據(jù)。q 避免

15、數(shù)據(jù)的不一致、具有較高的數(shù)據(jù)獨(dú)立性:數(shù)據(jù)和程序彼此獨(dú)立,數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的變化盡量不影響用戶程序的使用,使應(yīng)用程序的開發(fā)更加自由。q 數(shù)據(jù)可以共享:可以使更多的用戶更充分地使用已有數(shù)據(jù)資源,減少資料收集、數(shù)據(jù)采集等重復(fù)勞動(dòng)和相應(yīng)費(fèi)用,降低了系統(tǒng)開發(fā)的成本,使用戶提高了工作效率。q 具有數(shù)據(jù)安全性和完整性保障:數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)的安全性,可以防止數(shù)據(jù)丟失和被非法使用;具有數(shù)據(jù)的完整性,可以保護(hù)數(shù)據(jù)的正確、有效和相容。q 并發(fā)控制和數(shù)據(jù)恢復(fù):數(shù)據(jù)可以并發(fā)控制,避免并發(fā)程序之間的相互干擾,多用戶操作可以進(jìn)行并行調(diào)度;具有數(shù)據(jù)的恢復(fù)功能,在數(shù)據(jù)庫被破壞或數(shù)據(jù)不可靠時(shí),系統(tǒng)有能力把數(shù)據(jù)庫恢復(fù)到最近某個(gè)時(shí)刻的

16、正確狀態(tài)。q 易于使用、便于擴(kuò)展:數(shù)據(jù)庫系統(tǒng)的使用簡單,開發(fā)的應(yīng)用軟件便于用戶掌握。圖1.2 數(shù)據(jù)庫系統(tǒng)1.2 數(shù)據(jù)庫發(fā)展史為了反映事物本身及事物之間的各種聯(lián)系,數(shù)據(jù)庫中的數(shù)據(jù)必須有一定的結(jié)構(gòu),這種結(jié)構(gòu)用數(shù)據(jù)模型表示。因此,數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ),具體的數(shù)據(jù)庫系統(tǒng)都基于一定的數(shù)據(jù)模型。隨著數(shù)據(jù)模型的發(fā)展,數(shù)據(jù)庫系統(tǒng)被分為了第一代、第二代和第三代等。1.2.1 第一代數(shù)據(jù)庫第一代數(shù)據(jù)庫是層次和網(wǎng)狀模型數(shù)據(jù)庫系統(tǒng)時(shí)代。雖然層次模型基于樹形結(jié)構(gòu),網(wǎng)狀模型基于有向圖結(jié)構(gòu),但它們具有很多共同的特征,因此,它們被統(tǒng)稱為第一代數(shù)據(jù)庫系統(tǒng)。第一代數(shù)據(jù)庫的典型產(chǎn)品有基于層次模型的IMS系統(tǒng)(信息管理系

17、統(tǒng)),該系統(tǒng)由IBM公司于1969年研制成功。另一個(gè)典型代表是美國數(shù)據(jù)庫系統(tǒng)語言協(xié)商會(huì)(CODASYL)下屬的數(shù)據(jù)庫任務(wù)組(DBTG)在20世紀(jì)60年代后期寫成的第一個(gè)數(shù)據(jù)庫標(biāo)準(zhǔn)規(guī)范CODASYL DBTG 1971報(bào)告。1.2.2 第二代數(shù)據(jù)庫第二代數(shù)據(jù)庫是以關(guān)系模型為基礎(chǔ)的關(guān)系數(shù)據(jù)庫。1970年,IBM公司的研究員E.F.Codd在題為大型共享數(shù)據(jù)庫數(shù)據(jù)的關(guān)系模型的論文中提出了數(shù)據(jù)庫的關(guān)系模型,為關(guān)系數(shù)據(jù)庫技術(shù)奠定了理論基礎(chǔ)。關(guān)系模型建立之后,IBM公司在San Jose實(shí)驗(yàn)室增加了更多的研究人員研究這個(gè)項(xiàng)目,這個(gè)項(xiàng)目就是著名的System R,其目標(biāo)是論證一個(gè)全功能關(guān)系數(shù)據(jù)庫管理系統(tǒng)的可

18、行性。該項(xiàng)目結(jié)束于1979年,完成了第一個(gè)實(shí)現(xiàn)SQL的數(shù)據(jù)庫管理系統(tǒng),1980年System R作為一個(gè)產(chǎn)品正式推向市場。同時(shí),1973年加州大學(xué)伯克利分校的Michael Stonebraker和Eugene Wong利用System R已發(fā)布的信息開始開發(fā)自己的關(guān)系數(shù)據(jù)庫系統(tǒng)Ingres。他們開發(fā)的Ingres項(xiàng)目最后由Oracle公司、Ingres公司以及硅谷的其他廠商所商品化。后來,System R和Ingres系統(tǒng)雙雙獲得ACM的1988年“軟件系統(tǒng)獎(jiǎng)”。1976年霍尼韋爾公司(Honeywell)開發(fā)了第一個(gè)商用關(guān)系數(shù)據(jù)庫系統(tǒng)Multics Relational Data Stor

19、e。關(guān)系型數(shù)據(jù)庫系統(tǒng)以關(guān)系代數(shù)為堅(jiān)實(shí)的理論基礎(chǔ),經(jīng)過幾十年的發(fā)展和實(shí)際應(yīng)用,技術(shù)越來越成熟和完善,到了20世紀(jì)80年代,幾乎所有新開發(fā)的數(shù)據(jù)庫系統(tǒng)都是關(guān)系型的,其代表產(chǎn)品有Oracle公司的Oracle、IBM公司的DB2、微軟公司的MS SQL Server等。關(guān)系模型是以二維表格來描述實(shí)體間的關(guān)系,它是由若干關(guān)系模式組成的集合。關(guān)系是一個(gè)實(shí)例,一個(gè)關(guān)系對應(yīng)一張二維表。在表格中,每一列稱為屬性或稱為字段(域),每一行數(shù)據(jù)稱為一條記錄。關(guān)系模型可以表示屬性之間的一對一、一對多的關(guān)系,也可以表示其多對多的關(guān)系。1.2.3 第三代數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫概念簡單、性能好,并且便于用戶掌握,所以其應(yīng)用相當(dāng)廣

20、泛。隨著信息技術(shù)和市場的發(fā)展,人們發(fā)現(xiàn)關(guān)系型數(shù)據(jù)庫系統(tǒng)雖然技術(shù)很成熟,但其局限性也是顯而易見的:其雖然可以很好地處理所謂的“表格型數(shù)據(jù)”,但卻對技術(shù)界出現(xiàn)的越來越多的復(fù)雜類型的數(shù)據(jù)無能為力?,F(xiàn)實(shí)世界存在著許多含有更為復(fù)雜數(shù)據(jù)結(jié)構(gòu)的應(yīng)用領(lǐng)域,例如圖形數(shù)據(jù)、人工智能等,需要有一種新的數(shù)據(jù)模型來表示這類信息,這就是第三代數(shù)據(jù)庫。20世紀(jì)90年代以后,技術(shù)界一直在研究和尋求新型數(shù)據(jù)庫系統(tǒng),但在什么是新型數(shù)據(jù)庫系統(tǒng)的發(fā)展方向問題上,產(chǎn)業(yè)界一度是相當(dāng)困惑的。受當(dāng)時(shí)技術(shù)風(fēng)潮的影響,在相當(dāng)一段時(shí)間內(nèi),人們把大量的精力花在研究“面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)(Object Oriented Database)”或簡稱“O

21、O數(shù)據(jù)庫系統(tǒng)”上。然而,數(shù)年的發(fā)展表明,面向?qū)ο蟮年P(guān)系型數(shù)據(jù)庫系統(tǒng)產(chǎn)品的市場發(fā)展情況并不理想。理論上的完美性并沒有帶來市場的熱烈反應(yīng),其不成功的主要原因在于,這種數(shù)據(jù)庫產(chǎn)品的主要設(shè)計(jì)思想是企圖用新型數(shù)據(jù)庫系統(tǒng)來取代現(xiàn)有的數(shù)據(jù)庫系統(tǒng)。對于許多已經(jīng)運(yùn)用數(shù)據(jù)庫系統(tǒng)多年并積累了大量工作數(shù)據(jù)的客戶,尤其是對大客戶來說,其無法承受新舊數(shù)據(jù)間的轉(zhuǎn)換而帶來的巨大工作量及巨額開支。1.3 當(dāng)今流行的數(shù)據(jù)庫管理系統(tǒng)簡介本節(jié)將簡單介紹一些當(dāng)今流行的、常用的數(shù)據(jù)庫管理系統(tǒng),包括Access、SQL Server、Oracle、MySQL、DB2和PostgreSQL等。1AccessAccess數(shù)據(jù)庫管理系統(tǒng)是Mic

22、rosoft Office套裝軟件的成員,它由美國Microsoft公司于1994年推出,是典型的新一代桌面數(shù)據(jù)庫管理系統(tǒng),運(yùn)行于Windows操作系統(tǒng)平臺(tái)。其主要用戶為個(gè)人和小型企業(yè),當(dāng)前很多小型ASP網(wǎng)站也用Access創(chuàng)建和管理后臺(tái)數(shù)據(jù)庫。Access的最大特點(diǎn)是:易學(xué)易用,開發(fā)簡單;其最大的問題是:安全性問題。目前Access的最新版本為Access 2008。2SQL ServerSQL Server數(shù)據(jù)庫管理系統(tǒng)最初由Microsoft、Sybase 和Ashton-Tate 3家公司共同研發(fā),后來Microsoft公司主要開發(fā)、商品化Windows NT平臺(tái)上的SQL Server,而Sybase公司則主要研發(fā)SQL Server在Unix平臺(tái)上的應(yīng)用。現(xiàn)在人們所說的SQL Server是Microsoft SQL Server的簡稱。目前Microsoft SQL Server的最新版本為SQL Server 2008,但多數(shù)SQL Server的老用戶仍舊鐘情于SQL Server 2000。因此,本書采用SQL Server 2000作為SQL語言的實(shí)驗(yàn)環(huán)境。Microsoft SQL Server是一種基于客戶機(jī)/服務(wù)器的關(guān)系數(shù)據(jù)庫管理系統(tǒng),其專門為大中型企業(yè)提供數(shù)據(jù)管理功能,其安全性和保密性非常好,因此,目前也有很多大中型網(wǎng)站采用Microsoft S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論