![電子商務(wù)網(wǎng)頁(yè)設(shè)計(jì)與網(wǎng)站建設(shè)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-3/24/4360e902-ce74-4b82-ad71-a86893648ba2/4360e902-ce74-4b82-ad71-a86893648ba21.gif)
![電子商務(wù)網(wǎng)頁(yè)設(shè)計(jì)與網(wǎng)站建設(shè)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-3/24/4360e902-ce74-4b82-ad71-a86893648ba2/4360e902-ce74-4b82-ad71-a86893648ba22.gif)
![電子商務(wù)網(wǎng)頁(yè)設(shè)計(jì)與網(wǎng)站建設(shè)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-3/24/4360e902-ce74-4b82-ad71-a86893648ba2/4360e902-ce74-4b82-ad71-a86893648ba23.gif)
![電子商務(wù)網(wǎng)頁(yè)設(shè)計(jì)與網(wǎng)站建設(shè)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-3/24/4360e902-ce74-4b82-ad71-a86893648ba2/4360e902-ce74-4b82-ad71-a86893648ba24.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、網(wǎng)頁(yè)設(shè)計(jì)與網(wǎng)站建設(shè),河南蝶動(dòng)科技制作,第一章 電子商務(wù)網(wǎng)站建設(shè)概述,電子商務(wù)網(wǎng)站定義 電子商務(wù)網(wǎng)站是指一個(gè)企業(yè)、機(jī)構(gòu)或公司在互聯(lián)網(wǎng)上建立的站點(diǎn),其目的是為了宣傳企業(yè)形象、發(fā)布產(chǎn)品信息、宣傳經(jīng)濟(jì)法規(guī)、提供商業(yè)服務(wù)等。 電子商務(wù)網(wǎng)站功能 企業(yè)形象宣傳 新聞發(fā)布、供求信息發(fā)布 產(chǎn)品和服務(wù)項(xiàng)目展示 商品和服務(wù)定購(gòu) 轉(zhuǎn)賬與支付、物流應(yīng)用 信息搜索與查詢 客戶信息管理 銷售業(yè)務(wù)信息管理,第一章 電子商務(wù)網(wǎng)站建設(shè)概述,電子商務(wù)網(wǎng)站的架構(gòu),第一章 電子商務(wù)網(wǎng)站建設(shè)概述,電子商務(wù)網(wǎng)站的構(gòu)成要素 網(wǎng)站域名 網(wǎng)站物理地點(diǎn) 網(wǎng)站頁(yè)面 商品目錄 購(gòu)物車 付款臺(tái) 計(jì)數(shù)器 留言板 會(huì)員管理 商品盤(pán)點(diǎn)更新 客戶資料管理 商品
2、配送,第二章 網(wǎng)站總體設(shè)計(jì),網(wǎng)站CI設(shè)計(jì) 網(wǎng)站的CI設(shè)計(jì),主要是指網(wǎng)站的標(biāo)志、色彩、字 體、標(biāo)語(yǔ),是一個(gè)網(wǎng)站建立CI形象的關(guān)鍵,是網(wǎng)站 的表面文章、形象工程。通過(guò)對(duì)網(wǎng)站的標(biāo)志、色 彩、字體、標(biāo)語(yǔ)設(shè)計(jì),建立起網(wǎng)站的整體形象。 網(wǎng)站的標(biāo)志(Logo)、名稱 標(biāo)準(zhǔn)色彩 標(biāo)準(zhǔn)字體 宣傳標(biāo)語(yǔ),第二章 網(wǎng)站總體設(shè)計(jì),網(wǎng)站的目錄結(jié)構(gòu) 網(wǎng)站的目錄是指建立網(wǎng)站時(shí)創(chuàng)建的目錄。 不要將所有文件都存放在根目錄下 按欄目?jī)?nèi)容建立子目錄 在每個(gè)主欄目目錄下都建立獨(dú)立的Images目錄 目錄的層次不要太深 不要使用中文目錄 不要使用過(guò)長(zhǎng)的目錄 盡量使用意義明確的目錄,第二章 網(wǎng)站總體設(shè)計(jì),鏈接結(jié)構(gòu) 網(wǎng)站的鏈接結(jié)構(gòu)是指頁(yè)面之
3、間相互鏈接的拓?fù)浣Y(jié)構(gòu)。研究網(wǎng)站的鏈接結(jié)構(gòu)的目的 在于:用最少的鏈接,使瀏覽最有效率。 一般建立網(wǎng)站的鏈接結(jié)構(gòu)有兩種基本方式: 樹(shù)狀鏈接結(jié)構(gòu) 星狀鏈接結(jié)構(gòu),第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,HTML語(yǔ)言 HTML是超文本標(biāo)記(Hyper Text Markup Language)的縮寫(xiě),是一種描述文檔結(jié)構(gòu)的語(yǔ)言,它使用描述性的標(biāo)記符來(lái)指明文檔的結(jié)構(gòu),第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,例: 這是標(biāo)題部分 你好,這是正文部分!,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,HTML標(biāo)記符一般有兩種: 一般標(biāo)記符(容器標(biāo)記符) 這些標(biāo)記符的起始部分與結(jié)束部分必須成對(duì)出現(xiàn) 空標(biāo)記符 只是單一
4、的一個(gè)標(biāo)記符而已,如標(biāo)記符,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,文件結(jié)構(gòu)標(biāo)記符 文件結(jié)構(gòu)標(biāo)記符標(biāo)識(shí)文件的結(jié)構(gòu)。主要包括如下標(biāo)記 符 : HTML標(biāo)記符 一般格式為:. HEAD標(biāo)記符 一般格式為: BODY標(biāo)記符 一般格式為,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,區(qū)段格式標(biāo)記符 區(qū)段格式標(biāo)記符將HTML文件中的某個(gè)區(qū)段文字以特定格式顯示,以增加可視性。此類標(biāo)記符主要包括: Title標(biāo)記符 用于規(guī)定HTML文檔的標(biāo)題。 一般格式為: HI標(biāo)記符 HI用于簡(jiǎn)要描述段落的標(biāo)題,共有六個(gè)級(jí)別:H1,H2,H3,H4,H5,H6。其中以H1標(biāo)題級(jí)別為
5、最高,H6標(biāo)題級(jí)別最低,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,例: HTML標(biāo)題演示示例 標(biāo)題h1文字顯示! 標(biāo)題h2文字顯示! 標(biāo)題h3文字顯示! 標(biāo)題h4文字顯示! 標(biāo)題h5文字顯示! 標(biāo)題h6文字顯示!,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,換行標(biāo)記符 是換行標(biāo)記符,它是單獨(dú)出現(xiàn)的,作用相當(dāng)于插入一個(gè)回車符。 段落標(biāo)記符 標(biāo)記符用于劃分段落,控制文本放置。 一般格式為: 水平標(biāo)記符 標(biāo)記符是單獨(dú)使用的標(biāo)記符,它的作用是換行并在該行下面畫(huà)一條水平直線。 標(biāo)記符的屬性有:Size、Width、align和color,第三章 Web頁(yè)面制作基礎(chǔ)
6、 HTML標(biāo)記,size屬性用以規(guī)定水平線的高度,該屬性的參數(shù)值必須是數(shù)字; width屬性用以規(guī)定水平線的寬度,該屬性的參數(shù)值可以是數(shù)字(代表字符數(shù))或者百分比(占瀏覽器寬度的百分比),缺省時(shí)水平線占整個(gè)瀏覽器窗口寬度; align屬性規(guī)定水平線在瀏覽器窗口的位置,其參數(shù)值為left(左側(cè))、center(中間)、right(右側(cè))之一; color屬性用以指定水平線的顏色,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,預(yù)格式化標(biāo)記符 標(biāo)記符是預(yù)格式化標(biāo)記符,它是成對(duì)出現(xiàn)的。Web瀏覽器按編輯文檔時(shí)的字符位置將和標(biāo)記符之間的內(nèi)容一成不變地顯示出來(lái),第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,例:
7、PRE標(biāo)記符測(cè)試文檔 1992 January On 15th , the first line mode browser was Available by anonymous FTP,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,字符格式標(biāo)記符 字符格式標(biāo)記符用來(lái)改變HTML文檔的顯示外觀,增加文件的美觀程度。HTML文檔的字符格式標(biāo)記符主要有: 之間的內(nèi)容將顯示為黑體文字; 之間的內(nèi)容將顯示為斜體文字; 之間的內(nèi)容將顯示為帶下劃線的文字; 之間的內(nèi)容將顯示為刪除線; 之間的內(nèi)容加大顯示; 文本采用small字體 之間的內(nèi)容居中顯示; 之間的內(nèi)容顯示上標(biāo)
8、,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,之間的內(nèi)容顯示下標(biāo); 之間的內(nèi)容顯示強(qiáng)調(diào); 之間的內(nèi)容顯示加重強(qiáng)調(diào); 之間的內(nèi)容通過(guò)標(biāo)記符內(nèi)的屬性設(shè)置來(lái)改變字體。它具有的屬性有size、face和color。 設(shè)置字體大小的屬性size的有效值是從1到7的整數(shù) Face屬性是設(shè)置字體的類型,其值就是字體類型的名字,如“楷體_GB2312” Color屬性設(shè)置字體的顏色,其值是顏色值是十六進(jìn)制值 例:這是Font設(shè)置的文字,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,鏈接標(biāo)記符 HTML中的鏈接包括兩部分:錨標(biāo)和目標(biāo)點(diǎn)。錨標(biāo)就是鏈接的源點(diǎn),當(dāng)鼠標(biāo)被移到錨標(biāo)處時(shí)會(huì)變成小手狀。此時(shí),用戶通過(guò)點(diǎn)擊鼠標(biāo)就可以
9、到達(dá)鏈接的目標(biāo)點(diǎn)。 HTML是通過(guò)鏈接標(biāo)記符來(lái)實(shí)現(xiàn)超鏈接的。超鏈接標(biāo)記符是成對(duì)出現(xiàn)的標(biāo)記符,首標(biāo)記符和尾標(biāo)記符之間的內(nèi)容就是錨標(biāo)。標(biāo)記符有一個(gè)不可缺省的屬性HREF,用于指定鏈接目標(biāo)點(diǎn)的位置。 鏈接標(biāo)記符的一般形式為,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,從一個(gè)文件鏈接到另一個(gè)文件有兩種方法: 鏈接到一個(gè)文件的本身 例如:Page two 鏈接到一個(gè)文件中的特定位置 若要鏈接到文件中的特定位置,就需要先在文檔中加入鏈接點(diǎn),即鏈接的目標(biāo)點(diǎn)。 實(shí)例如下:Point A 字符串“Point A”就是待鏈接的目標(biāo)點(diǎn)。 通過(guò)語(yǔ)句:This Link實(shí)現(xiàn)了超鏈接,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)
10、記,表格標(biāo)記符 表格標(biāo)記符 一般格式為: 標(biāo)記符的屬性主要有: border屬性 width屬性 Height屬性 align屬性 cellspacing屬性 cellpadding屬性 行標(biāo)記符 一般格式為: 標(biāo)記符有兩個(gè)屬性: Align屬性 Valign屬性 單元格標(biāo)記符 一般格式為: 標(biāo)記符的屬性主要有: rowspan屬性 colspan屬性 align屬性 valign屬性 列標(biāo)題定義標(biāo)記符 一般格式為,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,第三章 Web頁(yè)面制作基礎(chǔ) HTML標(biāo)記,HTML標(biāo)記測(cè)試實(shí)例 HTML標(biāo)記顯示結(jié)果 本實(shí)例是對(duì)HTML標(biāo)記的學(xué)習(xí)效果的一個(gè)展示! HTM
11、L標(biāo)記是學(xué)好網(wǎng)頁(yè)設(shè)計(jì)與網(wǎng)站建設(shè)這門(mén)課的基礎(chǔ),必須掌握它! 鏈接 下面是表格的設(shè)計(jì),其中它的邊框?qū)挾葹?,表格的寬度占屏幕的50,表格中的內(nèi)容居中顯示 學(xué)號(hào)姓名 001張三 002李四 共2名學(xué)生,第三章 Web頁(yè)面制作基礎(chǔ) 制作表單,表單(Form)是用于采集用戶輸入的信息,從而實(shí)現(xiàn)與用戶交互的表格。例如,用表單設(shè)計(jì)訂貨單、征集用戶意見(jiàn)、收集用戶信息等等。每一個(gè)表單都有一個(gè)“提交”按鈕,當(dāng)用戶填寫(xiě)完表單并按下“提交”按鈕時(shí),用戶所填寫(xiě)的信息就發(fā)送到web服務(wù)器,由服務(wù)器負(fù)責(zé)處理所提交的信息。 表單一般由兩個(gè)部分組成:HTML代碼和CGI程序。其中HTML代碼主要用來(lái)生成表單的可視化界面,CGI
12、程序用來(lái)負(fù)責(zé)對(duì)表單所包含的信息進(jìn)行解釋或處理,第三章 Web頁(yè)面制作基礎(chǔ) 制作表單,表單標(biāo)記符 一般格式為: 標(biāo)記符有兩個(gè)不可缺省的屬性: ACTION屬性 一般格式為: ACTION屬性后面的等號(hào)表明當(dāng)這個(gè)表單提交后,用于指定服務(wù)器端處理該表單的CGI程序。它的參數(shù)值就是該程序的URL,第三章 Web頁(yè)面制作基礎(chǔ) 制作表單,METHOD屬性 一般格式為: 用于指定表單信息傳送到服務(wù)器的方式。屬性的參數(shù)值為get和post之一。 使用GET時(shí),將Form的輸入信息作為字符串附加到Action所設(shè)定的URL后面,中間用“?”隔開(kāi),每個(gè)表單域之間用“URL=newpath/newpage.asp”
13、 這等同于客戶機(jī)端元素: 這是一個(gè)測(cè)試文本! 或: 主頁(yè)的第一行文字 這是第二行文字。 ) ,第四章 ASP內(nèi)置對(duì)象Response對(duì)象,Response對(duì)象屬性 Buffer屬性 Buffer屬性用于指示是否緩沖頁(yè)輸出:當(dāng)緩沖頁(yè)輸出時(shí),只有當(dāng)前頁(yè)的所有服務(wù)器腳本處理完畢或者調(diào)用了Flush或End方法后,服務(wù)器才將響應(yīng)發(fā)送給客戶端 。 應(yīng)該在.asp文件的第一行調(diào)用Response.Buffer。語(yǔ)法如下:Response.Buffer=Flag。Flag為布爾值。當(dāng)Flag為False,表示不緩沖,該值是默認(rèn)值。服務(wù)器在處理腳本的同時(shí)將輸出發(fā)送給客戶端。當(dāng)Flag為T(mén)RUE,除非當(dāng)前頁(yè)的所
14、有ASP腳本處理完畢或調(diào)用了Flush或End方法,否則服務(wù)器不將響應(yīng)發(fā)送給客戶端,第四章 ASP內(nèi)置對(duì)象Response對(duì)象,CacheControl屬性 該屬性可以用來(lái)設(shè)置Web服務(wù)器是否將ASP的處理結(jié)果暫時(shí)存放在代理服務(wù)器上,如果客戶端的瀏覽器沒(méi)有設(shè)置,則這個(gè)屬性值不起作用。當(dāng)設(shè)置其屬性為Public時(shí),代理服務(wù)器可以緩沖由ASP產(chǎn)生的輸出。 用戶的瀏覽器以及他們和服務(wù)器之間的任一代理服務(wù)器,都可以緩存HTML和用ASP創(chuàng)建的網(wǎng)頁(yè)。當(dāng)用戶隨后請(qǐng)求頁(yè)面時(shí),瀏覽器就發(fā)送一個(gè)“最新修改”的請(qǐng)求到服務(wù)器(使用一個(gè)包含緩存版本的日期的HTTP_IF_MODIFIED_SINCE報(bào)頭),詢問(wèn)網(wǎng)頁(yè)是
15、否已被修改。若沒(méi)有被修改,服務(wù)器應(yīng)用狀態(tài)碼和消息“304 Not Modified”來(lái)響應(yīng),瀏覽器將使用緩存的內(nèi)容而不會(huì)通過(guò)網(wǎng)絡(luò)下載一個(gè)副本。若已經(jīng)存在已修改的版本,它就會(huì)與“200 OK”狀態(tài)碼和消息一道被發(fā)送出去。 語(yǔ)法如下: Response.cachecontrol=Cache Control Header CacheControl的屬性值為Public或Private兩種:前者表示W(wǎng)eb服務(wù)器是將ASP的處理結(jié)果暫時(shí)存放在代理服務(wù)器上,后者則不會(huì),第四章 ASP內(nèi)置對(duì)象Response對(duì)象,Charset屬性 將字符集名稱(如GB2312,這是中文字符集)附加到Response對(duì)象中
16、Content-type標(biāo)題的后面,用來(lái)設(shè)置Web服務(wù)器響應(yīng)給客戶端的文件字符編碼。 語(yǔ)法如下:Response.Charset(字符集名稱) ContentType屬性 用來(lái)指定響應(yīng)的HTTP內(nèi)容類型。如果未指定ContentType,默認(rèn)為text/HTML。 語(yǔ)法如下:Response.ContentType=內(nèi)容類型 一般來(lái)說(shuō),ContentType都是以“類型/子類型”的字符串來(lái)表示的。 例如:Response.ContentType = text/text Response.ContentType = image/GIF“ Response.ContentType = image/
17、JPEG,第四章 ASP內(nèi)置對(duì)象Response對(duì)象,Expires屬性 指定了在瀏覽器上緩沖存儲(chǔ)的頁(yè)距過(guò)期還有多少時(shí)間。如果用戶在某個(gè)頁(yè)過(guò)期之前又回到此頁(yè),就會(huì)顯示緩沖區(qū)中的版本。這種設(shè)置有助于數(shù)據(jù)的保密。 語(yǔ)法如下:Response.Expires=分鐘數(shù) 注意:該屬性必須放在標(biāo)簽之前,否則會(huì)出錯(cuò)。 例:實(shí)現(xiàn)功能:本地?zé)o緩存,每次自動(dòng)刷新 response.expires=0 或 response.addheader “pragma”,“no-cache” /不要網(wǎng)頁(yè)存于緩存之中 或 或 response.addheader cache-control,private” 或 respons
18、e.CacheControl = no-cache /你也可以自己設(shè)置刷新分鐘數(shù) response.AddHeader REFRESH,”15,第四章 ASP內(nèi)置對(duì)象Response對(duì)象,ExpiresAbsolute屬性 指定緩存于瀏覽器中的頁(yè)的到期日期和時(shí)間。在未到期之前,若用戶返回到該頁(yè),該緩存的頁(yè)就顯示;如果未指定時(shí)間,該主頁(yè)在當(dāng)天午夜到期;如果未指定日期,則該主頁(yè)在腳本運(yùn)行當(dāng)天的指定時(shí)間到期。 語(yǔ)法如下:Response.ExpiresAbsolute=日期 時(shí)間 其中參數(shù)“日期”為指定頁(yè)的到期日期,參數(shù)“時(shí)間”指定頁(yè) 的到期時(shí)間。 例:讓網(wǎng)頁(yè)不緩存: Response.Expire
19、s=0或 Response.ExpiresAbsolute=Now()-1/昨天這個(gè)時(shí)刻 或 Response.Addheader“pragma”,“no-cache”或 Response.Addheader“cache-control”,“private”或 Response.CacheControl=no-cache,第四章 ASP內(nèi)置對(duì)象Response對(duì)象,IsClientConnect屬性 該屬性為只讀屬性。指示自上次調(diào)用Response.Write之后,客戶端是否與服務(wù)器端相連。 語(yǔ)法如下:布爾值Response.IsClientConnected() PICS屬性 用來(lái)設(shè)置PIC
20、S標(biāo)簽,并把響應(yīng)添加到標(biāo)頭(response header) PICS(The Platform for Internet Content Selection,互聯(lián)網(wǎng)內(nèi)容選擇平臺(tái))是一個(gè)負(fù)責(zé)定義互聯(lián)網(wǎng)網(wǎng)絡(luò)等級(jí)及等級(jí)數(shù)據(jù)的W3C團(tuán)體,他們通過(guò)多個(gè)指標(biāo)來(lái)對(duì)網(wǎng)站的內(nèi)容進(jìn)行評(píng)級(jí)。評(píng)級(jí)后的網(wǎng)站會(huì)有一個(gè)評(píng)級(jí)標(biāo)簽。 語(yǔ)法如下:Response.PICS(PICS字符串,第四章 ASP內(nèi)置對(duì)象Response對(duì)象,例: by 建表的同時(shí),通常還可以定義與該表有關(guān)的完整性約束條件。這些完整性約束條件被存入系統(tǒng)的數(shù)據(jù)字典中,當(dāng)用戶操作表中數(shù)據(jù)時(shí)由RDBMS自動(dòng)檢查該操作是否違背這些完整性約束條件。 如果完整性約束
21、條件涉及到該表的多個(gè)屬性列,則必須定義在表級(jí)上,否則既可以定義在列級(jí)也可以定義在表級(jí),第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)定義,數(shù)據(jù)類型 定義表的各個(gè)屬性時(shí)需要指明其數(shù)據(jù)類型及長(zhǎng)度,表6-2 SQL中支持的數(shù)據(jù)類型,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)定義,例:建立一個(gè)學(xué)生表Student: Create Table Student(Sno int primary key, Sname char(20) Unique, Ssex char(2), Sage smallint, Sdept char(20) 建立一個(gè)課程表Course: Create Table Course(Cno int prima
22、ry key, Cname char(40), Ccredit smallint) 建立學(xué)生選課表Score。 Create table Score(Sno int, Cno int, Score smallint, primary key(Sno,Cno), Foreign key (Sno) references Student(Sno), Foreign key (Cno) references Course(Cno,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)定義,基本表的修改 語(yǔ)法如下: Alter Table Add 完整性約束 Alter column Drop column 其中 Add子
23、句用于添加新列和新的完整性約束條件,Alter column子句用于修改已有的列屬性。 該命令可以實(shí)現(xiàn)兩種形式的修改:在原有的表中添加一個(gè)或多個(gè)列;修改原表中已有列的屬性;刪除指定的列。 在刪除列時(shí)下面幾種情況的列不能被刪除:被復(fù)制列;用在索引中的列;用在 CHECK、FOREIGN KEY、UNIQUE 或 PRIMARY KEY 約束中的列;有相關(guān)聯(lián)的默認(rèn)值(由 DEFAULT 關(guān)鍵字定義)的列,或綁定到默認(rèn)對(duì)象的列;綁定到規(guī)則的列,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)定義,例:在表Student中,要添加一個(gè)字段“sID”,數(shù)據(jù)類型為10個(gè)字符長(zhǎng)的字符串 Alter Table Studen
24、t Add sID char(10) 在后面使用Student表中,發(fā)現(xiàn)該字段小了,決定要改為20個(gè)字符長(zhǎng)的字符串 Alter Table Student Alter column sID char(20) 刪除學(xué)生表中sID字段 Alter table student drop column sID,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)定義,基本表的刪除 當(dāng)某個(gè)基本表不再需要時(shí),可以使用Drop Table語(yǔ)句刪除它。其一般格式為:Drop Table 基本表定義一旦被刪除,表中的數(shù)據(jù)、此表上建立的索引和視圖都將自動(dòng)被刪除掉。 例:刪除學(xué)生表 Drop table student,第六章 數(shù)據(jù)庫(kù)
25、的創(chuàng)建與存取 數(shù)據(jù)定義,索引的建立 建立索引是加快查詢速度的有效手段。用戶可以根據(jù)應(yīng)用環(huán)境的需要,在基本表上建立一個(gè)或多個(gè)索引,以提供多種存取路徑,加快查找速度。 一般格式為: create unique CLUSTERED | NONCLUSTERED index on ( , ) 其中,是要建索引的基本表的名字。索引可以建立在該表的一列或多列上,各列名之間用逗號(hào)分隔。每個(gè)后面還可以用指定索引值的排列次序,可選ASC(升序)或DESC(降序),缺省值為ASC。 Unique表明此索引的每一個(gè)索引值只對(duì)應(yīng)唯一的數(shù)據(jù)記錄。 Clustered表示要建立的索引是聚簇索引。所謂聚簇索引,是指表中記錄
26、的物理順序與索引值的順序一致的索引組織。用戶可以在最經(jīng)常查詢的列上建立聚簇索引以提高查詢效率。在一個(gè)基本表上最多只能建立一個(gè)聚簇索引,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)定義,例:為學(xué)生課程數(shù)據(jù)庫(kù)中的Student、Course、Score三個(gè)表建立索引。其中Student表按學(xué)號(hào)升序建唯一索引,Course表按課程號(hào)升序建唯一聚簇索引,Score表按學(xué)號(hào)升序和課程號(hào)降序建唯一索引。 create unique index stusNo on student(sno); create unique clustered index coucNo on course(Cno); create uniq
27、ue index SCNo on score(Sno ASC,Cno DESC) 索引的刪除 索引一經(jīng)建立,就由系統(tǒng)使用和維護(hù)它,不需用戶干預(yù)。建立索引是為了減少查詢操作的時(shí)間,但如果數(shù)據(jù)增刪改頻繁,系統(tǒng)就會(huì)花費(fèi)許多時(shí)間來(lái)維護(hù)索引降低查詢效率。這時(shí),可以刪除一些不必要的索引。 一般格式為:Drop Index 例:刪除Student表的stusNo索引。 drop index stusname,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢,數(shù)據(jù)庫(kù)查詢是數(shù)據(jù)庫(kù)的核心操作,SQL語(yǔ)言提供了Select語(yǔ)句進(jìn)行數(shù)據(jù)庫(kù)的查詢,該語(yǔ)句具有靈活的使用方式和豐富的功能。其一般格式為: select All| dis
28、tinct , from , where Group by Having order by ASC|DESC,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(單表查詢,選擇表中的若干列 選擇表中的全部列或部分列,這就是關(guān)系代數(shù)的投影運(yùn)算。 查詢指定列 在很多情況下,用戶只對(duì)表中的一部分屬性列感興趣,這時(shí)也可以通過(guò)在Select子句的中指定要查詢的屬性列。 例:查詢?nèi)w學(xué)生的學(xué)號(hào)與姓名 Select Sno,Sname from Student 查詢?nèi)苛?將表中的所有屬性列都選出來(lái),可以有兩種方法。一種方法就是在Select關(guān)鍵字后面列出所有列名。如果列的顯示順序與其在基表中的順序相同,也可以簡(jiǎn)單地將指
29、定為*。 例:查詢?nèi)w學(xué)生的詳細(xì)記錄。 Select * from student 等價(jià)于: Select Sno,Sname,Ssex,Sage,Sdept from student,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(單表查詢,查詢經(jīng)過(guò)計(jì)算的值 Select子句的不僅可以是表中的屬性列,也可以是表達(dá)式。 例:查詢?nèi)w學(xué)生的姓名及其出生年份。 Select Sname,2008-Sage from Student 不僅可以是算術(shù)表達(dá)式,還可以是字符串常量、函數(shù)等。 例:查詢?nèi)w學(xué)生的姓名、出生年份 Select Sname,Year of Birth:,2008-Sage from Stu
30、dent 求學(xué)生總?cè)藬?shù) select count(*) from student 用戶可以通過(guò)指定別名來(lái)改變查詢結(jié)果的列標(biāo)題,這對(duì)于含算術(shù)表達(dá)式、常量、函數(shù)名的目標(biāo)列表達(dá)式尤為有用。 Select Sname as name,Year of Birth: as birth,2008-Sage as birthday from Student,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(單表查詢,選擇表中的若干元組 消除取值重復(fù)的行 兩個(gè)本來(lái)并不完全相同的元組,投影到指定的某列上后,就可能變成相同的行了,可以用distinct消除取值重復(fù)的行。 例:查詢選修了課程的學(xué)生學(xué)號(hào)。 select disti
31、nct sno from score 查詢滿足條件的元組 查詢滿足條件的元組可以通過(guò)where子句實(shí)現(xiàn)。where子句常用的查詢條件如下表所示,表6-3常用的查詢條件,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(單表查詢,比較大小 例:查詢所有年齡在20歲以下的學(xué)生的姓名和年齡。 select sname,sage from student where sage20 確定范圍 例:查詢年齡在2030歲之間的學(xué)生的姓名和年齡 select sname, sage from student where sage between 20 and 30 查詢1985年到1990年期間出生的學(xué)生的姓名和出生年份
32、 select sname,2008-sage from student where 2008-sage between 1985 and 1990 確定集合 例:查詢計(jì)算機(jī)科學(xué)系(CS)、數(shù)學(xué)系(MA)學(xué)生的姓名和性別 select Sname,Ssex from student where Sdept In(CS,MA) 查詢非計(jì)算機(jī)系的所有學(xué)生的學(xué)號(hào)和姓名 Select sno,sname from student where sdept not In(CS,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(單表查詢,字符匹配 謂詞Like可以用來(lái)進(jìn)行字符串的匹配,其一般語(yǔ)法格式如下: Not Li
33、ke 其含義是查找指定的屬性列值與相匹配的元組。可以是一個(gè)完整的字符串,也可以含有通配符和_。 代表任意長(zhǎng)度(長(zhǎng)度可以為0)的字符串。 _(下橫線)代表任意單個(gè)字符。 例:查詢所有姓劉的學(xué)生的姓名、學(xué)號(hào)和性別。 select sname,sno,ssex from student where sname like 劉 查詢所有姓劉且全名為二個(gè)漢字的學(xué)生的姓名。 Select Sname from student where sname like 劉_ 如果Like后面的匹配串中不含通配符,則可以用=(等于)運(yùn)算符取代Like謂詞,用!=或(不等于)取代Not Like謂詞。 例:查詢姓名為劉繼
34、平的學(xué)生的詳細(xì)情況。 Select * from student where Sname like 劉繼平 等價(jià)于: Select * from student where Sname=劉繼平,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(單表查詢,涉及空值的查詢 例:某些學(xué)生選修課程后沒(méi)有參加考試,所以有選課記錄,但沒(méi)有考試成績(jī)。查詢?nèi)鄙俪煽?jī)的學(xué)生的學(xué)號(hào)和相應(yīng)的課程號(hào)。 select sno,cno from score where score Is Null 注意 這里的“IS”不能用等號(hào)(=)代替。 多重條件查詢 邏輯運(yùn)算符And和Or可以用來(lái)聯(lián)結(jié)多個(gè)查詢條件。And的優(yōu)先級(jí)高于Or,但用戶可以
35、用括號(hào)改變優(yōu)先級(jí)。 例:查詢計(jì)算機(jī)系年齡在20歲以下的學(xué)生的姓名 select sname from student where sdept=CS and sage=1985 and 2008-sage=1990,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(單表查詢,Order By子句 用戶可以用Order By子句對(duì)查詢結(jié)果按照一個(gè)或多個(gè)屬性列的升序(ASC)或降序(DESC)排列,缺省值為升序。對(duì)于空值,若按升序排,含空值的元組將最后顯示。若按降序排,空值的元組將最先顯示。 例:查詢選修了3號(hào)課程的學(xué)生的學(xué)號(hào)及其成績(jī),查詢結(jié)果按分?jǐn)?shù)的降序排序。 select sno,score from sc
36、ore where cno=3 order by score desc 查詢?nèi)w學(xué)生情況,查詢結(jié)果按所在系的系號(hào)升序排列,同一系中的學(xué)生按年齡降序排列。 select * from student order by sdept, sage desc,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(單表查詢,聚集函數(shù) 表6-4 常用的SQL聚集函數(shù),如果指定Distinct短語(yǔ),則表示在計(jì)算時(shí)要取消指定列中的重復(fù)值。 如果不指定Distinct短語(yǔ)或指定All短語(yǔ)(All為缺省值),則表示不取消重復(fù)值,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(單表查詢,例:求學(xué)生總?cè)藬?shù) select count(*) fro
37、m student 查詢選修了課程的學(xué)生人數(shù) select count(distinct sno) from score 計(jì)算1號(hào)課程的學(xué)生平均成績(jī) select AVG(score) from score where cno=1 查詢選修1號(hào)課程的學(xué)生最高分?jǐn)?shù) select Max(score) from score where cno=1 查詢學(xué)號(hào)為1的學(xué)生的選修課程的總分?jǐn)?shù) select Sum(score) from score where sno=1,注意:在聚集函數(shù)遇到空值時(shí),除Count(*)外,都跳過(guò)空值而只處理非空值,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(單表查詢,Group
38、 By子句 Group By子句將查詢結(jié)果按某一列或多列的值分組,值相等的為一組。 例:求各個(gè)課程號(hào)及相應(yīng)的選課人數(shù)。 select cno,count(sno) from score group by cno 如果分組后還要求按一定的條件對(duì)這些組進(jìn)行篩選,最終只輸出滿足指定條件的組,則可以使用Having短語(yǔ)指定篩選條件。 查詢選修了3門(mén)以上課程的學(xué)生學(xué)號(hào) select sno from score group by sno having count(*)3 注意:Where子句于Having短語(yǔ)的區(qū)別在于作用對(duì)象不同。Where子句作用于基本表或視圖,從中選擇滿足條件的元組,Having短
39、語(yǔ)作用于組,從中選擇滿足條件的組,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(連接查詢,連接查詢是關(guān)系數(shù)據(jù)庫(kù)中最主要的查詢,包括等值連接、自然連接、非等值連接查詢、自身連接查詢、外連接查詢和復(fù)合條件連接查詢。 等值與非等值連接查詢 連接查詢的Where子句中用來(lái)連接兩個(gè)表的條件稱為連接條件或連接謂詞,其一般格式為: . . 其中比較運(yùn)算符主要有:=、=、)等。 當(dāng)連接運(yùn)算符為“=”時(shí),稱為等值連接。使用其它運(yùn)算符稱為非等值連 接。 例:查詢每個(gè)學(xué)生及其選修課程的情況。 若在等值連接中把目標(biāo)列中重復(fù)的屬性列去掉則為自然連接,select student.*,score.* from student,s
40、core where student.sno=score.sno,select student.sno,sname,ssex,sdept,cno,score from student,score where student.sno=score.sno,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(連接查詢,復(fù)合條件連接 Where子句中可以有多個(gè)連接條件,稱為復(fù)合條件連接。 例:查詢選修2號(hào)課程且成績(jī)?cè)?0分以上的所有學(xué)生 select student.sno,sname from student,score where student.sno=score.sno and o=2 and score.
41、score70 連接操作除了可以是兩表連接,還可以是兩個(gè)以上的表進(jìn)行連接,后者通常稱為多表連接。 例:查詢每個(gè)學(xué)生的學(xué)號(hào)、姓名、選修的課程名和成績(jī) select student.sno,sname,cname,score from student,course,score where student.sno=score.sno and o=o,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(連接查詢,嵌套查詢 在SQL語(yǔ)言中,一個(gè)select-from-where語(yǔ)言稱為一個(gè)查詢塊。將一個(gè)查詢塊嵌套在另一個(gè)查詢塊的where子句或having短語(yǔ)的條件中的查詢稱為嵌套查詢。 例:查詢選修了2號(hào)課程的學(xué)生
42、的姓名 select sname from student where sno in (select sno from score where cno=2) SQL語(yǔ)言允許多層嵌套查詢。即一個(gè)子查詢中還可以嵌套其它子查詢。需要特別指出的是,子查詢的Select語(yǔ)句中不能使用Order By子句,Order By子句只能對(duì)最終查詢結(jié)果排序。 嵌套查詢一般的求解方法是由里向外處理。即每個(gè)子查詢?cè)谏弦患?jí)查詢處理之前求解,子查詢的結(jié)果用于建立其父查詢的查找條件,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(連接查詢,帶有In謂詞的子查詢 例:查詢與“劉繼平”在同一個(gè)系學(xué)習(xí)的學(xué)生 先分步來(lái)完成此查詢,然后再構(gòu)造
43、嵌套查詢: (1)確定“劉繼平”所在系名。 Select Sdept from student where Sname=劉繼平 (2)查找所有在CS系學(xué)習(xí)的學(xué)生 Select Sno,Sname,Sdept from student where Sdept=CS 將第(1)步查詢嵌入到第(2)步查詢的條件中,構(gòu)造嵌套查詢?nèi)缦拢?Select Sno,Sname,Sdept from student where Sdept In (select Sdept from student where Sname=劉繼平,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(連接查詢,帶有比較運(yùn)算符的子查詢 帶有比較運(yùn)
44、算符的子查詢是指父查詢與子查詢之間用比較運(yùn)算符進(jìn)行連接。當(dāng)用戶能確切知道內(nèi)層查詢返回的是單值時(shí),可以用,=,等比較運(yùn)算符。 上例的解法二: Select Sno,Sname,Sdept from student where Sdept= (select Sdept from student where Sname=劉繼平) 需要注意的是,子查詢一定要跟在比較符之后,下列寫(xiě)法是錯(cuò)誤的: Select Sno,Sname,Sdept from student where (select Sdept from student where Sname=劉繼平)=Sdept,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取
45、數(shù)據(jù)查詢(連接查詢,帶有ANY或ALL謂詞的子查詢 子查詢返回單值時(shí)可以用比較運(yùn)算符,但返回多值時(shí)要用Any或All謂詞修飾符,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(連接查詢,例:查詢其他系中比計(jì)算機(jī)系某一學(xué)生年齡小的學(xué)生姓名和年齡。 Select Sname,Sage from Student where SageCS 本查詢也可以用聚集函數(shù)來(lái)實(shí)現(xiàn): Select Sname,Sage from Student where SageCS 查詢其他系中比計(jì)算機(jī)系所有學(xué)生年齡都小的學(xué)生姓名及年齡。 Select Sname,Sage from Student where SageCS 本查詢同樣
46、也可以用聚集函數(shù)實(shí)現(xiàn)。 Select Sname,Sage from Student where SageCS,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(連接查詢,事實(shí)上,用聚集函數(shù)實(shí)現(xiàn)子查詢通常比直接用ANY或ALL查詢效率要高。 表6-5 Any、All與聚集函數(shù)的對(duì)應(yīng)關(guān)系,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(連接查詢,帶有Exists謂詞的子查詢 帶有Exists謂詞的子查詢不返回任何數(shù)據(jù),只產(chǎn)生邏輯真值True或邏輯假值False。 可以利用Exists來(lái)判斷xS、S R、S=R、SR非空是否成立 例:查詢所有選修了1號(hào)課程的學(xué)生姓名。 Select Sname from Student
47、 where Exists(select * from Score where Sno=Student.Sno and Cno=1) 使用存在量詞Exists后,若內(nèi)層查詢結(jié)果非空,則外層的Where子句返回真值,否則返回假值。 由Exists引出的子查詢,其目標(biāo)列表達(dá)式通常都用*,因?yàn)閹xists的子查詢只返回真值或假值,給出列名無(wú)實(shí)際意義,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)查詢(連接查詢,與Exists謂詞相對(duì)應(yīng)的是Not Exists謂詞。使用存在量詞Not Exists后,若內(nèi)層查詢結(jié)果為空,則外層的Where子句返回真值,否則返回假值。 例:查詢沒(méi)有選修1號(hào)課程的學(xué)生的姓名。 Sel
48、ect Sname from Student where Not Exists(select * from Score where Sno=Student.Sno and Cno=1,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)更新,數(shù)據(jù)更新操作有3個(gè):向表中添加若干行數(shù)據(jù)、修改表中的數(shù)據(jù)和刪除表中的若干行數(shù)據(jù)。 添加數(shù)據(jù) SQL的數(shù)據(jù)添加語(yǔ)言Insert通常有兩種形式。 添加一個(gè)元組 語(yǔ)法 Insert into (,) values (,) Values子句對(duì)新元組的各屬性賦值,字符串常數(shù)要用單引號(hào)(英文符號(hào))括起來(lái)。 Into子句中沒(méi)有出現(xiàn)的屬性列,新記錄在這些列上將取空值; 在表定義時(shí)說(shuō)明了Not
49、 Null的屬性列不能取空值,否則會(huì)出錯(cuò); 如果Into子句中沒(méi)有指明任何列名,則新添加的記錄必須在每個(gè)屬性列上均有值,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)更新,例:將一個(gè)新的學(xué)生記錄(學(xué)號(hào):10;姓名:陳冬;性別:男;所在系:IS;年齡:18歲)插入到student表中。 Insert into student(sno,sname,ssex,sdept,sage) values(10,陳冬,男,IS,18) 或Insert into student values(10,陳冬,男,IS,18,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)更新,添加子查詢結(jié)果 子查詢可以嵌套在Insert語(yǔ)句中,用以生成要插入的
50、批量數(shù)據(jù)。 插入子查詢結(jié)果的Insert語(yǔ)句的格式為: Insert into (,) 子查詢; 例:對(duì)每個(gè)系,求學(xué)生的平均年齡,并把結(jié)果存入數(shù)據(jù)庫(kù)中。 首先創(chuàng)建一個(gè)新表,其中一列存放系名,另一列存放相應(yīng)的學(xué)生平均年齡。 create table dept_age(sdept char(15), avg_age smallint) 然后對(duì)student表按系分組求平均年齡,再把系名和平均年齡存入新表中。 Insert into dept_age(sdept,avg_age) select sdept,AVG(sage) from student group by sdept,第六章 數(shù)據(jù)庫(kù)的創(chuàng)
51、建與存取 數(shù)據(jù)更新,修改數(shù)據(jù) 語(yǔ)法: update set =,= where 注意:如果省略where子句,則表示要修改表中的所有元組。 修改某一個(gè)元組的值 例:將學(xué)生2的年齡改為22歲 update student set sage=22 where sno=2 修改所有元組的值 例:將所有學(xué)生的年齡增加1歲 update student set sage=sage+1 帶子查詢的修改語(yǔ)句(修改多個(gè)元組的值) 例:將計(jì)算機(jī)科學(xué)系全體學(xué)生的成績(jī)置零 update score set score=0 where sno in (select sno from student where sde
52、pt=CS,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 數(shù)據(jù)更新,刪除數(shù)據(jù) 語(yǔ)法: Delete from where 刪除某一個(gè)元組 例:刪除學(xué)號(hào)為6的學(xué)生記錄 delete from student where sno=6 刪除所有元組 例:刪除所有的學(xué)生選課記錄 delete from Score 帶子查詢的刪除語(yǔ)句 例:刪除計(jì)算機(jī)科學(xué)系所有學(xué)生的選課記錄 delete from score where sno in (select sno from student where sdept=CS,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 視圖,視圖是從一個(gè)或多個(gè)基本表(或視圖)導(dǎo)出的表。 數(shù)據(jù)庫(kù)中只存放視圖的定義,而
53、不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來(lái)的基本表中。 建立視圖 語(yǔ)法:Create View (,) As With Check Option; 子查詢可以是任意復(fù)雜的Select語(yǔ)句,但通常不允許含有Order By子句和Distinct短語(yǔ)。 With Check Option表示對(duì)視圖進(jìn)行Update、Insert和Delete操作時(shí)要保證更新、插入或刪除的行滿足視圖定義中的謂詞條件,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 視圖,組成視圖的屬性列名或者全部省略或者全部指定,沒(méi)有第三種選擇。如果省略了視圖的各個(gè)屬性列名,則隱含該視圖由子查詢中Select子句目標(biāo)列中的諸字段組成。但在下列三種情況下必
54、須明確指定組成視圖的所有列名: 某個(gè)目標(biāo)列不是單純的屬性名,而是聚集函數(shù)或列表達(dá)式。 多表連接時(shí)選出了幾個(gè)同名列作為視圖的字段。 需要在視圖中為某個(gè)列啟用新的更合適的字段,示例:建立信息系學(xué)生的視圖 Create View Is_Student As Select Sno,Sname,Sage from Student where Sdept=IS With Check Option,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 視圖,示例:建立信息系選修了1號(hào)課程的學(xué)生的視圖。 Create View Is_S1(Sno,Sname,score) As Select Student.Sno,Sname,sco
55、re from Student,Score Where Sdept=IS and Student.Sno=Score.Sno and Score.Cno=1,視圖不僅可以建立在單個(gè)基本表上,也可以建立在多個(gè)基本表上。 視圖不僅可以建立在一個(gè)或多個(gè)基本表上,也可以建立在一個(gè)或多個(gè)已定義好的視圖上,或建立在基本表與視圖上,示例:建立信息系選修了1號(hào)課程且成績(jī)?cè)?0分以上的學(xué)生的視圖。 Create View Is_S2 As Select Sno,Sname,score from Is_S1 where score=90,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 視圖,刪除視圖 語(yǔ)法:Drop View 視圖刪
56、除后視圖的定義將從數(shù)據(jù)字典中刪除。但是由該視圖導(dǎo)出的其他視圖定義仍在數(shù)據(jù)字典中,不過(guò)這些視圖也已失效,用戶使用時(shí)會(huì)出錯(cuò),要用Drop View語(yǔ)句將它們一一刪除,示例:刪除視圖IS_S1 。 Drop View IS_S1,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 視圖,查詢視圖 RDBMS執(zhí)行對(duì)視圖的查詢時(shí),首先進(jìn)行有效性檢查。檢查查詢中涉及的表、視圖等是否存在。如果存在,則從數(shù)據(jù)字典中取出視圖的定義,把定義中的子查詢和用戶的查詢結(jié)合起來(lái),轉(zhuǎn)換成等價(jià)的對(duì)基本表的查詢,然后再執(zhí)行修正了的查詢,示例:在信息系學(xué)生的視圖中找出年齡小于20歲的學(xué)生。 Select Sno,Sage from Is_Student
57、 where Sage20,第六章 數(shù)據(jù)庫(kù)的創(chuàng)建與存取 視圖,更新視圖 由于視圖是不實(shí)際存儲(chǔ)數(shù)據(jù)的虛表,因此對(duì)視圖的更新最終要轉(zhuǎn)換為對(duì)基本表的更新。 為了防止用戶通過(guò)視圖對(duì)數(shù)據(jù)進(jìn)行增加、刪除、修改時(shí),有意無(wú)意地對(duì)不屬于視圖范圍內(nèi)的基本表數(shù)據(jù)進(jìn)行操作,可在定義視圖時(shí)加上With Check Option子句,示例:將信息系學(xué)生視圖IS_Student中學(xué)號(hào)為22的學(xué)生姓名改為“劉辰” Update Is_Student set Sname=劉辰 where Sno=22 向信息系學(xué)生視圖IS_Student中插入一個(gè)新學(xué)生記錄,其中學(xué)號(hào)為29,姓名為趙新,年齡為20歲。 Insert Into
58、Is_Student Values(29,趙新,20) 刪除信息系學(xué)生視圖Is_Student中學(xué)號(hào)為29的記錄 Delete from Is_student where Sno=29,第七章 網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的訪問(wèn)ODBC,對(duì)于一個(gè)ASP程序而言,它通常是通過(guò)ActiveX Data Objects(ADO)層或ODBC接口來(lái)訪問(wèn)數(shù)據(jù)庫(kù)的。 ODBC是Open Database Connectivity(開(kāi)放式數(shù)據(jù)庫(kù)連接)的縮寫(xiě),是數(shù)據(jù)庫(kù)服務(wù)器的一個(gè)標(biāo)準(zhǔn)協(xié)議,它向網(wǎng)絡(luò)應(yīng)用程序提供了一種通用的語(yǔ)言,是連接數(shù)據(jù)庫(kù)的通用驅(qū)動(dòng)程序。 ODBC是最流行的連接數(shù)據(jù)源的方法之一。無(wú)論對(duì)于本地?cái)?shù)據(jù)庫(kù)還是C/S或B
59、/S數(shù)據(jù)庫(kù)管理系統(tǒng),只要系統(tǒng)中有相應(yīng)的ODBC驅(qū)動(dòng)程序,都可以通過(guò)ODBC與之連接并訪問(wèn)數(shù)據(jù)庫(kù)中的信息,第七章 網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的訪問(wèn)ADO,ADO是一項(xiàng)容易使用并且可擴(kuò)展的將數(shù)據(jù)庫(kù)訪問(wèn)添加到web頁(yè)的技術(shù)。ADO把絕大部分的數(shù)據(jù)庫(kù)操作封裝在其內(nèi)部的七個(gè)對(duì)象中,在ASP網(wǎng)頁(yè)中可以通過(guò)對(duì)這些對(duì)象的調(diào)用方便地完成相應(yīng)的數(shù)據(jù)庫(kù)操作,第七章 網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的訪問(wèn)ADO,ADO對(duì)象的結(jié)構(gòu),第七章 網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的訪問(wèn)ADO,ADO對(duì)象與數(shù)據(jù)集合之間的關(guān)系,第七章 網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的訪問(wèn)Connection對(duì)象,負(fù)責(zé)用于創(chuàng)建ASP腳本和指定數(shù)據(jù)庫(kù)的一個(gè)連接。是ADO的首要對(duì)象,在使用任何數(shù)據(jù)庫(kù)以前,程序首先要做的是與一個(gè)數(shù)據(jù)
60、庫(kù)建立連接,然后才繼續(xù)下一步的數(shù)據(jù)庫(kù)操作。 Connection對(duì)象的創(chuàng)建 語(yǔ)法: Set conn=Server.CreateObject(ADODB.Connection) Connection對(duì)象的方法 Open方法 語(yǔ)法: Conn.Open ConnectionString, UserID, Password 其中,ConnectionString包含用于建立連接數(shù)據(jù)源的信息,該參數(shù)是由分號(hào)分隔的一系列argument=value語(yǔ)句。UserID包含建立連接時(shí)所使用的用戶名。Password包含建立連接時(shí)所使用的密碼,第七章 網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的訪問(wèn)Connection對(duì)象,連接字符串依賴
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年臨時(shí)租賃協(xié)議范例(三篇)
- 2025年度安全生產(chǎn)標(biāo)準(zhǔn)化體系建設(shè)合同
- 2025年度公共場(chǎng)所安全保衛(wèi)勞務(wù)分包合同
- 智能停車場(chǎng)裝修合同范本
- 教育培訓(xùn)基地租賃合同
- 學(xué)校教室內(nèi)墻裝修工程合同
- 家電產(chǎn)品國(guó)內(nèi)物流配送協(xié)議
- 大宗商品運(yùn)輸承運(yùn)合同范本
- 主題美容院裝修協(xié)議模板
- 水產(chǎn)加工污泥轉(zhuǎn)運(yùn)協(xié)議模板
- 春節(jié)節(jié)后安全教育培訓(xùn)
- 2025年新高考數(shù)學(xué)一輪復(fù)習(xí)第5章重難點(diǎn)突破02向量中的隱圓問(wèn)題(五大題型)(學(xué)生版+解析)
- 水土保持方案投標(biāo)文件技術(shù)部分
- 印刷品質(zhì)量保證協(xié)議書(shū)
- 2023年浙江省公務(wù)員錄用考試《行測(cè)》題(A類)
- CQI-23模塑系統(tǒng)評(píng)估審核表-中英文
- 南方日?qǐng)?bào)圖片管理系統(tǒng)開(kāi)發(fā)項(xiàng)目進(jìn)度管理研究任務(wù)書(shū)
- 《建筑工程設(shè)計(jì)文件編制深度規(guī)定》(2022年版)
- 2024-2030年中國(guó)煉油行業(yè)發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 小學(xué)三年級(jí)奧數(shù)入學(xué)測(cè)試題
- 我國(guó)大型成套設(shè)備出口現(xiàn)狀、發(fā)展前景及政策支持研究
評(píng)論
0/150
提交評(píng)論