版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一章 數(shù)據(jù)庫的基本概念第1章 數(shù)據(jù)庫的基本概念1.1 數(shù)據(jù)庫基本概念數(shù)據(jù)庫基本概念1.2 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計1.3 數(shù)據(jù)庫應(yīng)用系統(tǒng)數(shù)據(jù)庫應(yīng)用系統(tǒng)1.4 SQL Server 2008環(huán)境環(huán)境1.1 數(shù)據(jù)庫基本概念1.1.1 數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)b 1數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)庫(DB)是存放數(shù)據(jù)的倉庫,只不過這些數(shù)據(jù)存在一定的關(guān)聯(lián),并按一定的格式存放在計算機(jī)內(nèi)。廣義上講,數(shù)據(jù)不僅包含數(shù)字,還包括文本、圖像、音頻、視頻等。例如,把一個學(xué)校的學(xué)生、課程、學(xué)生成績等數(shù)據(jù)有序地組織并存放在計算機(jī)內(nèi),就可以構(gòu)成一個數(shù)據(jù)庫。因此,數(shù)據(jù)庫由一些持久的相互關(guān)聯(lián)的數(shù)據(jù)的集合組成,并以一定的組織
2、形式存放在計算機(jī)的存儲介質(zhì)中。b2數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)是管理數(shù)據(jù)庫的系統(tǒng),它按一定的數(shù)據(jù)模型組織數(shù)據(jù)。DBMS應(yīng)提供如下功能:(1)數(shù)據(jù)定義功能:可定義數(shù)據(jù)庫中的數(shù)據(jù)對象。(2)數(shù)據(jù)操縱功能:可對數(shù)據(jù)庫表進(jìn)行基本操作,如插入、刪除、修改、查詢等。(3)數(shù)據(jù)的完整性檢查功能:保證用戶輸入的數(shù)據(jù)滿足相應(yīng)的約束條件。(4)數(shù)據(jù)庫的安全保護(hù)功能:保證只有具有權(quán)限的用戶才能訪問數(shù)據(jù)庫中的數(shù)據(jù)。(5)數(shù)據(jù)庫的并發(fā)控制功能:使多個應(yīng)用程序可在同一時刻并發(fā)地訪問數(shù)據(jù)庫的數(shù)據(jù)。(6)數(shù)據(jù)庫系統(tǒng)的故障恢復(fù)功能:使數(shù)據(jù)庫在運(yùn)行出現(xiàn)故障時進(jìn)行數(shù)據(jù)庫恢復(fù),以保證數(shù)據(jù)庫可靠運(yùn)行。(7)在
3、網(wǎng)絡(luò)環(huán)境下訪問數(shù)據(jù)庫的功能。 (8)方便、有效地存取數(shù)據(jù)庫信息的接口和工具。編程人員通過程序開發(fā)工具與數(shù)據(jù)庫的接口編寫數(shù)據(jù)庫應(yīng)用程序。數(shù)據(jù)庫系統(tǒng)管理員(DBA,DataBase Adminitrator)通過提供的工具對數(shù)據(jù)庫進(jìn)行管理。數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)與操作數(shù)據(jù)庫的應(yīng)用程序,加上支撐它們的硬件平臺、軟件平臺和與數(shù)據(jù)庫有關(guān)的人員一起構(gòu)成了一個完整的數(shù)據(jù)庫系統(tǒng)。圖1.1描述了數(shù)據(jù)庫系統(tǒng)的構(gòu)成。圖1.1 數(shù)據(jù)庫系統(tǒng)的構(gòu)成1.1.2 數(shù)據(jù)模型(1)層次模型:以樹狀層次結(jié)構(gòu)組織數(shù)據(jù)。圖1.2所示為某學(xué)校按層次模型組織的數(shù)據(jù)示例。圖1.2 某學(xué)校按層次模型組織的數(shù)據(jù)示例(2)網(wǎng)狀模型:每一個數(shù)
4、據(jù)用一個節(jié)點表示,每個節(jié)點與其他節(jié)點都有聯(lián)系,這樣,數(shù)據(jù)庫中的所有數(shù)據(jù)節(jié)點就構(gòu)成了一個復(fù)雜的網(wǎng)絡(luò)。圖1.3所示為按網(wǎng)狀模型組織的數(shù)據(jù)示例。圖1.3 按網(wǎng)狀模型組織的數(shù)據(jù)示例(3)關(guān)系模型:以二維表格(關(guān)系表)的形式組織數(shù)據(jù)庫中的數(shù)據(jù)。例如,在學(xué)生成績管理系統(tǒng)所涉及的學(xué)生、課程和成績?nèi)齻€表中。學(xué)生表涉及的主要信息有學(xué)號、姓名、性別、出生時間、專業(yè)、總學(xué)分、備注。課程表涉及的主要信息有課程號、課程名、開課學(xué)期、學(xué)時和學(xué)分。成績表涉及的主要信息有學(xué)號、課程號和成績。表1.1、表1.2和表1.3分別描述了學(xué)生成績管理系統(tǒng)中學(xué)生、課程和成績這三個表的部分?jǐn)?shù)據(jù)。學(xué) 號姓 名性 別出 生 時 間專 業(yè)總 學(xué)
5、 分備 注081101王林男1990-02-10計算機(jī)50081103王燕女1989-10-06計算機(jī)50081108林一帆男1989-08-05計算機(jī)52已提前修完一門課081202王林男1989-01-29通信工程40有一門課不及格,待補(bǔ)考081204馬琳琳女1989-02-10通信工程42表1.1 學(xué)生表課 程 號課 程 名開 課 學(xué) 期學(xué) 時學(xué) 分0101計算機(jī)基礎(chǔ)18050102程序設(shè)計與語言26840206離散數(shù)學(xué)4684學(xué) 號課 程 號成 績學(xué) 號課 程 號成 績08110110180081108101850811011027808110810264081101206760811
6、082068708110310162081202101650811031027008120410191表1.2 課程表表1.3 成績表例如,表1.1中的“學(xué)號”可唯一標(biāo)識每一個學(xué)生,表1.2中的“課程號”可唯一標(biāo)識每一門課。表1.3中的“學(xué)號”和“課程號”可唯一標(biāo)識每一個學(xué)生一門課程的成績。有時,一個表可能有多個碼,比如表1.1中,姓名不允許重名,則“學(xué)號”、“姓名”均是學(xué)生信息表碼。對于每一個關(guān)系表,通??芍付ㄒ粋€碼為“主碼”,在關(guān)系模式中,一般用下劃線標(biāo)出主碼。設(shè)表1.1的名字為XSB,關(guān)系模式可分別表示為XSB(學(xué)號,姓名,性別,出生時間,專業(yè),總學(xué)分,備注)。設(shè)表1.2的名字為KCB,
7、關(guān)系模式可分別表示為KCB(課程號,課程名,開課學(xué)期,學(xué)時,學(xué)分)。設(shè)表1.3的名字為CJB,關(guān)系模式可分別表示為CJB(學(xué)號,課程號,成績,學(xué)分)。1.1.3 關(guān)系型數(shù)據(jù)庫語言SQL語言的功能包括數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制4部分。SQL語言簡潔、方便、實用,為完成其核心功能只用了6個動詞:SELECT、CREATE、INSERT、UPDATE、DELETE、GRANT(REVOKE),目前已成為應(yīng)用最廣的關(guān)系數(shù)據(jù)庫語言。SQL語言易學(xué)易用,作為關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,它已被眾多商用數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品所采用。不過,因為不同的數(shù)據(jù)庫管理系統(tǒng)在其實踐過程中都對SQL規(guī)范做了某些編改和擴(kuò)充
8、,所以,實際上不同數(shù)據(jù)庫管理系統(tǒng)之間的SQL語言不能完全通用。例如,微軟公司的SQL Server數(shù)據(jù)庫系統(tǒng)支持的是Transact-SQL(簡稱T-SQL),而甲骨文公司的Oracle 數(shù)據(jù)庫所使用的SQL語言則是PL-SQL。1.2 數(shù)據(jù)庫設(shè)計1.2.1 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計實體集中的實體彼此是可區(qū)別的。如果實體集中的屬性或最小屬性組合的值能唯一標(biāo)識其對應(yīng)實體,則將該屬性或?qū)傩越M合稱為碼。對于每一個實體集,可指定一個碼為主碼。如果用矩形框表示實體集,用帶半圓的矩形框表示屬性,用線段連接實體集與屬性,當(dāng)一個屬性或?qū)傩越M合指定為主碼時,在實體集與屬性的連接線上標(biāo)記一斜線,則可以用圖1.4描
9、述學(xué)生成績管理系統(tǒng)中的實體集及每個實體集涉及的屬性。圖1.4 學(xué)生和課程實體集屬性的描述1.2.1 概念結(jié)構(gòu)設(shè)計b1一對一的聯(lián)系(一對一的聯(lián)系(1 : 1)A中的一個實體至多與B中的一個實體相聯(lián)系,B中的一個實體也至多與A中的一個實體相聯(lián)系。例如,“班級”與“正班長”這兩個實體集之間的聯(lián)系是一對一的聯(lián)系,因為一個班級只有一個正班長,反過來,一個正班長只屬于一個班級。“班級”與“正班長”兩個實體集的E-R模型如圖1.5所示。圖1.5 “班級”與“正班長”實體集E-R模型b2一對多的聯(lián)系(一對多的聯(lián)系(1 : n)A中的一個實體可以與B中的多個實體相聯(lián)系,而B中的一個實體至多與A中的一個實體相聯(lián)系
10、。例如,“班級”與“學(xué)生”這兩個實體集之間的聯(lián)系是一對多的聯(lián)系,因為,一個班級可有若干學(xué)生,反過來,一個學(xué)生只能屬于一個班級。“班級”與“學(xué)生”兩個實體集的E-R模型如圖1.6所示。圖1.6 “學(xué)生”與“班級”兩個實體集的E-R模型b3多對多的聯(lián)系(多對多的聯(lián)系(m : n)A中的一個實體可以與B中的多個實體相聯(lián)系,而B中的一個實體也可與A中的多個實體相聯(lián)系。例如,“學(xué)生”與“課程”這兩個實體集之間的聯(lián)系是多對多的聯(lián)系,因為,一個學(xué)生可選多門課程,反過來,一門課程可被多個學(xué)生選修?!皩W(xué)生”與“課程”兩個實體集的E-R模型如圖1.7所示。圖1.7 “學(xué)生”與“課程”實體集間的E-R模型1.2.2
11、 邏輯結(jié)構(gòu)設(shè)計b 11 : 1聯(lián)系的聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換圖到關(guān)系模式的轉(zhuǎn)換1 1的聯(lián)系既可單獨(dú)對應(yīng)一個關(guān)系模式,也可以不單獨(dú)對應(yīng)一個關(guān)系模式。(1)聯(lián)系單獨(dú)對應(yīng)一個關(guān)系模式,則由聯(lián)系屬性、參與聯(lián)系的各實體集的主碼屬性構(gòu)成關(guān)系模式,其主碼可選參與聯(lián)系的實體集的任一方的主碼。例如,對于圖1.5描述的“班級(BJB)”與“正班長(BZB)”實體集通過屬于(SYB)聯(lián)系E-R模型,可設(shè)計如下關(guān)系模式(下橫線表示該字段為主碼):BJB(班級編號,院系,專業(yè),人數(shù) )BZB(學(xué)號,姓名)SYB(學(xué)號,班級編號) (2)聯(lián)系不單獨(dú)對應(yīng)一個關(guān)系模式,聯(lián)系的屬性及一方的主碼加入另一方實體集對應(yīng)的關(guān)系模
12、式中。例如,對于圖1.5描述的“班級(BJB)”與“正班長(BZB)”實體集通過屬于(SYB)聯(lián)系E-R模型,可設(shè)計如下關(guān)系模式:BJB(班級編號,院系,專業(yè),人數(shù))BZB(學(xué)號,姓名,班級編號)或者BJB(班級編號,院系,專業(yè),人數(shù),學(xué)號)BZB(學(xué)號,姓名)b 21 : n聯(lián)系的聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換圖到關(guān)系模式的轉(zhuǎn)換1 n的聯(lián)系既可單獨(dú)對應(yīng)一個關(guān)系模式,也可以不單獨(dú)對應(yīng)一個關(guān)系模式。(1)若聯(lián)系單獨(dú)對應(yīng)一個關(guān)系模式,則由聯(lián)系的屬性、參與聯(lián)系的各實體集的主碼屬性構(gòu)成關(guān)系模式,n端的主碼作為該關(guān)系模式的主碼。例如,對于圖1.6描述的“班級(BJB)”與“學(xué)生(XSB)”實體集E-R模
13、型,可設(shè)計如下關(guān)系模式:BJB(班級編號,院系,專業(yè),人數(shù))XSB (學(xué)號,姓名,性別,出生時間,專業(yè),總學(xué)分,備注)SYB (學(xué)號,班級編號)(2)若聯(lián)系不單獨(dú)對應(yīng)一個關(guān)系模式,則將聯(lián)系的屬性及1端的主碼加入n端實體集對應(yīng)的關(guān)系模式中,主碼仍為n端的主碼。例如,對于圖1.6描述的“班級(BJB)”與“學(xué)生(XSB)”實體集E-R模型,可設(shè)計如下關(guān)系模式:BJB(班級編號,院系,專業(yè),人數(shù))XSB (學(xué)號,姓名,性別,出生時間,專業(yè),總學(xué)分,備注,班級編號)b 3m : n聯(lián)系的聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換圖到關(guān)系模式的轉(zhuǎn)換m : n的聯(lián)系單獨(dú)對應(yīng)一個關(guān)系模式,該關(guān)系模式包括聯(lián)系的屬性、參與
14、聯(lián)系的各實體集的主碼屬性,該關(guān)系模式的主碼由各實體集的主碼屬性共同組成。例如,對于圖1.7描述的“學(xué)生(XSB)”與“課程(KCB)”實體集之間的聯(lián)系可設(shè)計如下關(guān)系模式:XSB(學(xué)號,姓名,性別,出生時間,專業(yè),總學(xué)分,備注)KCB(課程號,課程名稱,開課學(xué)期,學(xué)時,學(xué)分)CJB(學(xué)號,課程號,成績)關(guān)系模式CJB的主碼是由“學(xué)號”和“課程號”兩個屬性組合起來構(gòu)成的一個主碼,一個關(guān)系模式只能有一個主碼。1.2.3 數(shù)據(jù)庫物理設(shè)計數(shù)據(jù)的物理模型指數(shù)據(jù)的存儲結(jié)構(gòu),如對數(shù)據(jù)庫物理文件、索引文件的組織方式、文件的存取路徑,內(nèi)存的管理等。物理模型對用戶是不可見的,它不僅與數(shù)據(jù)庫管理系統(tǒng)有關(guān),還與操作系統(tǒng)
15、甚至硬件有關(guān)。1.3 數(shù)據(jù)庫應(yīng)用系統(tǒng)1.3.1 數(shù)據(jù)庫的連接方式數(shù)據(jù)庫的連接方式b 1ODBC數(shù)據(jù)庫接口數(shù)據(jù)庫接口ODBC即開放式數(shù)據(jù)庫互連(Open DataBase Connectivity),是微軟公司推出的一種實現(xiàn)應(yīng)用程序和關(guān)系數(shù)據(jù)庫之間通信的接口標(biāo)準(zhǔn)。符合標(biāo)準(zhǔn)的數(shù)據(jù)庫就可以通過SQL語言編寫的命令對數(shù)據(jù)庫進(jìn)行操作,但只針對關(guān)系數(shù)據(jù)庫。目前所有的關(guān)系數(shù)據(jù)庫都符合該標(biāo)準(zhǔn)(如SQL Server,Oracle,Access,Excel等)。ODBC本質(zhì)上是一組數(shù)據(jù)庫訪問API(應(yīng)用程序編程接口),它由一組函數(shù)調(diào)用組成,核心是SQL語句,其結(jié)構(gòu)如圖1.8所示。圖1.8 ODBC數(shù)據(jù)庫接口1.
16、3.1 數(shù)據(jù)庫的連接方式b 2OLE DB數(shù)據(jù)庫接口數(shù)據(jù)庫接口OLE DB即數(shù)據(jù)庫鏈接和嵌入對象(Object Linking and EMBedding DataBase)。OLE DB是微軟提出的基于COM思想且面向?qū)ο蟮囊环N技術(shù)標(biāo)準(zhǔn),其目的是提供一種統(tǒng)一的數(shù)據(jù)訪問接口來訪問各種數(shù)據(jù)源。這里所說的“數(shù)據(jù)”除了標(biāo)準(zhǔn)的關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)之外,還包括郵件數(shù)據(jù)、Web上的文本或圖形、目錄服務(wù)(Directory Services)、主機(jī)系統(tǒng)中的文件和地理數(shù)據(jù)以及自定義業(yè)務(wù)對象等。OLE DB標(biāo)準(zhǔn)的核心內(nèi)容就是,提供一種相同的訪問接口,使得數(shù)據(jù)的使用者(應(yīng)用程序)可以使用同樣的方法訪問各種數(shù)據(jù),而
17、不用考慮數(shù)據(jù)的具體存儲地點、格式或類型,其結(jié)構(gòu)如圖1.9所示。圖1.9 OLE DB數(shù)據(jù)庫接口 b 3ADO數(shù)據(jù)庫接口數(shù)據(jù)庫接口ADO(ActiveX Data Objects)是微軟公司開發(fā)的基于COM的數(shù)據(jù)庫應(yīng)用程序接口,通過ADO連接數(shù)據(jù)庫,可以靈活地操作數(shù)據(jù)庫中的數(shù)據(jù)。圖1.10所示為應(yīng)用程序通過ADO訪問SQL Server數(shù)據(jù)庫接口。從圖中可看出,使用ADO訪問SQL Server數(shù)據(jù)庫有兩種途徑:一種是通過ODBC驅(qū)動程序,另一種是通過SQL Server專用的OLE DB Provider,后者有更高的訪問效率。 圖1.10 ADO訪問SQL Server的接口b 4ADO.N
18、ET數(shù)據(jù)庫接口數(shù)據(jù)庫接口ASP.NET使用ADO.NET數(shù)據(jù)模型。該模型從ADO發(fā)展而來,但它不只是對ADO的改進(jìn),而是采用了一種全新的技術(shù)。主要表現(xiàn)在以下幾個方面。(1)ADO.NET 不是采用 ActiveX 技術(shù),而是與.NET框架緊密結(jié)合的產(chǎn)物。(2)ADO.NET 包含對 XML標(biāo)準(zhǔn)的完全支持,這對于跨平臺交換數(shù)據(jù)具有重要的意義。(3)ADO.NET 既能在與數(shù)據(jù)源連接的環(huán)境下工作,又能在斷開與數(shù)據(jù)源連接的條件下工作。特別是后者,非常適合于網(wǎng)絡(luò)應(yīng)用的需要。因為在網(wǎng)絡(luò)環(huán)境下,保持與數(shù)據(jù)源連接,不符合網(wǎng)站的要求,不僅效率低,付出的代價高,而且常常會引發(fā)多個用戶同時訪問帶來的沖突。因此AD
19、O.NET系統(tǒng)集中主要精力來解決在斷開與數(shù)據(jù)源連接的條件下的數(shù)據(jù)處理問題。ADO.NET 提供了面向?qū)ο蟮臄?shù)據(jù)庫視圖,并且在ADO.NET 對象中封裝了許多數(shù)據(jù)庫屬性和關(guān)系。最重要的是,ADO.NET 通過多種方式封裝和隱藏了很多數(shù)據(jù)庫訪問的細(xì)節(jié)。用戶可以完全不知道對象在與 ADO.NET 對象交互,也不用擔(dān)心數(shù)據(jù)移動到另外一個數(shù)據(jù)庫或者從另一個數(shù)據(jù)庫獲得數(shù)據(jù)的細(xì)節(jié)問題。圖1.11所示為ADO.NET 架構(gòu)總覽。圖1.11 通過ADO.NET訪問數(shù)據(jù)庫的接口模型b 5JDBC數(shù)據(jù)庫接口數(shù)據(jù)庫接口在JDBC API中有兩層接口:應(yīng)用程序?qū)雍万?qū)動程序?qū)?,前者使開發(fā)人員可以通過SQL調(diào)用數(shù)據(jù)庫和取得
20、結(jié)果,后者處理與具體數(shù)據(jù)庫驅(qū)動程序相關(guān)的所有通信。使用JDBC接口對數(shù)據(jù)庫操作有如下優(yōu)點:(1)JDBC API與ODBC十分相似,有利于用戶理解。(2)使編程人員從復(fù)雜的驅(qū)動器調(diào)用命令和函數(shù)中解脫出來,而致力于應(yīng)用程序功能的實現(xiàn)。(3)JDBC支持不同的關(guān)系數(shù)據(jù)庫,增強(qiáng)了程序的可移植性。使用JDBC的主要缺點:訪問數(shù)據(jù)記錄的速度會受到一定影響;此外,JDBC結(jié)構(gòu)中包含了不同廠家的產(chǎn)品,這給數(shù)據(jù)源的更改帶來了較大麻煩。b 6數(shù)據(jù)庫連接池技術(shù)數(shù)據(jù)庫連接池技術(shù)網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)庫應(yīng)用,由于用戶眾多,使用傳統(tǒng)的JDBC方式進(jìn)行數(shù)據(jù)庫連接,系統(tǒng)資源開銷過大,這成為制約大型企業(yè)級應(yīng)用效率的瓶頸,而采用數(shù)據(jù)
21、庫連接池技術(shù)對數(shù)據(jù)庫連接進(jìn)行管理,可以大大提高系統(tǒng)的效率和穩(wěn)定性。1.3.2 客戶-服務(wù)器(C/S)模式應(yīng)用系統(tǒng)對于一般的數(shù)據(jù)庫應(yīng)用系統(tǒng),除了數(shù)據(jù)庫管理系統(tǒng)外,需要設(shè)計適合普通人員操作數(shù)據(jù)庫的界面。目前,流行的開發(fā)數(shù)據(jù)庫界面的工具主要包括Visual BASIC、Visual C+、Visual FoxPro、Delphi、PowerBuilder等。數(shù)據(jù)庫應(yīng)用程序與數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系如圖1.12所示。圖1.12 數(shù)據(jù)庫應(yīng)用程序與數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系應(yīng)用程序和數(shù)據(jù)庫管理系統(tǒng)可以運(yùn)行在同一臺計算機(jī)上(單機(jī)方式),也可以運(yùn)行在網(wǎng)絡(luò)方式下。在網(wǎng)絡(luò)方式下,數(shù)據(jù)庫管理系統(tǒng)在網(wǎng)絡(luò)
22、上的一臺主機(jī)上運(yùn)行,應(yīng)用程序可以在網(wǎng)絡(luò)上的多臺主機(jī)上運(yùn)行,即一對多的方式。例如,用Visual Basic開發(fā)的客戶-服務(wù)器(C/S)模式的學(xué)生成績管理系統(tǒng)的學(xué)生信息輸入界面如圖1.13所示。圖1.13 C/S模式的學(xué)生成績管理系統(tǒng)界面1.3.3 三層客戶-服務(wù)器(B/S)模式應(yīng)用系統(tǒng)基于Web的數(shù)據(jù)庫應(yīng)用采用三層客戶-服務(wù)器模式,也稱為B/S結(jié)構(gòu)。第一層為瀏覽器,第二層為Web服務(wù)器,第三層為數(shù)據(jù)庫服務(wù)器。瀏覽器是用戶輸入數(shù)據(jù)和顯示結(jié)果的交互界面。用戶在瀏覽器表單中輸入數(shù)據(jù),然后將表單中的數(shù)據(jù)提交并發(fā)送到Web服務(wù)器。Web服務(wù)器應(yīng)用程序接收并處理用戶的數(shù)據(jù),通過數(shù)據(jù)庫服務(wù)器,從數(shù)據(jù)庫中查詢
23、需要的數(shù)據(jù)(或把數(shù)據(jù)錄入數(shù)據(jù)庫)并返回給Web服務(wù)器。Web服務(wù)器再把返回的結(jié)果插入HTML頁面,傳送到客戶端,在瀏覽器中顯示出來。三層客戶-服務(wù)器結(jié)構(gòu)如圖1.14所示。圖1.14 三層客戶-服務(wù)器結(jié)構(gòu)例如,用ASP.NET開發(fā)的三層客戶-服務(wù)器(B/S)模式的學(xué)生成績管理系統(tǒng)的學(xué)生信息更新頁面如圖1.15所示。圖1.15 B/S模式的學(xué)生成績管理系統(tǒng)頁面1.4 SQL Server 2008環(huán)境1.4.1 SQL Server 2008概述概述SQL Server 2008是Microsoft公司在2008年正式發(fā)布的一個SQL Server版本,是目前最新的SQL Server版本。SQL
24、 Server 2008是一個重大的產(chǎn)品版本,它推出了許多新的特性和關(guān)鍵的改進(jìn),使其成為至今為止最強(qiáng)大、最全面的SQL Server版本。本書將從各個方面來討論SQL Server 2008的應(yīng)用。SQL Server 2008在SQL Server 2005的基礎(chǔ)之上進(jìn)行開發(fā),不僅對原有的功能進(jìn)行了改進(jìn),而且還增加了許多新的特性,如新添了數(shù)據(jù)集成功能,改進(jìn)了分析服務(wù)、報告服務(wù)以及Office集成,等等。SQL Server 2008將提供更安全、更具延展性、更高的管理能力,從而成為一個全方位企業(yè)資料、數(shù)據(jù)的管理平臺。1.4.2 SQL Server 2008的安裝b 1安裝安裝SQL Ser
25、ver 2008的硬件和軟件要求的硬件和軟件要求為了正確安裝和運(yùn)行SQL Server 2008,計算機(jī)必須滿足以下配置要求。(1)硬件處理器:需要 Pentium III 兼容處理器或更高速度的處理器,處理器速度不低于1 GHz,為了獲得更好的運(yùn)行效果,建議為2 GHz或以上。內(nèi)存:512 MB以上,建議為2 GB 或更大。硬盤:1.7 GB的安裝空間以及必要的數(shù)據(jù)預(yù)留空間。(2)軟件 操作系統(tǒng)要求(32位)。SQL Server 2008只能運(yùn)行在Windows操作系統(tǒng)之上。SQL Server 2008設(shè)計了不同的分支版本,每個版本對操作系統(tǒng)的要求不盡相同。在SQL Server 200
26、8服務(wù)器軟件的32位版本中,Enterprise版(除了Enterprise Evaluation版,即企業(yè)評估版之處)只能運(yùn)行在Windows Server 2003和Windows Server 2008操作系統(tǒng)上。Standard版能夠運(yùn)行在Windows XP(除了Windows XP家庭版之外)、Windows Vista、Windows Server 2003、Windows Server 2008等大多數(shù)Windows操作系統(tǒng)之上。Developer版能夠運(yùn)行在Windows XP、Windows Vista、Windows Server 2003、Windows Server
27、2008等操作系統(tǒng)之上。其他版本所適合的操作系統(tǒng)在此就不詳細(xì)列出了。 安裝組件要求。SQL Server 2008安裝時需要的組件如下:.NET Framework 3.5;SQL Server Native Client;SQL Server 安裝程序支持文件;Microsoft Windows Installer 4.5 或更高版本;Microsoft 數(shù)據(jù)訪問組件(MDAC)2.8 SP1 或更高版本。b 2SQL Server 2008的安裝的安裝第1步:插入自動運(yùn)行的安裝光盤或雙擊已經(jīng)下載的SQL Server 2008安裝程序,SQL Server 2008需要.NET Frame
28、work 3.5的支持,安裝程序啟動后會檢測系統(tǒng)是否已經(jīng)安裝了.NET Framework 3.5,如果沒有安裝,則彈出要求安裝的對話框,單擊“確定”按鈕,等待一段時間后進(jìn)入如圖1.16所示的“.NET Framework 3.5許可協(xié)議”窗口,同意許可條款并單擊“安裝”按鈕開始安裝,安裝完成后單擊“安裝完成”窗口中的“退出”按鈕即可。圖1.16 .NET Framework 3.5安裝協(xié)議第2步:安裝完.NET Frame work 3.5后可能會彈出需要安裝Windows XP補(bǔ)丁的對話框,這是安裝SQL Server 2008必須要安裝的補(bǔ)丁。安裝完該補(bǔ)丁后重啟計算機(jī)。第3步:重啟計算機(jī)
29、后重新啟動安裝程序,進(jìn)入“SQL Server安裝中心”窗口,單擊左邊菜單欄中的“安裝”選項卡,在窗口右邊將列出可以進(jìn)行的安裝方式,如圖1.17所示。單擊“全新SQL Server獨(dú)立安裝或向現(xiàn)有安裝添加功能”選項將安裝全新的SQL Server 2008。 圖1.17 SQL Server 2008安裝中心第4步:安裝程序?qū)z查SQL Server 安裝程序支持文件時可能發(fā)生的問題,并將檢查信息顯示在“安裝程序支持規(guī)則”窗口中,如圖1.18所示。如果有檢查未通過的規(guī)則,必須進(jìn)行更正,否則安裝將無法繼續(xù)。圖1.18 “安裝程序支持規(guī)則”窗口第5步:安裝程序支持規(guī)則全部通過后單擊“確定”按鈕進(jìn)入
30、“產(chǎn)品密鑰”窗口,如圖1.19所示。在“指定可用版本”選項中選擇“Enterprise Evaluation”,在“輸入產(chǎn)品密鑰”選項中輸入企業(yè)評估版的25位產(chǎn)品密鑰,完成后單擊“下一步”按鈕。 圖1.19 產(chǎn)品密鑰窗口第6步:進(jìn)入“許可條款”窗口,閱讀并接受許可條款,單擊“下一步”按鈕。進(jìn)入“安裝程序支持文件”窗口,如圖1.20所示,單擊“安裝”按鈕安裝SQL Server必備組件。安裝完成后重新進(jìn)入“安裝程序支持規(guī)則”窗口,如圖1.21所示。如果通過,則單擊“下一步”按鈕。圖1.20 安裝程序支持文件窗口 圖1.21 安裝程序支持規(guī)則檢查第7步:進(jìn)入“功能選擇”窗口,在“功能”區(qū)域中選擇要
31、安裝的功能組件,用戶可以根據(jù)自身需求來安裝組件,這里單擊“全選”按鈕安裝全部組件。單擊“下一步”按鈕進(jìn)入“實例配置”窗口。第8步:在“實例配置”窗口中進(jìn)行實例配置,如果是第一次安裝,則既可以使用默認(rèn)實例,也可以自行指定實例名稱。如果當(dāng)前服務(wù)器上已經(jīng)安裝了一個默認(rèn)的實例,則再次安裝時必須指定一個實例名稱。自定義實例名的方法為,選擇“命名實例”單選按鈕,在后面的文本框中輸入用戶自定義的實例名稱。如果選擇“默認(rèn)實例”,則實例名稱默認(rèn)為MSSQLSERVER。這里選擇“命名實例”,名稱為SQL2008,如圖1.22所示。圖1.22 實例配置窗口第9步:實例配置完后單擊“下一步”按鈕進(jìn)入“磁盤空間要求”
32、窗口,窗口中顯示安裝SQL Server 2008所需要的磁盤容量。單擊“下一步”按鈕進(jìn)入“服務(wù)器配置”窗口,在“服務(wù)賬戶”選項卡中為每個SQL Server服務(wù)單獨(dú)配置用戶名和密碼及啟動類型?!百~戶名”可以在下拉框中進(jìn)行選擇。也可以單擊“對所有SQL Server服務(wù)器使用相同的賬戶”按鈕,為所有的服務(wù)分配一個相同的登錄賬戶。配置完成后的界面如圖1.23所示,單擊“下一步”按鈕。 圖1.23 服務(wù)器配置窗口第10步:進(jìn)入“數(shù)據(jù)庫引擎配置”窗口,在“賬戶設(shè)置”選項卡中選擇身份驗證模式。身份驗證模式是一種安全模式,用于驗證客戶端與服務(wù)器的連接,它有兩個選項:Windows身份驗證模式和混合模式。
33、在Windows身份驗證模式中,用戶通過Windows賬戶連接時,使用Windows操作系統(tǒng)中的信息驗證賬戶名和密碼,混合模式允許用戶使用Windows身份驗證或SQL Server身份驗證進(jìn)行連接,而建立連接后,系統(tǒng)的安全機(jī)制對于兩種連接是一樣的。本書選擇“混合模式”為身份驗證模式,并為內(nèi)置的系統(tǒng)管理員賬戶“sa”設(shè)置密碼,為了便于介紹,這里密碼設(shè)為“123456”,如圖1.24所示。在實際操作過程中,密碼要盡量復(fù)雜以提高安全性。圖1.24 身份驗證模式選擇 第11步:單擊“下一步”按鈕進(jìn)入“Analysis Services配置”窗口,對Analysis Services進(jìn)行設(shè)置,單擊“添
34、加當(dāng)前用戶”按鈕指定當(dāng)前Windows登錄用戶對Analysis Services具有管理權(quán)限。單擊“下一步”按鈕進(jìn)入“Reporting Services配置”窗口,選擇“安裝本機(jī)模式默認(rèn)配置”選項,單擊“下一步”按鈕進(jìn)入“錯誤和使用情況報告”窗口,這里用戶可以根據(jù)需求在復(fù)選框中選擇選項。第12步:單擊“下一步”按鈕進(jìn)入“安裝規(guī)則”窗口,窗口中將顯示安裝規(guī)則的通過情況,如圖1.25所示,如果全部通過,則可以單擊“下一步”按鈕。 圖1.25 安裝規(guī)則窗口第13步:進(jìn)入“準(zhǔn)備安裝”窗口,單擊“安裝”按鈕開始安裝,等待一段時間后安裝完成,窗口中將顯示已經(jīng)成功安裝的功能組件,如圖1.26所示。單擊“
35、下一步”按鈕,在“完成”窗口中單擊“關(guān)閉”按鈕結(jié)束安裝。圖1.26 安裝進(jìn)度顯示1.4.3 SQL Server 2008服務(wù)器組件(1)Database Engine。數(shù)據(jù)庫引擎是SQL Server 2008用于存儲、處理和保護(hù)數(shù)據(jù)的核心服務(wù),例如,查詢數(shù)據(jù)、創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表和視圖、數(shù)據(jù)查詢等操作都是由數(shù)據(jù)庫引擎完成的。數(shù)據(jù)庫引擎還提供了受控訪問和快速事務(wù)處理功能,并提供了大量支持以保持可用性。Service Broker(服務(wù)代理)、Replication(復(fù)制技術(shù))和Full Text Search(全文搜索)都是數(shù)據(jù)庫引擎的一部分。SQL Server 2008實例有兩種類型。 默
36、認(rèn)實例。SQL Server 2008默認(rèn)實例僅由運(yùn)行該實例的計算機(jī)的名稱唯一標(biāo)識,它沒有單獨(dú)的實例名,默認(rèn)實例的服務(wù)名稱為MSSQLSERVER。如果應(yīng)用程序在請求連接 SQL Server時只指定了計算機(jī)名,則SQL Server客戶端組件將嘗試連接這臺計算機(jī)上的數(shù)據(jù)庫引擎默認(rèn)實例。一臺計算機(jī)上只能有一個默認(rèn)實例,而默認(rèn)實例可以是SQL Server的任何版本。 命名實例。除默認(rèn)實例外,所有數(shù)據(jù)庫引擎實例都可以由安裝該實例的過程中指定的實例名標(biāo)識。應(yīng)用程序必須提供準(zhǔn)備連接的計算機(jī)的名稱和命名實例的實例名。計算機(jī)名和實例名格式為“計算機(jī)名實例名”,命名實例的服務(wù)名稱即為指定的實例名。1.4.
37、3 SQL Server 2008服務(wù)器組件(2)Analysis Services。SQL Server Analysis Services(分析服務(wù),簡稱SSAS)為商業(yè)智能應(yīng)用程序提供聯(lián)機(jī)分析處理(OLAP)和數(shù)據(jù)挖掘功能。(3)Integration Services。SQL Server Integration Services(集成服務(wù),簡稱SSIS)主要用于清理、聚合、合并、復(fù)制數(shù)據(jù)的轉(zhuǎn)換以及管理SSIS包。除此之外,它還提供生產(chǎn)并調(diào)試SSIS包的圖形向?qū)Чぞ?,以及用于?zhí)行FTP操作、電子郵件消息傳遞等工作流功能的任務(wù)。(4)Reporting Services。SQL Serv
38、er Reporting Services(報表服務(wù),簡稱SSRS)是基于服務(wù)器的報表平臺,可以用來創(chuàng)建和管理包含關(guān)系數(shù)據(jù)源和多維數(shù)據(jù)源中的數(shù)據(jù)的表格、矩陣、圖形和自由格式的報表。1.4.4 SQL Server 2008管理和開發(fā)工具b 1SQL Server 2008管理工具管理工具M(jìn)icrosoft SQL Server 2008安裝后,可在“開始”菜單中查看安裝了哪些工具。另外,還可以使用這些圖形化工具和命令實用工具進(jìn)一步配置SQL Server。表1.4列舉了用來管理SQL Server 2008實例的工具。管 理 工 具說 明SQL Server Management Studio
39、用于編輯和執(zhí)行查詢,以及啟動標(biāo)準(zhǔn)向?qū)蝿?wù)SQL Server Profiler提供用于監(jiān)視SQL Server數(shù)據(jù)庫引擎實例或Analysis Services 實例的圖形用戶界面數(shù)據(jù)庫引擎優(yōu)化顧問可以協(xié)助創(chuàng)建索引、索引視圖和分區(qū)的最佳組合SQL Server Business IntelligenceDevelopment Studio用于包括 Analysis Services、Integration Services 和Reporting Services項目在內(nèi)的商業(yè)解決方案的集成開發(fā)環(huán)境Reporting Services配置管理器提供報表服務(wù)器配置的統(tǒng)一的查看、設(shè)置和管理方式SQL
40、 Server 配置管理器 管理服務(wù)器和客戶端網(wǎng)絡(luò)配置設(shè)置SQL Server 安裝中心安裝、升級到或更改 SQL Server 2008 實例中的組件表1.4 SQL Server管理工具這里對表1.4中的“SQL Server配置管理器”補(bǔ)充說明如下。SQL Server 配置管理器用于管理與 SQL Server 2008相關(guān)的服務(wù)。盡管其中許多任務(wù)可以使用Microsoft Windows服務(wù)對話框來完成,但值得注意的是,“SQL Server 配置管理器”還可以對其管理的服務(wù)執(zhí)行更多的操作,例如,在服務(wù)賬戶更改后應(yīng)用正確的權(quán)限。打開“開始所有程序Microsoft SQL Serve
41、r 2008配置工具SQL Server配置管理器”,在窗口的左邊窗格中選擇“SQL Server服務(wù)”,即可在右邊窗格中出現(xiàn)的服務(wù)列表中對各服務(wù)進(jìn)行操作,如圖1.27所示。圖1.27 SQL Server配置管理器使用SQL Server 配置管理器可以完成下列服務(wù)任務(wù):(1)啟動、停止和暫停服務(wù),雙擊圖1.27所示服務(wù)列表中的某個服務(wù)即可進(jìn)行操作。(2)將服務(wù)配置為自動啟動或手動啟動、禁用服務(wù)或者更改其他服務(wù)設(shè)置。(3)更改 SQL Server 服務(wù)所使用的賬戶的密碼。(4)查看服務(wù)的屬性。(5)啟用或禁用 SQL Server 網(wǎng)絡(luò)協(xié)議。(6)配置 SQL Server 網(wǎng)絡(luò)協(xié)議。SQ
42、L Server 2008中還有一些組件作為服務(wù)運(yùn)行,如圖1.27所示。 SQL Server代理。SQL Server代理是一種Windows服務(wù),主要用于執(zhí)行作業(yè)、監(jiān)視 SQL Server、激發(fā)警報,以及允許自動執(zhí)行某些管理任務(wù)。SQL Server代理的配置信息主要存放在系統(tǒng)數(shù)據(jù)庫msdb的表中。在SQL Server 2008中,必須將SQL Server代理配置成具有sysadmin固定服務(wù)器角色的用戶,才可以執(zhí)行其自動化功能。而且該賬戶必須擁有諸如服務(wù)登錄、批處理作業(yè)登錄、以操作系統(tǒng)方式登錄等Windows權(quán)限。 SQL Server Brower(瀏覽器)。此服務(wù)將命名管道和T
43、CP端口信息返回給客戶端應(yīng)用程序。在用戶希望遠(yuǎn)程連接SQL Server 2008時,如果用戶通過使用實例名稱來運(yùn)行 SQL Server 2008,并且在連接字符串中沒有使用特定的 TCP/IP 端口號,則必須啟用 SQL Server Browser 服務(wù)以允許遠(yuǎn)程連接。 SQL Full-Text Filter Daemon Launcher(全文搜索)。用于快速構(gòu)建結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù)的內(nèi)容和屬性的全文索引,以允許對數(shù)據(jù)進(jìn)行快速的語言搜索。b 2SQL Server Management Studio環(huán)境環(huán)境SQL Server 2008 使用的圖形界面管理工具是“SQL Server
44、 Management Studio”(簡稱SSMS)。這是一個集成的統(tǒng)一的管理工具組,在SQL Server 2005版本之后已經(jīng)開始使用這個工具組開發(fā)、配置SQL Server數(shù)據(jù)庫,發(fā)現(xiàn)并解決其中的故障。SQL Server 2008將繼續(xù)使用這個工具組,并對其進(jìn)行一些改進(jìn)。在“SQL Server Management Studio”中主要有兩個工具:圖形化的管理工具(對象資源管理器)和Transact SQL編輯器(查詢分析器)。此外還擁有“解決方案資源管理器”窗口、“模板資源管理器”窗口和“注冊服務(wù)器”窗口等。(1)對象資源管理器與查詢分析器如圖1.28所示,可以看到在SQL Se
45、rver Management Studio中,把SQL Server 2000的Enterprise Manager(企業(yè)管理器)和Query Analyzer(查詢分析器)兩個工具結(jié)合在一個界面上,這樣可以在對服務(wù)器進(jìn)行圖形化管理的同時編寫Transact SQL腳本,且用戶可以直接通過SQL Server 2008的“對象資源管理器”窗口來操作數(shù)據(jù)庫。圖1.28 SQL Server Management Studio打開“SQL Server Management Studio”的方法如下:在桌面上單擊“開始所有程序SQL Server 2008SQL Server Management Studio”,在出現(xiàn)的“連接到服務(wù)器”對話框中,單擊“連接”按鈕,如圖1.29所示,就可以以Windows身份驗證模式啟動SQL Server Management Studio,并以計算機(jī)系統(tǒng)管理員身份連接到SQL Server服務(wù)器。圖1.29 “連接到服務(wù)器”對話框 利用對象資源管理器查看數(shù)據(jù)庫對象。以Windows身份驗證模式登錄到SQL Server Management Studio。在對象資源管理器中展開“數(shù)據(jù)庫”,選擇系統(tǒng)數(shù)據(jù)庫中的master數(shù)據(jù)庫并展開,則將列出該數(shù)據(jù)庫中所包含的所有對象,如表、視圖、存儲過程等。 利用
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 剃須盒產(chǎn)業(yè)規(guī)劃專項研究報告
- 醫(yī)療器械箱產(chǎn)業(yè)深度調(diào)研及未來發(fā)展現(xiàn)狀趨勢
- 外科植入用心瓣膜產(chǎn)業(yè)規(guī)劃專項研究報告
- 體育賽事5G網(wǎng)絡(luò)直播方案
- 國際金融學(xué)(2022秋)-3學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 康茄舞鼓產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 物流公司辦公設(shè)備配送方案
- 物業(yè)管理電動汽車充電解決方案
- 化妝臺梳妝臺產(chǎn)業(yè)深度調(diào)研及未來發(fā)展現(xiàn)狀趨勢
- 伸縮警棍產(chǎn)業(yè)規(guī)劃專項研究報告
- 幼兒園班級區(qū)域環(huán)境創(chuàng)設(shè)課件
- 組織行為學(xué)教案英文版
- 《敘事式心理治療》精品PPT
- 2022中國聽障用戶數(shù)字產(chǎn)品體驗調(diào)研報告
- ADAScog(老年癡呆量表—認(rèn)知)
- 非婚生育子女情況聲明
- 脫硫檢修方案
- 樂理試題(音程-三和弦)
- 汽輪機(jī)主油箱系統(tǒng)(課堂PPT)
- 數(shù)據(jù)管理制度
- 減速器拆裝實訓(xùn)教案
評論
0/150
提交評論