版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
網(wǎng)站數(shù)據(jù)庫設計107P網(wǎng)站數(shù)據(jù)庫設計107P16.1網(wǎng)站數(shù)據(jù)庫概述
網(wǎng)站數(shù)據(jù)庫是實現(xiàn)動態(tài)網(wǎng)站的一個有力的工具,目前具有一定規(guī)模的網(wǎng)站建設都離不開數(shù)據(jù)庫的使用。網(wǎng)絡數(shù)據(jù)庫(Web數(shù)據(jù)庫)系統(tǒng)數(shù)據(jù)庫系統(tǒng)是網(wǎng)絡數(shù)據(jù)庫系統(tǒng)的重要組成部分。那么,讓我們來看看什么是網(wǎng)站數(shù)據(jù)庫。6.1網(wǎng)站數(shù)據(jù)庫概述
網(wǎng)站數(shù)據(jù)庫是實現(xiàn)2人教版高中英語配套ppt課件:選修8-unit-4-period-23人教版高中英語配套ppt課件:選修8-unit-4-period-24網(wǎng)站數(shù)據(jù)庫是整個網(wǎng)站的數(shù)據(jù)中心,所有網(wǎng)站的數(shù)據(jù)(特別是那些需要經(jīng)常更新的數(shù)據(jù))都可以存放在網(wǎng)站數(shù)據(jù)庫中。網(wǎng)站數(shù)據(jù)庫的更新是通過網(wǎng)頁程序?qū)崿F(xiàn)的。網(wǎng)站的后臺服務器端程序通常具有數(shù)據(jù)庫訪問的功能,通過訪問數(shù)據(jù)輸入界面,通過頁面向數(shù)據(jù)庫輸入所需的數(shù)據(jù);用戶瀏覽器還可以作為數(shù)據(jù)查詢的輸入界面,通過頁面?zhèn)鬟f查詢條件,網(wǎng)頁后臺服務器程序部分可以查詢數(shù)據(jù)庫,然后把查詢結(jié)果返回到瀏覽器,通過用戶瀏覽器把結(jié)果顯示出來;同時用戶瀏覽器還可以發(fā)出數(shù)據(jù)操作指令,網(wǎng)站后臺服務器程序收到這些數(shù)據(jù)庫指令后,可以對數(shù)據(jù)庫進行更新、刪除等操作,操作完成后,再在瀏覽器上顯示操作結(jié)果。這些網(wǎng)站數(shù)據(jù)庫的訪問控制過程如圖。6.1網(wǎng)站數(shù)據(jù)庫概述
網(wǎng)站數(shù)據(jù)庫是整個網(wǎng)站的數(shù)據(jù)中心,所有網(wǎng)站的數(shù)56.1.2網(wǎng)站數(shù)據(jù)庫的開發(fā)環(huán)境設計開發(fā)一個網(wǎng)站數(shù)據(jù)庫是有許多種解決方案的。不同的操作系統(tǒng)平臺使用的數(shù)據(jù)庫管理系統(tǒng)可能也不同,通常某種網(wǎng)站操作系統(tǒng)及建設技術(shù)和某種數(shù)據(jù)庫管理軟件,是一一對應的。
6.1網(wǎng)站數(shù)據(jù)庫概述
6.1.2網(wǎng)站數(shù)據(jù)庫的開發(fā)環(huán)境6.1網(wǎng)站數(shù)據(jù)庫概述
66.2.1Web數(shù)據(jù)庫技術(shù)發(fā)展背景
網(wǎng)站程序設計技術(shù)主要應用于對網(wǎng)頁進行動態(tài)的控制、實現(xiàn)和網(wǎng)站頁面與用戶之間的交互、實時訪問網(wǎng)站的后臺數(shù)據(jù)庫,以及實現(xiàn)一些網(wǎng)頁特效等作用。其中,HTML語言是基礎中的基礎。6.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)
6.2.1Web數(shù)據(jù)庫技術(shù)發(fā)展背景6.2網(wǎng)站后臺數(shù)據(jù)76.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)
訪問Web數(shù)據(jù)庫的一般過程6.2.2Web數(shù)據(jù)庫訪問技術(shù)1.訪問Web數(shù)據(jù)庫的一般過程6.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)
訪問Web數(shù)據(jù)庫的一般過程686.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)2.常用的Web數(shù)據(jù)庫接口技術(shù)以下簡單介紹幾種常用的Web數(shù)據(jù)庫接口技術(shù)。(1)CGICGI是最早使用的Web數(shù)據(jù)庫鏈接技術(shù),一般運用VB、C/C++,Perl等語言編寫CGI程序,并通過編譯成為可執(zhí)行程序。CGI程序的優(yōu)點是:容易上手,易于掌握。CGI程序的缺點是:難以修改,每次修改都需要重新編譯,不僅調(diào)試困難,而且難以查錯,運行效率較低。用戶的每一表單(form)都需要執(zhí)行一個可執(zhí)行程序文件,當多個用戶同時發(fā)出請求時,必然使多個可執(zhí)行程序文件同時在內(nèi)存上運行,在服務器上形成“瓶頸”,大大降低服務器的執(zhí)行速度。另外CGI協(xié)議適應性較差,缺乏與用戶的訪問交互。CGI是早期的較為成熟的Web數(shù)據(jù)庫技術(shù),已在大量的網(wǎng)站上使用,尤其在UNIX平臺上。6.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)2.常用的Web數(shù)據(jù)庫接口技術(shù)96.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)(2)ADCMicrosoftADC(advanceddataconnector)具有一個訪問數(shù)據(jù)庫的ActiveX控件。與普通的Web數(shù)據(jù)庫處理不同,它并不在服務器端運行,而是在客戶端的瀏覽器上實現(xiàn)訪問數(shù)據(jù)庫的操作(可訪問支持ODBC的數(shù)據(jù)庫),因而要求客戶端上使用支持ActiveX的瀏覽器,如IE5.0及Netscape等。ADC可從服務器上自動下載并被安裝到客戶端,可以使用腳本語言(如VBScript及JavaScript等)編程。ADC的缺點是僅在客戶端訪問數(shù)據(jù)庫,因此大量的數(shù)據(jù)需駐留在客戶端,在瀏覽器訪問數(shù)據(jù)時,雖然減少了與服務器端之間的頻繁數(shù)據(jù)交換,提高運行效率,但訪問數(shù)據(jù)庫應用程序的性能會受到一定的限制。6.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)(2)ADC106.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)(3)ASP與ADOASP采用ADO(ActiveXDataObject,ActiveX數(shù)據(jù)對象組件)實現(xiàn)對數(shù)據(jù)庫的訪問。它是—個無需進行編譯的應用程序環(huán)境,支持OpenScript接口,可以使用這個標準的任一種腳本語言,如VBScript及JavaScript等。這些語言能夠調(diào)用相應的組件完成某種功能。ASP可以用多線程方式在服務器的進程中運行,可對多用戶程序進行并行優(yōu)化處理,可以建立動態(tài)性強和功能齊全的網(wǎng)站。與CGI相比,ASP具有以下特點:易于掌握,功能齊全,便于高效開發(fā)出Web應用軟件。運行效率較高(CGI以磁盤文件方式進行數(shù)據(jù)交換),因為ASP是以數(shù)據(jù)流方式與瀏覽器進行數(shù)據(jù)交換。采用多線程的工作方式,更節(jié)省系統(tǒng)資源??梢詫TML文本與程序文本組合,無需編譯,易于編程與調(diào)試。6.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)(3)ASP與ADO116.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)(4)ODBCODBC(開放式數(shù)據(jù)庫連接)是一種用C語言編制,適用于不同的DBMS(數(shù)據(jù)庫管理系統(tǒng))數(shù)據(jù)存取標準的應用程序接口。它包含4個組件,即應用程序、驅(qū)動程序管理器(drivermanager),驅(qū)動程序和數(shù)據(jù)源。其驅(qū)動程序管理器可以將多種平臺的數(shù)據(jù)庫相連接,每種數(shù)據(jù)庫引擎均需要向驅(qū)動程序管理器登錄自己的ODBC驅(qū)動程序,以進行相應的數(shù)據(jù)訪問。ODBC向應用程序提供統(tǒng)一的標準接口,這為ODBC的開放性奠定了基礎。6.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)(4)ODBC126.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)(5)JDBCJDBC是Java應用程序接口,用于執(zhí)行SQL語句,是API(Application
ProgrammingInterface應用程序編程接口)集合。JDBC中設置了多種Java程序連接數(shù)據(jù)庫的框架,由一組Java語言編寫的類和接口組成,其目標是讓多種數(shù)據(jù)庫用戶用Java程序或Java的腳本語言實現(xiàn)對數(shù)據(jù)庫的訪問。JDBC保持了ODBC的基本特征,也獨立于特定的數(shù)據(jù)庫。使用相同源代碼的應用程序通過動態(tài)加載不同的JDBC驅(qū)動程序訪問不同的DBMS。在連接不同的DBMS時各個數(shù)據(jù)庫管理系統(tǒng)通過不同的URL(統(tǒng)一資源定位器)來標識。JDBC的總體結(jié)構(gòu)類似于ODBC,也具有相應的組件:應用程序、驅(qū)動程序管理器、驅(qū)動程序和數(shù)據(jù)源。JDBC的使用方法主要有3種,即通過ODBC與數(shù)據(jù)庫連接、直接用JDBC與數(shù)據(jù)庫連接及通過中間層完成計算,運用JDBC驅(qū)動程序連接數(shù)據(jù)庫。6.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)(5)JDBC136.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)(6)大型數(shù)據(jù)庫專用接口許多著名的數(shù)據(jù)庫廠商都為自己的數(shù)據(jù)庫系統(tǒng)提供高性能的接口,如SybaseWeb.sql是由Sybase公司開發(fā)的網(wǎng)絡數(shù)據(jù)庫軟件,需要與網(wǎng)絡服務器配合,它使用標準和擴充的HTML,PerlScript與SQL可以訪問數(shù)據(jù)庫。Oracle公司也提供了OracleWebApplicationServer,可實現(xiàn)訪問數(shù)據(jù)庫的各種功能服務,執(zhí)行PL/SQL可以對Oracle9i進行訪問。6.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)(6)大型數(shù)據(jù)庫專用接口146.2.3建立網(wǎng)站如何選擇合適的數(shù)據(jù)庫
目前常用的建立中小型數(shù)據(jù)庫工具一般有Access、MySQL、SQLServer等,那么,當你想做一個網(wǎng)站時,到底哪一種數(shù)據(jù)庫是適合自己的呢?以下分別介紹一下這幾種數(shù)據(jù)庫的特點及功能。1.Access是一種桌面數(shù)庫,適合數(shù)據(jù)量少的應用,在處理少量數(shù)據(jù)和單機訪問的數(shù)據(jù)庫時是很好的,效率也很高。但是它的同時訪問客戶端不能多于4個。早期的Access數(shù)據(jù)庫有一定的極限,如果數(shù)據(jù)達到100M左右,很容易造成服務器IIS假死,或者消耗掉服務器的內(nèi)存導致服務器崩潰。在Access2003以后的,如果服務器的配置的合理,中小型公司的企業(yè)20以上的客戶端也收到不錯的效果,可以同時使用,包括查詢,輸入數(shù)據(jù)等,出錯現(xiàn)象較少。6.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)6.2.3建立網(wǎng)站如何選擇合適的數(shù)據(jù)庫6.2網(wǎng)站后臺156.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)2.SQLServer是基于服務器端的中型的數(shù)據(jù)庫,可以適合大容量數(shù)據(jù)的應用,在功能上管理上也要比Access要強得多。在處理海量數(shù)據(jù)的效率,后臺開發(fā)的靈活性,可擴展性等方面強大。因為現(xiàn)在數(shù)據(jù)庫都使用標準的SQL語言對數(shù)據(jù)庫進行管理,所以如果是標準SQL語言,兩者基本上都可以通用的。SQLServer特點:真正的客戶機/服務器體系結(jié)構(gòu)。圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。豐富的編程接口工具,為用戶進行程序設計提供了更大的選擇余地。SQLServer與WindowsNT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。具有很好的伸縮性,可跨越從運行Windows95/98的膝上型電腦到運行Windows2000的大型多處理器等多種平臺使用。對Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。SQLServer提供數(shù)據(jù)倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。6.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)2.SQLServer是基于服163.MySQL是一個開放源碼的小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。目前MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,使許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫MySQL特點:MySql的核心程序采用完全的多線程編程。線程是輕量級的進程,可靈活地為用戶提供服務,而不過多的占用系統(tǒng)資源。MySql可運行在不同的操作系統(tǒng)下。MySql有一個非常靈活而且安全的權(quán)限和口令系統(tǒng)。當客戶與MySql服務器連接時,所有的口令傳送被加密,而且MySql支持主機認證。MySql支持ODBCforWindows。MySql支持所有的ODBC2.5函數(shù)和其他許多函數(shù),這樣就可以用Access連接MySql服務器,從而使得MySql的應用被大大擴展。MySql支持大型的數(shù)據(jù)庫。MySql擁有一個快速而且穩(wěn)定的基于線程的內(nèi)存分配系統(tǒng),穩(wěn)定性好具有強大的查詢功能。6.2網(wǎng)站后臺數(shù)據(jù)庫技術(shù)3.MySQL是一個開放源碼的小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。目前176.3.1分析網(wǎng)站的數(shù)據(jù)內(nèi)容1.分析數(shù)據(jù)內(nèi)容的原則分析網(wǎng)站數(shù)據(jù)內(nèi)容,實質(zhì)上是將現(xiàn)實世界中的事物表示在計算機之中。在這里我們首先介紹一下實體和屬性的概念:實體(entity):客觀存在且可以相互區(qū)別的事物。實體既可以是—個具體的事物,例如一個學生、一輛汽車、一篇新聞等等,也可以是一個抽象的事物,例如一場球賽、一次活動等等。屬性(attribute):實體有若干特性,每一個特性稱為屬性。每個屬性有一個值域,值域的類型可以是整型、實型或字符串型。例如學生有學號、姓名、年齡、性別等屬性,新聞有發(fā)表時間、出版社、新聞主題、新聞關(guān)鍵字等屬性。6.3數(shù)據(jù)庫設計
6.3.1分析網(wǎng)站的數(shù)據(jù)內(nèi)容6.3數(shù)據(jù)庫設計
186.3數(shù)據(jù)庫設計
確定網(wǎng)站數(shù)據(jù)的內(nèi)容就是把現(xiàn)實世界中的各種實體表現(xiàn)在計算機中,主要是要把實體的屬性準確地在計算機中反映出來。屬性的表示對于實體的表示是至關(guān)重要的,實體的存在其實是一組屬性的集合,而屬性當前值的不同組合就反映了實體的不同狀態(tài)。因此,分析網(wǎng)站數(shù)據(jù)的內(nèi)容就是要準確地找出實體的屬性集,并把它們描述在計算機當中。確定實體的屬性集的原則是被確定的屬性對于該實體是必要的(有用的),并且,應該是可區(qū)別的、有明確定義的。必要的是指該屬性在表示實體時是必須的,沒有了該屬性所得到的實體狀態(tài)是不完整和不確定的。例如,對于一個學生實體,姓名是最顯然的必要屬性,沒有了這個屬性就無法知道這個實體具體表示哪個學生了(也就是不確定了)。6.3數(shù)據(jù)庫設計
確定網(wǎng)站數(shù)據(jù)的內(nèi)容192.分析數(shù)據(jù)內(nèi)容的例子下面我們以一個商業(yè)網(wǎng)站IT營銷網(wǎng)的實例來分析網(wǎng)站的數(shù)據(jù)內(nèi)容。在本例網(wǎng)站中,我們要完成的任務是如何將新聞瀏覽功能,發(fā)表評論功能、社區(qū)討論功能所要操作的對象表示在網(wǎng)站數(shù)據(jù)庫中。也就是找出它們操作的對象,以及這些對象實體的屬性集。對于新聞瀏覽功能,我們的操作對象是新聞。新聞文章的一些主要屬性如下:6.3數(shù)據(jù)庫設計2.分析數(shù)據(jù)內(nèi)容的例子6.3數(shù)據(jù)庫設計206.3數(shù)據(jù)庫設計新聞ID新聞標題是否有插圖插圖名字新聞內(nèi)容新聞級別發(fā)布日期新聞來源所屬欄目名稱欄目級數(shù)父欄目名稱關(guān)鍵字相關(guān)新聞是否可發(fā)表評論是否定制6.3數(shù)據(jù)庫設計新聞ID新聞標題是否有插圖插圖名字新聞216.3數(shù)據(jù)庫設計6.3.2分析網(wǎng)站的數(shù)據(jù)內(nèi)容之間的聯(lián)系1.各種聯(lián)系模式兩個不同的實體集之間的聯(lián)系有以下三種情況。(1)1:1聯(lián)系如果實體集E1中每個實體(即一個值)至多和實體集E2中一個實體有聯(lián)系,反之亦然,那么實體集E1和E2的聯(lián)系稱為“一對一聯(lián)系”,記為“1:1聯(lián)系”。例如飛機的座位和乘客之間,學校與校長之間都是1:1聯(lián)系,如圖6-3所示。圖6-3實體之間一對一聯(lián)系示意圖(2)1:M聯(lián)系如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯(lián)系,而E2實體集中每個實體至多與E1中一個實體有聯(lián)系,那么稱E1和E2的聯(lián)系為“一對多聯(lián)系”,記為“1:M聯(lián)系”。例如,在學校里,系和學生之間,工廠里車間和職工之間都是1:M聯(lián)系,如圖6-4所示。6.3數(shù)據(jù)庫設計6.3.2分析網(wǎng)站的數(shù)據(jù)內(nèi)容之間的聯(lián)226.3數(shù)據(jù)庫設計(3)M:N聯(lián)系如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯(lián)系,反之亦然,那么稱E1和E2的聯(lián)系為“多對多聯(lián)系”,記為“M:N聯(lián)系”。例如,學生與課程之間,商店與顧客之間都是M:N聯(lián)系。上面3種聯(lián)系是實體集之間最基本的聯(lián)系。類似地也可以定義多個實體集(三個或三個以上)之間的各種聯(lián)系,也可以定義同一個實體集的實體間聯(lián)系。另外,M:N聯(lián)系在計算機中表示起來是十分復雜的,但是我們可以引入兩個1:M的聯(lián)系來表示一個M:N的聯(lián)系,只要在中間加入一個抽象出來的實體集。例如,我們要表示學生與課程的關(guān)系,我們在原來學生和課程兩個實體集的基礎上引入了“學生v課程”這樣一個實體集,就可以形成“學生”與“學生v課程”之間是1:M的關(guān)系和“課程”與“學生V課程”之間也是1:M的關(guān)系了。6.3數(shù)據(jù)庫設計(3)M:N聯(lián)系236.3數(shù)據(jù)庫設計數(shù)據(jù)庫設計是對一個給定的應用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應用需求。即信息要求和處理要求,大型數(shù)據(jù)庫設計既是涉及多學科的綜合性技術(shù),又是一項龐大的工程項目。它要求從事數(shù)據(jù)庫設計的專業(yè)人員應具備多方面的技術(shù)和知識,除要了解計算科學的基礎知識和軟件工程的原理和方法,掌握程序設計的方法和技巧,具備數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設計技術(shù)外,還應充分了解應用領域的業(yè)務知識,才能設計出符合具體領域要求的數(shù)據(jù)庫應用系統(tǒng)。本節(jié)主要介紹關(guān)系數(shù)據(jù)庫設計的基本概念、步驟和方法,并通過實例設計進行說明。通過本節(jié)學習,可以了解:數(shù)據(jù)庫設計的基本步驟;關(guān)系數(shù)據(jù)庫設計方法:基于E-R模型的數(shù)據(jù)庫設計方法和用戶視圖法;6.3數(shù)據(jù)庫設計數(shù)據(jù)庫設計是對一246.3數(shù)據(jù)庫設計6.3.3數(shù)據(jù)庫設計的基本步驟按照規(guī)范設計的方法,考慮數(shù)據(jù)庫及其應用系統(tǒng)開發(fā)全過程,將數(shù)據(jù)庫設計分為以下六個階段。如圖所示。6.3數(shù)據(jù)庫設計6.3.3數(shù)據(jù)庫設計的基本步驟25數(shù)據(jù)庫設計步驟數(shù)據(jù)庫設計步驟266.3數(shù)據(jù)庫設計1.需求分析階段2.概念模型設計階段3.邏輯模型設計階段4.數(shù)據(jù)庫物理設計階段物理設計可分五步完成,前三步涉及到物理結(jié)構(gòu)設計,后兩步涉及到約束和具體的程序設計。(1)存儲記錄結(jié)構(gòu)設計:包括記錄的組成,數(shù)據(jù)項的類型、長度,以及邏輯記錄到存儲記錄的映射。(2)確定數(shù)據(jù)存放位置:可以把經(jīng)常同時被訪問的數(shù)據(jù)組合在一起,“記錄聚簇(cluster)”技術(shù)能滿足這個要求。(3)存取方法的設計:存取路徑分為主存取路徑及輔存取路徑,前者用于主鍵檢索,后者用于輔助鍵檢索。(4)完整性和安全性考慮:設計者應在完整性、安全性、有效性和效率方面進行分析,做出權(quán)衡。(5)程序設計6.3數(shù)據(jù)庫設計1.需求分析階段276.3數(shù)據(jù)庫設計5.數(shù)據(jù)庫實施階段根據(jù)邏輯設計和物理設計的結(jié)果,在計算機系統(tǒng)上建立起實際數(shù)據(jù)庫結(jié)構(gòu)、裝入數(shù)據(jù)、測試和試運行的過程稱為數(shù)據(jù)庫的實施階段。實施階段主要有三項工作。(1)建立實際數(shù)據(jù)庫結(jié)構(gòu)。對描述邏輯設計和物理設計結(jié)果的程序即“源模式”,經(jīng)DBMS編譯成目標模式并執(zhí)行后,便建立了實際的數(shù)據(jù)庫結(jié)構(gòu)。(2)裝入試驗數(shù)據(jù)對應用程序進行調(diào)試。試驗數(shù)據(jù)可以是實際數(shù)據(jù),也可由手工生成或用隨機數(shù)發(fā)生器生成。應使測試數(shù)據(jù)盡可能覆蓋現(xiàn)實世界的各種情況。(3)裝入實際數(shù)據(jù),進入試運行狀態(tài)。測量系統(tǒng)的性能指標,看是否符合設計目標。如果不符,則返回到前面,修改數(shù)據(jù)庫的物理模型設計甚至邏輯模型設計。6.3數(shù)據(jù)庫設計5.數(shù)據(jù)庫實施階段286.3數(shù)據(jù)庫設計6.數(shù)據(jù)庫運行和維護階段數(shù)據(jù)庫系統(tǒng)正式運行,標志著數(shù)據(jù)庫設計與應用開發(fā)工作的結(jié)束和維護階段的開始。運行維護階段的主要任務有四項:(1)維護數(shù)據(jù)庫的安全性與完整性:檢查系統(tǒng)安全性是否受到侵犯,及時調(diào)整授權(quán)和密碼,實施系統(tǒng)轉(zhuǎn)儲與備份,發(fā)生故障后及時恢復。(2)監(jiān)測并改善數(shù)據(jù)庫運行性能:對數(shù)據(jù)庫的存儲空間狀況及響應時間進行分析評價,結(jié)合用戶反應確定改進措施。(3)根據(jù)用戶要求對數(shù)據(jù)庫現(xiàn)有功能進行擴充。(4)及時改正運行中發(fā)現(xiàn)的系統(tǒng)錯誤。6.3數(shù)據(jù)庫設計6.數(shù)據(jù)庫運行和維護階段292.4確定網(wǎng)站的主題6.3.4關(guān)系數(shù)據(jù)庫基本概念1.關(guān)系數(shù)據(jù)庫關(guān)系模型把世界看作是由實體和聯(lián)系構(gòu)成。所謂實體就是指現(xiàn)實世界中具有區(qū)分與其他事物的特征或?qū)傩圆⑴c其他實體有聯(lián)系的對象。在關(guān)系模型中,實體通常以表的形式來表現(xiàn)。表是由行和列組成的,行表示數(shù)據(jù)的記錄,列表示記錄中的域。表的每一行描述實體的一個實例,表的每一列描述實體的一個特征或?qū)傩?。所謂聯(lián)系就是實體之間的關(guān)系,聯(lián)系分為三種:一對一、一對多和多對一,通過聯(lián)系就可以用一個實體的信息來查找另—個實體的信息。關(guān)系模型把所有的數(shù)據(jù)都組織在表中,表反映了現(xiàn)實世界中的事實和值。2.4確定網(wǎng)站的主題6.3.4關(guān)系數(shù)據(jù)庫基本概念306.3數(shù)據(jù)庫設計2.常見的數(shù)據(jù)庫對象(1)表表是包含數(shù)據(jù)庫中所有數(shù)據(jù)的數(shù)據(jù)庫對象。表定義為列的集合。與電子表格相似,數(shù)據(jù)在表中是按行和列的格式組織排列的:每行代表唯一的一條記錄,而每列代表記錄中的一個域。每個表代表某類對用戶有意義的對象。例如,可在一個學校數(shù)據(jù)庫內(nèi)找到班級表、教師表和學生表。表有兩個主要組件。列:每列代表由表建模的對象的某種特性,每列又稱一個字段,列的標題稱為字段名。行:每行代表由表建模的對象的個別事件。6.3數(shù)據(jù)庫設計2.常見的數(shù)據(jù)庫對象316.3數(shù)據(jù)庫設計(2)索引索引是對數(shù)據(jù)庫表中一個或多個列的值進行排序的結(jié)構(gòu),可以利用索引快速訪問數(shù)據(jù)庫表中的特定信息。如果想按特定職員的“姓”來查找,與在表中搜索所有的行相比,索引有助于更快地獲取信息。索引提供指針以指向存儲在表中指定列的數(shù)據(jù)值,然后根據(jù)指定的排序次序排列這些指針。數(shù)據(jù)庫使用索引的方式與使用書的目錄很相似,通過搜索索引找到特定的值,然后跟隨指針到達包含該值的行。在數(shù)據(jù)庫關(guān)系圖中,可以為選定的表創(chuàng)建、編輯或刪除索引/鍵屬性頁中的每個索引類型。當保存附加在此索引上的表或包含此表的數(shù)據(jù)庫關(guān)系圖時,索引同時被保存。通常情況下,只有當經(jīng)常查詢索引列中的數(shù)據(jù)時,才需要在表上創(chuàng)建索引。索引將占用磁盤空間,并且降低添加、刪除和更新行的速度。不過在多數(shù)情況下,索引所帶來的數(shù)據(jù)檢索速度的優(yōu)勢大大超過它的不足之處。然而,如果應用程序非常頻繁地更新數(shù)據(jù),或磁盤空間有限,那么最好限制索引的數(shù)量。6.3數(shù)據(jù)庫設計(2)索引326.3數(shù)據(jù)庫設計(3)視圖視圖可以被看成是虛擬表或存儲查詢??赏ㄟ^視圖訪問的數(shù)據(jù)不作為獨特的對象存儲在數(shù)據(jù)庫內(nèi)。數(shù)據(jù)庫內(nèi)存儲的是SELECT語句。SELECT語句的結(jié)果是構(gòu)成視圖所返回的虛擬表。用戶可以用引用表時所使用的方法,在Transact-SQL語句中通過引用視圖名稱來使用虛擬表。使用視圖可以實現(xiàn)下列其一或所有功能。將用戶限定在表中的特定行上,例如,只允許雇員看見工作跟蹤表內(nèi)記錄其工作的行。將用戶限定在特定列上,例如,對于那些不負責處理工資單的雇員,只允許他們看見雇員表中的姓名列、辦公室列、工作電話列和部門列,而不能看見任何包含工資信息或個人信息的列。將多個表中的列聯(lián)接起來,使它們看起來像一個表。聚合信息而非提供詳細信息。例如,顯示一個列的和,或列的最大值和最小值。6.3數(shù)據(jù)庫設計(3)視圖336.3數(shù)據(jù)庫設計(4)關(guān)系圖關(guān)系圖實際上是數(shù)據(jù)庫表之間的關(guān)系示意圖,利用它可以編輯表與表之間的關(guān)系。(5)CHECK約束CHECK約束通過限制輸入到列中的值來強制域的完整性。這與FOREIGN
KEY(外鍵)約束控制列中數(shù)值相似。區(qū)別在于它們?nèi)绾闻袛嗄男┲涤行?,F(xiàn)OREIGNKEY約束從另一個表中獲得有效數(shù)值列表,CHECK約束從邏輯表達式判斷而非基于其他列的數(shù)據(jù)。例如,通過創(chuàng)建CHECK約束可將age列的取值范圍限制在20~30之間,從而防止輸入的年齡超出正常的年齡范圍。6.3數(shù)據(jù)庫設計(4)關(guān)系圖346.3數(shù)據(jù)庫設計可以通過任何基于邏輯運算符返回結(jié)果true或false的邏輯表達式來創(chuàng)建CHECK約束。例如:age>=20ANDage<=30對單獨一列可使用多個CHECK約束。按約束創(chuàng)建的順序?qū)ζ淙≈?。通過在表一級上創(chuàng)建CHECK約束,可以將該約束應用到多列上。例如,多列CHECK約束可以用來判明“性別”列值為“男”且name列值為四個字母值所對應的行。這樣就允許在一處同時檢查多個條件。(6)規(guī)則規(guī)則是一個向后兼容的功能。用于執(zhí)行一些與CHECK約束相同的功能。CHECK約束是用來限制列值的首選標準方法。CHECK約束比規(guī)則更簡明,一個列只能應用一個規(guī)則,但是卻可以應用多個CHECK約束。CHECK約束作為CREATETABLE語句的一部分進行指定,而規(guī)則以單獨的對象創(chuàng)建,然后綁定到列上。6.3數(shù)據(jù)庫設計可以通過任何基于邏輯運算符返回結(jié)果tru356.3數(shù)據(jù)庫設計(7)存儲過程存儲過程可以使得對數(shù)據(jù)庫的管理及顯示關(guān)于數(shù)據(jù)庫及其用戶信息的工作容易得多。存儲過程是SQL語句和可選控制流語句的預編譯集合,以一個名稱存儲并作為一個單元處理。存儲過程存儲在數(shù)據(jù)庫內(nèi),可由應用程序通過一個調(diào)用執(zhí)行,而且允許用戶聲明變量、有條件執(zhí)行及實現(xiàn)其他強大的編程功能。(8)觸發(fā)器觸發(fā)器是一種特殊類型的存儲過程,當使用UPDATE,INSERT或DELETE中的一種或多種數(shù)據(jù)修改操作在指定表中對數(shù)據(jù)進行修改時,觸發(fā)器會生效。觸發(fā)器可以查詢其他表,而且可以包含復雜的SQL語句。它們主要用于強制復雜的業(yè)務規(guī)則或要求。例如,可以控制是否允許基于顧客的當前賬戶狀態(tài)插入定單。6.3數(shù)據(jù)庫設計(7)存儲過程366.3數(shù)據(jù)庫設計6.3.5關(guān)系數(shù)據(jù)庫設計方法1.基于E-R模型的數(shù)據(jù)庫設計方法(1).E-R模型的設計步驟a.設計局部E-R模式設計E-R模式可以采用三種不同的次序進行設計。自頂向下:該方法首先從抽象級別高、普遍性強的類開始,然后逐步細分。例如:物資管理中,物資是最高級別的抽象,它可分為五金類、燃料類、鋼材類、勞保類等。由底向上:該方法首先從具體對象開始,逐步抽象形成類。同樣以物資為例,先查看倉庫有哪些物資,再分析每種具體的物資屬于哪個門類。由內(nèi)向外:該方法首先從最中心的對象開始,逐步擴展到與它相關(guān)的其他對象。仍以物資管理為例,先從最中心的管理對象物資開始,逐步擴展到存放物資的倉庫、倉庫的管理者、物資的使用者、物資的采購入庫,庫存情況等。6.3數(shù)據(jù)庫設計6.3.5關(guān)系數(shù)據(jù)庫設計方法376.3數(shù)據(jù)庫設計區(qū)分實體與屬性。實體是E-R模式中的基本單位,每個實體應包括的屬性,并不是固定不變的,而是根據(jù)需要選定并進行區(qū)分,也即實體與屬性是相對的。區(qū)分聯(lián)系、嵌套與繼承。繼承是實體間的分類與包含關(guān)系,例如物資實體包含了五金類、燃料類、鋼材類、勞保類實體,而這些子類實體繼承了物資實體的基本屬性。嵌套是實體對屬性的依賴關(guān)系,它反應了實體間的集合與分類關(guān)系。聯(lián)系反映實體間的內(nèi)在邏輯關(guān)聯(lián),例如倉庫存放物資,就是反映倉庫實體與物資實體的邏輯關(guān)系。聯(lián)系的詳細描述。實體間聯(lián)系的對應關(guān)系有1:1、1:N、M:N三種,用這三種聯(lián)系可檢查需求中的聯(lián)系是否有遺漏。繼承的詳細描述。若子實體繼承父實體的全部屬性,則稱全繼承;若繼承部分屬性,則稱部分繼承。6.3數(shù)據(jù)庫設計區(qū)分實體與屬性。實體是E-R模式中的基本386.3數(shù)據(jù)庫設計b.將各個局部E-R模式,綜合成全局E-R模式合并過程主要解決各E-R圖之間的沖突,其沖突主要有三類:屬性沖突、命名沖突和結(jié)構(gòu)沖突。屬性沖突:即屬性值的類型、取值范圍或取值集合不同。例如:有的E-R圖將日期作為日期型,有的定義為字符型。屬性沖突問題可通過統(tǒng)一規(guī)范的工程化管理來解決。命名沖突:不同意義的對象在不同的局部應用中具有相同的名字,或同一意義的對象在不同的局部應用中具有不同的名字。結(jié)構(gòu)沖突:同一對象在不同應用中具有不同的抽象。在某一局部應用中被當作實體,而在另一局部應用中當作屬性,或同一實體在不同局部E-R圖中所包含的屬性個數(shù)不同。造成此問題的原因是各局部應用所關(guān)心的側(cè)重點不同,解決的辦法是取各分E-R圖中實體屬性的并集。6.3數(shù)據(jù)庫設計b.將各個局部E-R模式,綜合成全局E396.3數(shù)據(jù)庫設計c.全局E-R模式的優(yōu)化進行相關(guān)實體類型的合并,以減少實體類型的個數(shù);盡可能消除實體中的冗余屬性;盡可能消除冗余的聯(lián)系類型。使用上述步驟得到的全局E-R模式能準確、全面地反映用戶的功能需求。(2)E-R圖向關(guān)系模型的轉(zhuǎn)換E-R圖向關(guān)系模型轉(zhuǎn)換,要解決的問題是如何將實體和實體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,以及如何確定這些關(guān)系模式的屬性和碼。關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合。E-R圖則由實體、實體的屬性和實體之間的聯(lián)系三個要素組成,所以將E-R圖轉(zhuǎn)換為關(guān)系模型實際上就是將實體、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)換成為關(guān)系模式,這種轉(zhuǎn)換一般遵循如下原則。一個實體型轉(zhuǎn)換為一個關(guān)系模式。實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。6.3數(shù)據(jù)庫設計c.全局E-R模式的優(yōu)化406.3數(shù)據(jù)庫設計一個l:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意—端對應的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個實體的碼均是該關(guān)系的候選碼。如果與某一端實體對應的關(guān)系模式合并,則需要在該關(guān)系模式的屬性中加入另—個關(guān)系模式的碼和聯(lián)系本身的屬性。一個1:N聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與N端對應的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為N端實體的碼。一個M:N聯(lián)系轉(zhuǎn)換為一個關(guān)系根式,與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合。6.3數(shù)據(jù)庫設計一個l:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模416.3數(shù)據(jù)庫設計通過上述方法,將倉庫管理系統(tǒng)E-R圖轉(zhuǎn)化為如下的關(guān)系模式倉庫(倉庫編碼,倉庫名稱)物資(物資編碼,物資名稱,型號規(guī)格,計量單位,價格)用料單位(單位編碼,單位名稱)入庫單(入庫單號,入庫日期,倉庫編碼,物資編碼,采購數(shù)量,實收數(shù)量,購買價格,驗收人價格,驗收人)出庫單(出庫單號,出庫日期,倉庫編碼,物資編碼,領料單位,請領數(shù)量,實發(fā)數(shù)量,價格)庫存(物資編碼,日期,倉庫編碼,價格,庫存量)6.3數(shù)據(jù)庫設計通過上述方法,將倉庫管理系統(tǒng)E-R圖轉(zhuǎn)化426.3數(shù)據(jù)庫設計小結(jié):數(shù)據(jù)庫結(jié)構(gòu)設計的不同階段可形成數(shù)據(jù)庫的各級模式;需求分析階段,綜合各個用戶的應用需求;在概念設計階段形成獨立于機器特點,獨立于各個DBMS產(chǎn)品的概念模式(即E-R圖);在邏輯設計階段將E-R圖轉(zhuǎn)換成具體數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,如關(guān)系模型,形成數(shù)據(jù)庫邏輯模式;然后根據(jù)用戶處理的要求及安全性的考慮,可在基本表的基礎上再建立必須的視圖,形成數(shù)據(jù)的外模式;在物理設計階段,根據(jù)DBMS特點和處理需要,進行物理存儲安排,建立索引,形成數(shù)據(jù)庫內(nèi)模式。6.3數(shù)據(jù)庫設計小結(jié):數(shù)據(jù)庫結(jié)構(gòu)設計的不同階段可形成數(shù)據(jù)436.4.1Access2003基礎知識1.認識Access2003MicrosoftAccess是MicrosoftOffice套件中的一個組成部分,隨著MicrosoftOffice由MicrosoftOffice95升級到MicrosoftOffice2003,包含其間的Access也從MicrosoftAccess95升級到MicrosoftAccess2003。每一次版本的更新升級,都必須意味著功能的增強。相比較MicrosoftAccess2002而言,MicrosoftAccess2003具有更加強大的功能。2.Access2003的運行(1)Access2003的運行環(huán)境由于Access2003作為Office2003的組件提供,因此,Access2003的運行環(huán)境要求也就是Office2003的運行環(huán)境要求。Office2003各個版本均要求WindowsXP或WindowsNT/2003Server/Workstation操作系統(tǒng)所提供的運行環(huán)境。6.4Access數(shù)據(jù)庫
6.4.1Access2003基礎知識6.4Acc446.4Access數(shù)據(jù)庫(2)Access2003的啟動運行如同Microsoft公司的其他各種類型軟件一樣,Access2003的安裝程序也會自動修改Windows操作系統(tǒng)的注冊表和“開始”菜單。運行啟動Access2003的方法應該是順序單擊[開始]|[所有程序]|[MicrosoftOffice]|[MicrosoftOfficeAccess2003]即可進入Access2003,如圖6-7所示。為了方便使用,也可將Access2003執(zhí)行程序拖曳至Windows桌面,以形成快捷方式。這樣,雙擊位于Windows桌面上的快捷圖標即可進入Access2003,這也是一種經(jīng)常使用的方式。啟動Access2003后,即可看到Access2003的啟動窗口,如圖6-8所示。圖6-7啟動運行Access2003菜單圖6-8Access2003啟動窗口在Access2003啟動窗口的右側(cè)放置有一個名為“開始工作”的對話框,在其中進行操作可以完成如下工作:a.打開最近使用過的Access數(shù)據(jù)庫。在“開始工作”對話框下端的“打開”標題欄內(nèi),列有最近使用過的Access數(shù)據(jù)庫名稱,單擊需要打開的數(shù)據(jù)庫名稱,即可打開這個數(shù)據(jù)庫。6.4Access數(shù)據(jù)庫(2)Access2003的啟動456.4Access數(shù)據(jù)庫6.4Access數(shù)據(jù)庫466.4Access數(shù)據(jù)庫6.4Access數(shù)據(jù)庫476.4Access數(shù)據(jù)庫b.打開其他Access數(shù)據(jù)庫。如果當前需要打開的數(shù)據(jù)庫不在“打開”標題欄內(nèi),可以單擊“打開”標題欄內(nèi)的“其他…”選項,啟動“打開”對話框,然后在其中選定需要打開的數(shù)據(jù)庫名稱,即可打開這個數(shù)據(jù)庫。c.新建Access數(shù)據(jù)庫。在“打開”標題欄的下端,有一個標記為“新建文件”的按鈕,單擊此按鈕,可以改變“開始工作”對話框為“新建文件”對話框。在“新建文件”對話框中,可以選擇“新建空數(shù)據(jù)庫”、“新建數(shù)據(jù)訪問頁”等等,從而完成新建Access數(shù)據(jù)庫的工作。d.OfficeOnline。在“開始工作”對話框的頂部,放置了提供Access2003應用幫助的4個超級鏈接,從而構(gòu)成了Access2003提供的外部幫助接口。圖6-9數(shù)據(jù)庫設計視圖6.4Access數(shù)據(jù)庫b.打開其他Access數(shù)據(jù)庫。486.4Access數(shù)據(jù)庫6.4Access數(shù)據(jù)庫496.4Access數(shù)據(jù)庫(2)利用Access2003數(shù)據(jù)庫模板創(chuàng)建Access數(shù)據(jù)庫AccessDBMS的設計者充分考慮到二次應用開發(fā)者的利益,為絕大多數(shù)Access對象的創(chuàng)建提供設計向?qū)В@些向?qū)У氖褂煤喕四承〢ccess對象的創(chuàng)建與設計過程。對象設計向?qū)У氖褂檬且粋€對話過程,在一般情況下,利用設計向?qū)Э梢钥焖俚赝瓿梢粋€Access對象的初步設計操作,Access2003數(shù)據(jù)庫模板屬于數(shù)據(jù)庫對象設計向?qū)А?.打開已有的Access2003數(shù)據(jù)庫方法:(1)利用“開始工作”對話框。進入Access2003后,出現(xiàn)圖6-11所示“開始工作”對話框,其中列表中有最近打開過的Access2003數(shù)據(jù)庫名稱。此時只需單擊你需要打開的數(shù)據(jù)庫名稱,即可打開這個數(shù)據(jù)庫。如果所需打開的數(shù)據(jù)庫不在此列中,應該單擊名為“其他….”的列表項,然后在“打開”對話框中選擇需要打開的數(shù)據(jù)庫文件,如圖6-12所示。6.4Access數(shù)據(jù)庫(2)利用Access2003數(shù)506.4Access數(shù)據(jù)庫圖6-11“打開”對話框示例6.4Access數(shù)據(jù)庫516.4Access數(shù)據(jù)庫圖6-11“打開”對話框示例(2)利用“打開”工具按鈕在Access2003數(shù)據(jù)庫設計視圖窗口的工具欄中,有一個“打開”工具按鈕。單擊這個工具按鈕,即可出現(xiàn)“打開”對話框。當然,調(diào)出“打開”對話框的方式還可以在窗口菜單中選擇[文件]|[打開]。在“打開”對話框中的“查找范圍”組合框中,可以選擇需打開數(shù)據(jù)庫文件所在的邏輯磁盤及其文件夾。(3)直接選擇打開Access2003數(shù)據(jù)庫在Windows操作系統(tǒng)中,打開數(shù)據(jù)庫所在的文件夾,鼠標左鍵雙擊Access2003數(shù)據(jù)庫圖標,即可打開指定的Access2003數(shù)據(jù)庫。6.4Access數(shù)據(jù)庫圖6-11“打開”對話框示例526.4Access數(shù)據(jù)庫6.4.4創(chuàng)建Access2003數(shù)據(jù)表對象數(shù)據(jù)表對象是數(shù)據(jù)庫中最基本的對象,是數(shù)據(jù)庫中所有數(shù)據(jù)的載體。換句話說,數(shù)據(jù)庫中的數(shù)據(jù)都是存儲在數(shù)據(jù)表中,并在數(shù)據(jù)表中接受各種操作與維護。數(shù)據(jù)庫中其他對象對數(shù)據(jù)庫中數(shù)據(jù)的任何操作都是基于數(shù)據(jù)表對象進行的。Access2003數(shù)據(jù)表對象由兩個部分構(gòu)成:表對象的結(jié)構(gòu)和表對象的數(shù)據(jù)。數(shù)據(jù)表對象的結(jié)構(gòu)是指數(shù)據(jù)表的框架,也稱為數(shù)據(jù)表對象的屬性,主要包括以下內(nèi)容。字段名稱用于標識表中的一列。即數(shù)據(jù)表中的一列稱為一個字段,而每一個字段均具有唯一的名字,被稱為字段名稱。字段是數(shù)據(jù)表對象中的子對象。數(shù)據(jù)類型根據(jù)關(guān)系數(shù)據(jù)庫理論,一個數(shù)據(jù)表中的同一列數(shù)據(jù)必須具有共同的數(shù)據(jù)特征,稱為字段的數(shù)據(jù)類型。6.4Access數(shù)據(jù)庫6.4.4創(chuàng)建Access536.4Access數(shù)據(jù)庫字段大小一個數(shù)據(jù)表中的一列所能容納的字符或數(shù)字的個數(shù)被稱為列寬,在Access2003中被稱為字段大小,采用字節(jié)數(shù)予以表示。字段的其他屬性上述三個屬性是字段對象的最基本屬性。此外,數(shù)據(jù)表中的字段對象還具有其他一些屬性,包括“索引”、“格式”等等。這些屬性值的設置將決定各個字段對象在被操作時的特性。創(chuàng)建新的數(shù)據(jù)表對象以”庫存數(shù)據(jù)記錄表為例”進行數(shù)據(jù)表的設計6.4Access數(shù)據(jù)庫字段大小546.4Access數(shù)據(jù)庫表6-2庫存數(shù)據(jù)記錄表結(jié)構(gòu)字段名類型說明News_ID自動編號新聞編號Title文本新聞標題Keywords文本關(guān)鍵字Content備注新聞內(nèi)容From文本新聞來源Datetime日期/時間發(fā)布日期6.4Access數(shù)據(jù)庫表6-2庫存數(shù)據(jù)記錄表結(jié)構(gòu)字556.4Access數(shù)據(jù)庫字段名類型說明News_ID自動編號新聞編號Title文本新聞標題Keywords文本關(guān)鍵字Content備注新聞內(nèi)容From文本新聞來源Datetime日期/時間發(fā)布日期圖6-12新建表”對話框在數(shù)據(jù)庫設計視圖中選擇“表”對象卡(如圖6-17所示),然后單擊“新建”按鈕,出現(xiàn)“新建表”對話框,如圖6-12所示。在“新建表”對話框中,Access2003提供五種創(chuàng)建新表的不同方法。其中,如果選定“導入表”,Access2003將啟動一個對話操作過程,使得我們可以將其他數(shù)據(jù)庫中的表復制到本數(shù)據(jù)庫中,從而實現(xiàn)創(chuàng)建新表的操作;如果選定“鏈接表”,Access2003也將啟動一個對話操作過程,使得我們可以將其他數(shù)據(jù)庫中的表映射到本數(shù)據(jù)庫中,成為本數(shù)據(jù)庫中可操作的表;如果選定“表向?qū)А保珹ccess2003仍然會啟動一個對話操作過程,使得我們可以通過一系列的對話操作創(chuàng)建一個新的數(shù)據(jù)表對象。6.4Access數(shù)據(jù)庫字段名類型說566.4Access數(shù)據(jù)庫圖6-12新建表”對話框6.4Access數(shù)據(jù)庫576.4Access數(shù)據(jù)庫2.在設計視圖設計表對象在圖6-13所示的“新建表”對話框中,選擇“設計視圖”選項,然后單擊“確定”按鈕,即進入數(shù)據(jù)表對象設計的操作窗口,稱為Access2003數(shù)據(jù)表設計視圖,如圖6-14所示。Access2003數(shù)據(jù)表設計視圖所在的窗口是一個標準的Windows窗口,窗口頂部一欄為數(shù)據(jù)表操作窗口菜單,下面的第二欄為表對象設計視圖窗口的工具欄。窗口的主體部分即為數(shù)據(jù)表對象的設計視圖??梢栽跀?shù)據(jù)表對象設計視圖所提供的表格中,通過逐欄填寫數(shù)據(jù)表對象的各個字段子對象及其子對象的相關(guān)屬性值,來實現(xiàn)創(chuàng)建或者設計數(shù)據(jù)表對象結(jié)構(gòu)的操作。下面對數(shù)據(jù)表操作窗口常用工具欄進行介紹:主鍵,用于指定當前字段為關(guān)鍵字段6.4Access數(shù)據(jù)庫2.在設計視圖設計表對象586.4Access數(shù)據(jù)庫圖6-14“庫存數(shù)據(jù)記錄”的數(shù)據(jù)表設計視圖6.4Access數(shù)據(jù)庫596.4Access數(shù)據(jù)庫索引:用于打開創(chuàng)建索引對話框插入行:在當前字段前插入一個新的字段行刪除行:刪除當前字段行屬性:打開表屬性對話框生成器:顯示選定項目或?qū)傩缘纳善鳌T跀?shù)據(jù)表設計視圖中,可以逐一輸入所建數(shù)據(jù)表對象的各個字段名稱、數(shù)據(jù)類型、字段大小等相關(guān)基本屬性值,隨著光標在不同的字段屬性處移動,表設計視圖右下端出現(xiàn)對于該屬性取值的上下文幫助說明。每輸入一個字段名稱,接著應該確定該字段的數(shù)據(jù)類型。這時,ACCESS2003即會在表設計視圖的常規(guī)選項卡上列出與該字段數(shù)據(jù)類型對應的其他屬性欄目,如有必要,則在這些屬性欄目中填入需要的屬性值。6.4Access數(shù)據(jù)庫索引:用于打開創(chuàng)建索引對話框606.4Access數(shù)據(jù)庫逐一設定數(shù)據(jù)表中的各個字段,并確定各個字段的相應屬性值,也就完成了數(shù)據(jù)表對象結(jié)構(gòu)的設計操作。以設計“tblNews”數(shù)據(jù)表對象為例,應該逐一設定6個字段及其各個字段的相關(guān)屬性,參考表6-2中的設計參數(shù)。設計完成的“tblNews”數(shù)據(jù)表對象如圖6-23所示。完成表結(jié)構(gòu)設計操作后,單擊設計視圖窗口右上角的“關(guān)閉”按鈕,彈出詢問是否保存的對話框,如圖6-15所示單擊“是”按鈕,彈出“另存為”對話框,如圖6-15所示。此時需輸入新建表的名稱。為了創(chuàng)建“tblNews”表對象,必須輸入表名稱如圖6-16所示,然后單擊“確定”按鈕,完成“庫存數(shù)據(jù)記錄”表對象的創(chuàng)建設計操作。 圖6-15是否保存新建表對話框 圖6-16“tblNews”表命名對話框6.4Access數(shù)據(jù)庫逐一設定數(shù)據(jù)表中的各個字段,并確616.4Access數(shù)據(jù)庫6.4Access數(shù)據(jù)庫626.4Access數(shù)據(jù)庫對于任意一個數(shù)據(jù)表對象,Access一般都要求定義唯一的一個主關(guān)鍵字段,這是必要的。主關(guān)鍵字段的含義是,在一個數(shù)據(jù)表中不允許任兩條記錄的主關(guān)鍵字段值相同。若未定義主關(guān)鍵字段,則在退出表結(jié)構(gòu)設計并要求保存本次設計操作時,Acccss2003會詢問并在得到認可的情況下自行增加一個取名為ID的、數(shù)據(jù)類型為“長整型”的自動編號字段。在本例的“庫存數(shù)據(jù)記錄”數(shù)據(jù)表中,需要設定“News_ID”字段為主關(guān)鍵字。在作為主關(guān)鍵字的“News_ID”字段左部標記列上標記著—個“鑰匙”圖標,這就表明將“貨號”字段設置成為主關(guān)鍵字了。6.4Access數(shù)據(jù)庫對于任意一個數(shù)據(jù)表對象,Acce636.4Access數(shù)據(jù)庫3、在數(shù)據(jù)表視圖中創(chuàng)建表對象圖6-17新建表視圖在“新建表”對話框(如圖6-17所示)中,如果選擇“數(shù)據(jù)表視圖”,并單擊“確定”按鈕,即進入創(chuàng)建新表的數(shù)據(jù)表視圖,如圖6-17所示。實際上,數(shù)據(jù)表視圖是數(shù)據(jù)表操作窗體主體部分顯示的一個表格,如果選定一個已經(jīng)存在的數(shù)據(jù)表對象,則數(shù)據(jù)表視圖中將顯示該數(shù)據(jù)表的數(shù)據(jù)以供查閱并修改。如果選中的是創(chuàng)建一個新的數(shù)據(jù)表對象。數(shù)據(jù)表視圖會顯示一個空的表格,等待填入數(shù)據(jù)。在數(shù)據(jù)表視圖中創(chuàng)建表結(jié)構(gòu)的方法是,直接在數(shù)據(jù)表視圖中輸入數(shù)據(jù)。輸入了多少列的數(shù)據(jù),所創(chuàng)建的表就有多少個字段,各字段名稱分別為“字段l”、“字段2”等等;各字段的數(shù)據(jù)類型則由Access根據(jù)所輸入的數(shù)據(jù)做出判斷。如若某列輸入的是字符,則被認作為“文本”;如若某列輸入的是數(shù)值,則被認作為“數(shù)字”等等。各字段大小則根據(jù)Access默認值取定,如“文本”大小為50,整數(shù)為“長整型”等等。6.4Access數(shù)據(jù)庫3、在數(shù)據(jù)表視圖中創(chuàng)建表對象圖6646.4Access數(shù)據(jù)庫圖6-17新建表視圖6.4Access數(shù)據(jù)庫656.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置
6.5.1ODBC簡介ODBC(OpenDatabaseConnectivity,開放式數(shù)據(jù)庫互連)是微軟推出的一種工業(yè)標準。它是一種開放的獨立于廠商的API應用程序接口,可以跨平臺訪問各種個人計算機、小型機以及主機系統(tǒng)。ODBC作為一個工業(yè)標準,絕大多數(shù)數(shù)據(jù)庫廠商、大多數(shù)應用軟件和工具軟件廠商都為自己的產(chǎn)品提供了ODBC接口或提供了ODBC支持,這其中就包括常用的SQLServer、Oracle、Informix等,當然也包括了Access。數(shù)據(jù)庫驅(qū)動程序使用DSN(DataSourceName)定位和標識特定的ODBC兼容數(shù)據(jù)庫,將信息從Web應用程序傳遞給數(shù)據(jù)庫。典型情況下,DSN包含數(shù)據(jù)庫配置、用戶安全性和定位信息,且可以獲取WindowsNT注冊表項或文本文件中的表格。通過ODBC,可以選擇要創(chuàng)建的DSN的類型:用戶DNS、系統(tǒng)DNS或文件DNS。6.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置
6.5.1ODBC666.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置(1)DSN:根據(jù)Microsoft的官方文檔,DSN的意思是“應用程序用于請求一個連到ODBC數(shù)據(jù)源的連接的名字”,換句話說,它是個代表ODBC連接的符號。它隱藏了諸如數(shù)據(jù)庫文件名、所在目錄、數(shù)據(jù)庫驅(qū)動程序、用戶ID、密碼等細節(jié)。因此,當建立一個連接時,你不用去考慮數(shù)據(jù)庫文件名、存放位置等,只要給出它在ODBC中的DSN即可。(2)文件DSN:這種DSN用于用戶選擇自己創(chuàng)建的DSN文件。(3)系統(tǒng)DSN:這種DSN可以被任何登錄到系統(tǒng)中的用戶使用。(4)用戶DSN:這是為特定用戶建立的DSN,只有建立這個DSN的用戶才能看到并使用它。在上面的兩種情況中,DSN的細節(jié)都存儲在系統(tǒng)的注冊表中。6.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置(1)DSN:根據(jù)Mi676.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置6.5.2ADO實現(xiàn)訪問數(shù)據(jù)庫我們已經(jīng)介紹了ADO的概念,那么如何使用ADO來實現(xiàn)對數(shù)據(jù)庫的訪問?首先,讓我們來看一下在服務器端所需要的ADO執(zhí)行環(huán)境。(1)安裝WindowsNT/Serverwindows2000Server或PersonalWebServer。(2)安裝IIS30(含)以下版本。(3)在用戶|端所需要的ADO執(zhí)行環(huán)境,只需要一般的瀏覽器即可。接下來講述ADO包括的7個對象:(1)Command:定義對數(shù)據(jù)源進行操作的命令。(2)Connection:建一個數(shù)據(jù)源的連接。(3)Error:提供數(shù)據(jù)訪問錯誤的細節(jié)。(4)Field:表示一般數(shù)據(jù)類型的字段。(5)Parameter:表示Command對象的參數(shù)。(6)Property:表示由數(shù)據(jù)源定義ADO對象的動態(tài)特性。(7)Recordset:數(shù)據(jù)庫命令結(jié)果集對象。6.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置6.5.2ADO實現(xiàn)686.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置靈活運用上述對象的屬性、方法可以達到許多很好的效果。通過ADO訪問數(shù)據(jù)庫的基本步驟通常都是以下5步。(1)創(chuàng)建數(shù)據(jù)庫源名。(2)創(chuàng)建數(shù)據(jù)庫鏈接。圖6-18配置系統(tǒng)DSN界面(3)創(chuàng)建數(shù)據(jù)對象。(4)操作數(shù)據(jù)庫。(5)關(guān)閉數(shù)據(jù)對象和鏈接。下面,我們來看一個用ADO訪問數(shù)據(jù)庫實例1.Access數(shù)據(jù)庫系統(tǒng)DSN的配置首先在Windows的“開始”菜單打開“控制面板”,雙擊ODBC圖標,然后單擊“系統(tǒng)DSN”標簽,單擊“添加”按鈕,如圖6-18所示。接下來因為要配置的數(shù)據(jù)庫系統(tǒng)的不同而有不同的操作,下面講述Access數(shù)據(jù)庫系統(tǒng)DSN的配置方法。6.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置靈活運用上述對象的屬性、696.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置圖6-18配置系統(tǒng)DSN界面6.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置706.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置(1)單擊“添加”按鈕后彈出如圖6-19所示的對話框,選擇數(shù)據(jù)源的驅(qū)動程序為“DriverdoMicrosoftAccess(*.mdb)”,單擊“完成”按鈕。(2)這時彈出“ODBCMicrosoftAccess安裝”的對話框,在對話框的“數(shù)據(jù)源名”文本輸入框中輸入要配置的DSN文件名,例如“news_dsn”,然后單擊“選擇”按鈕,如圖6-20所示。 圖6-19選擇配置Access數(shù)據(jù)庫的DSN 圖6-20“ODBCMicrosoftAccess安裝”對話框圖6-21選擇Access數(shù)據(jù)庫(3)這時將彈出一個如圖6-21所示的對話框,在對話框的“數(shù)據(jù)庫名”中輸入數(shù)據(jù)庫名,或是從右邊的目錄瀏覽器中選擇“e:\myweb\db.mdb。選擇數(shù)據(jù)庫完成后,單擊“確定”按鈕回到圖6-21所示的界面。(4)單擊“確定”按鈕,這時出現(xiàn)的界面如圖6-18所示。注意在“系統(tǒng)數(shù)據(jù)源”列表框中出現(xiàn)了”new_dsn”項,這表明Access數(shù)據(jù)庫系統(tǒng)DSN配置完成。6.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置(1)單擊“添加”按鈕后716.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置圖6-19選擇配置Access數(shù)據(jù)庫的DSN圖6-20“ODBCMicrosoftAccess安裝”對話框6.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置圖6-19726.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置2.用ADO實現(xiàn)訪問數(shù)據(jù)庫在本節(jié)前面知識中已經(jīng)介紹了通過ADO訪問數(shù)據(jù)庫的基本步驟通常分為五步,下面逐一介紹具體操作步驟。(1)創(chuàng)建數(shù)據(jù)庫源名,即創(chuàng)建和配置ODBC數(shù)據(jù)源,該步驟在前面已詳細講述。(2)創(chuàng)建數(shù)據(jù)庫鏈接。ASP文件中如果要訪問數(shù)據(jù),必須首先創(chuàng)建與數(shù)據(jù)庫的鏈接.其語法如下:SetConnServerCreateObject“ADODBCONNECTION”這條語句創(chuàng)建了鏈接對象Conn,接下來:ConnOpen“dsnname”,“username”,“password”這條語句打開鏈接,用到了DSN名為“dsn_name”。其后的兩個參數(shù)分別是訪問數(shù)據(jù)庫的用戶名和口令,為可選參數(shù)。6.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置2.用ADO實現(xiàn)訪問數(shù)據(jù)736.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置根據(jù)前面對系統(tǒng)DSN的設置,這一段代碼可以寫成以下形式。訪問Access數(shù)據(jù)庫系統(tǒng)DSN:SetConn=ServerCreateObject(“ADODBCONNECTION”)ConnOpen“test_dsn”在ADO中還可以不通過ODBC而直接與Access數(shù)據(jù)庫相連,這種方法在個人主頁中使用較多(因為其用戶無法進行服務器ODBC設置操作),這里只簡單提一下方法:Connection.Open“driver={MicrosoftAccessDriver(*.mdb)};dbq=C:\test.mdb”(3)創(chuàng)建數(shù)據(jù)對象。RecordSet保存的是數(shù)據(jù)庫命令結(jié)果集,并標有一個當前記錄標識。以下是它的創(chuàng)建方法:SetRecordSet=Conn.Execute(SqlStr)6.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置根據(jù)前面對系統(tǒng)DSN的設746.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置這條語句創(chuàng)建并打開了對象RecordSet,其中Conn是先前創(chuàng)建的鏈接對象,SqlStr是一個串,代表一條標準的SQL語句,例如:SqlStr=“SELECT*FROMauthors”SetRecordSet:Conn.Execute(SqlStr)這條語句執(zhí)行后,對象RecordSet中就保存了表“authors”中的所有記錄。(4)操作數(shù)據(jù)庫。Execute方法的參數(shù)是一個標準的SQL語句串,所以可以利用它方便地執(zhí)行數(shù)據(jù)插入、修改、刪除等操作,例如:SqlStr=“DELETEFROMauthors”Conn.Execute(SqlStr)/執(zhí)行刪除操作SqlStr=“UPDATEauthorsSETsalary=3WHEREid=’FZ0001’”Conn.Execute(SqlStr)/執(zhí)行修改操作6.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置這條語句創(chuàng)建并打開了對象756.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置(5)關(guān)閉數(shù)據(jù)對象和鏈接。在使用了ADO對象之后,一定要記住關(guān)閉它,因為它使用了服務器的資源,如果不釋放,將導致服務器資源浪費并影響服務器性能。通過調(diào)用方法Close實現(xiàn)關(guān)閉,然后再釋放它,例如:Conn.Close6.5.3面向Web應用開發(fā)的站點建立與數(shù)據(jù)庫連接設置圖6-22“管理站點”對話框MacromediaDreamweaverMx2004,簡稱DWMx2004,是Macromedia最新開發(fā)的HTML編輯器,用于對Web站點、Web頁和Web應用程序進行設計、編碼和開發(fā)。DWMX2004包含有一個嶄新、簡潔、高效的界面,且性能也得到了改進。此外,還包含了許多新增的功能,改善了軟件的易用性并使用戶無論處于設計環(huán)境還是編碼環(huán)境都可以方便地生成頁面。6.5網(wǎng)絡數(shù)據(jù)庫系統(tǒng)DSN的配置(5)關(guān)閉數(shù)據(jù)對象和鏈接766.6ASP程序管理數(shù)據(jù)庫實例
操作步驟:1.建立面向Web應用的:DWMx2004站點在DWMx2004中,Web站點的建立及編輯的步驟和方法如下。(1)啟動,DWMx2004選擇“站點”管理站點”命令,彈出“管理站點”對話框,如圖6-22所示。(2)在“管理站點”對話框中,單擊“新建”按鈕,然后從彈出對話框中選擇“站點”。此時將彈出“站點定義”對話框。單擊“基本”標簽,出現(xiàn)“站點定義”向?qū)У牡谝粋€屏幕,要求為站點輸入一個名稱,如圖6-23所示。在文本框中,輸入一個名稱以在Dreamweaver中標識該站點。該名稱可以是任意的。例如,可將站點命名為“dit_vcc”。(3)單擊“下一步”按鈕,詢問是否使用服務器技術(shù)時,選擇“是,我想使用服務器技術(shù)?!眴芜x按鈕,指示目前該站點是一個動態(tài)站點,如圖6-24所示。
6.6ASP程序管理數(shù)據(jù)庫實例
操作步驟:776.6ASP程序管理數(shù)據(jù)庫實例
圖6-23輸入站點名稱圖6-24選擇服務器技術(shù)6.6ASP程序管理數(shù)據(jù)庫實例
圖6-23輸入站點名786.6ASP程序管理數(shù)據(jù)庫實例
圖6-25選擇站點目錄6.6ASP程序管理數(shù)據(jù)庫實例
796.6ASP程序管理數(shù)據(jù)庫實例
(4)單擊“下一步”按鈕,在詢問要如何使用你的文件時選擇“在本地進行編輯,然后上傳到遠程測試服務器”選項。單擊詢問存儲文件位置的文本框右邊的“文件夾”圖標,選擇存放網(wǎng)頁的目錄,如圖6-25所示。(5)單擊“下一步”按鈕,在詢問如何連接到測試服務器時選擇FTP,并輸入測試服務器的主機名或FTP地址、用戶名及密碼,如圖6-26所示。6.6ASP程序管理數(shù)據(jù)庫實例
(4)單擊“下一步”按鈕806.6ASP程序管理數(shù)據(jù)庫實例
(6)單擊“下一步”按鈕,屏幕將出現(xiàn)設置概要,如圖6-27所示。
圖6-27設置概要(7)單擊“下一步”按鈕,在接下來的對話框中選擇“否,不啟用存回和取出”單選按鈕,如圖6-28所示,單擊“下一步”按鈕。6.6ASP程序管理數(shù)據(jù)庫實例
(6)單擊“下一步”按鈕816.6ASP程序管理數(shù)據(jù)庫實例
圖6-28不啟用存回和取出 圖6-29新站點信息6.6ASP程序管理數(shù)據(jù)庫實例
826.6ASP程序管理數(shù)據(jù)庫實例
(8)單擊“完成”按鈕設置,此時會彈出“站點定義”對話框,顯示你的新站點,如圖6-29所示。
(9)單擊“完成”按鈕關(guān)閉“站點定義”對話框。此時“文件”面板顯示當前站點的新本地根文件夾?!拔募泵姘逯械奈募斜韺⒊洚斘募芾砥?,允許復制、粘貼、刪除、移動和打開文件,其操作就像在本地計算機桌面上一樣。2.設置面向Web應用的DWMx2004站點的數(shù)據(jù)庫連接在DWMx2004中建立數(shù)據(jù)庫的連接可采用以下步驟。(1)在Dreamweaver中打開任何一個ASP頁面,然后選擇“窗口|數(shù)據(jù)庫”命令,打開“數(shù)據(jù)庫”面板。(2)單擊該面板上的“+”按鈕,然后從彈出式菜單中選擇“數(shù)據(jù)源名稱(DSN)”,如圖6-30所示。此時會彈出“數(shù)據(jù)源名稱(DSN)”對話框,如圖6-31所示。
6.6ASP程序管理數(shù)據(jù)庫實例
(8)單擊“完成”按鈕設836.6ASP程序管理數(shù)據(jù)庫實例
圖6-30選擇數(shù)據(jù)源名稱(DSN) 圖6-31數(shù)據(jù)源連接窗口6.6ASP程序管理數(shù)據(jù)庫實例
846.6ASP程序管理數(shù)據(jù)庫實例
(3)輸入連接名稱,例如:mydatabase。(4)單擊“DSN”按鈕,然后從DSN列表中選擇定義的DSN名稱。(5)如果服務器運行在本地計算機上,則選擇“使用本地DSN”選項。如果服務器運行在遠程系統(tǒng)上,則選擇“使用測試服務器上的DSN”選項。如果是在安裝Windows操作系統(tǒng)的計算機上使用Dreamweaver,則在安裝過程中,Dreamweaver會創(chuàng)建一個名為TrioMotors的DSN,該DSN指向DreamweaverMX2004應用程序文件夾Samples\Database中的MicrosoftAccess數(shù)據(jù)庫。(6)單擊“測試”按鈕。Dreamweaver嘗試連接到數(shù)據(jù)庫。如果連接失敗,可執(zhí)行以下操作:復查DSN、檢查Dreamweaver用來處理動態(tài)頁的文件夾的位置。(6)單擊“確定”按鈕。新鏈接出現(xiàn)在“數(shù)據(jù)庫”面板上。6.6ASP程序管理數(shù)據(jù)庫實例
(3)輸入連接名稱,例如856.6ASP程序管理數(shù)據(jù)庫實例
6.6.1檢索數(shù)據(jù)庫中的數(shù)據(jù)并顯示檢索數(shù)據(jù)庫一般要用到SQL查詢語句:“SELECT…FROM…WHERE…”以下是從friends數(shù)據(jù)庫中檢索出年齡是26的記錄的實例,代碼如下(%OptionExplicitResponse.Expires=0dimcn,SQL1,SQL2,rs,cmsetcn=Server.CreateObject(“ADODBConnection”)cn.Open“FILEDSN=test.dsn。6.6ASP程序管理數(shù)據(jù)庫實例
6.6.1檢索數(shù)據(jù)庫866.6ASP程序管理數(shù)據(jù)庫實例
SQL2=“SELECT*FROMfriendsWHEREage=26”Setcm=Server.CreateObject(“ADODB.Connection”)Setcm.ActiveConnection=cncm.CommndText=SQL2cm.Prepared=Truesetrs=Server.CreateObject(“ADODB.Recordset”)setrs=cm.Execute%><html><body><tablewidth="500"border="1"align="center"cellpadding="1"><tr><td>姓名</td><td>性別</td><td>年齡</td><td>E-mail</td></tr><%dountilrs.eof%><tr><td><%=rs(“name”)%></td><td><%=rs(“性別”)%></td><td><%=rs(“age”)%></td><td><%=rs(“Email”)%></td>6.6ASP程序管理數(shù)據(jù)庫實例
SQL2=“SELECT876.6ASP程序管理數(shù)據(jù)庫實例</tr>圖6-32檢索數(shù)據(jù)運行結(jié)果<%rs.movenextloop%></table><%cn.closesetcn=nothingsetrs=nothing%></body></html>運行結(jié)果如圖6-32所示。6.6ASP程序管理數(shù)據(jù)庫實例</tr>圖6-32檢88人教版高中英語配套ppt課件:選修8-unit-4-period-2896.6ASP程序管理數(shù)據(jù)庫實例
6.6.2向數(shù)據(jù)庫中添加記錄向數(shù)據(jù)庫中添加數(shù)據(jù)一般要用到SQL語句:“INSERTINTO….(…..)VALUES(…,….)”將姓名為“teresa”的新記錄添加到friends數(shù)據(jù)庫中的ASP程序的實例,代碼如下。<%@LANGUAGE=”VBSCRIPT”CODEPAGE=”936”%><%OptionExplicitResponse.Expires=0Dimcn,SQL1,SQL2,rsSetcn=Server.CreateObject(“ADODB.Connection”)Cn.Open“FILEDSN=test.dsn”SQL1=”INSERTINTOfriends(name,性別,age,Email)VALUES(‘teresa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省寧德市福鼎第五中學高二物理下學期期末試題含解析
- 2025-2030年中國橡膠履帶行業(yè)未來發(fā)展狀況及投資規(guī)劃研究報告新版
- 2025-2030年中國桌面云行業(yè)發(fā)展現(xiàn)狀及前景趨勢分析報告
- 2025-2030年中國松茸市場運行現(xiàn)狀及發(fā)展前景預測報告
- 2025-2030年中國日用五金行業(yè)市場規(guī)模調(diào)研及投資潛力分析報告
- 2025-2030年中國料酒市場現(xiàn)狀分析及投資前景規(guī)劃研究報告
- 2025-2030年中國打印紙市場前景趨勢調(diào)研及發(fā)展戰(zhàn)略分析報告
- 2025-2030年中國建筑膜行業(yè)市場前景規(guī)劃及投資潛力分析報告
- 2025-2030年中國大中型客車制造行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究報告
- 2025-2030年中國塑料模具行業(yè)運行狀況及前景趨勢分析報告新版
- 小學四年級數(shù)學知識點總結(jié)(必備8篇)
- GB/T 893-2017孔用彈性擋圈
- GB/T 11072-1989銻化銦多晶、單晶及切割片
- GB 15831-2006鋼管腳手架扣件
- 醫(yī)學會自律規(guī)范
- 商務溝通第二版第4章書面溝通
- 950項機電安裝施工工藝標準合集(含管線套管、支吊架、風口安裝)
- 微生物學與免疫學-11免疫分子課件
- 《動物遺傳育種學》動物醫(yī)學全套教學課件
- 弱電工程自檢報告
- 民法案例分析教程(第五版)完整版課件全套ppt教學教程最全電子教案
評論
0/150
提交評論