SQL案例教學(xué)(圖文)_第1頁(yè)
SQL案例教學(xué)(圖文)_第2頁(yè)
SQL案例教學(xué)(圖文)_第3頁(yè)
SQL案例教學(xué)(圖文)_第4頁(yè)
SQL案例教學(xué)(圖文)_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章數(shù)據(jù)庫(kù)操作本章學(xué)習(xí)導(dǎo)航在進(jìn)行數(shù)據(jù)管理時(shí),相關(guān)的信息要存放到數(shù)據(jù)庫(kù)中。數(shù)據(jù)庫(kù)就像是一個(gè)容器,其中可以容納表、視圖、索引、存儲(chǔ)過(guò)程和觸發(fā)器等數(shù)據(jù)庫(kù)對(duì)象。應(yīng)用SQLServer2008進(jìn)行數(shù)據(jù)管理之前,首先必須創(chuàng)建好數(shù)據(jù)庫(kù),并指定數(shù)據(jù)庫(kù)的數(shù)據(jù)文件名和日志文件名以及數(shù)據(jù)庫(kù)的存放位置等屬性。本章學(xué)習(xí)導(dǎo)航本章任務(wù)描述任務(wù)編號(hào)子任務(wù)任務(wù)內(nèi)容任務(wù)1了解SQLServer系統(tǒng)數(shù)據(jù)庫(kù)的基本情況、用戶(hù)數(shù)據(jù)庫(kù)中的各種對(duì)象的信息、數(shù)據(jù)庫(kù)在操作系統(tǒng)文件夾中的存放任務(wù)1-1在SSMS中,查看本書(shū)樣例數(shù)據(jù)庫(kù)WebShop的組成任務(wù)1-2在SSMS中,查看SQLServer2008安裝成功后系統(tǒng)數(shù)據(jù)庫(kù)的情況任務(wù)1-3查看SQLServer2008安裝成功后系統(tǒng)數(shù)據(jù)庫(kù)master數(shù)據(jù)庫(kù)的邏輯名稱(chēng)與對(duì)應(yīng)的物理文件的存儲(chǔ)情況任務(wù)2在SSMS中,創(chuàng)建用戶(hù)數(shù)據(jù)庫(kù)WebShop來(lái)對(duì)商城數(shù)據(jù)進(jìn)行管理;在數(shù)據(jù)庫(kù)創(chuàng)建后,根據(jù)需要進(jìn)行數(shù)據(jù)庫(kù)信息的修改、查看和刪除操作任務(wù)2-1在SSMS中,創(chuàng)建電子商城數(shù)據(jù)庫(kù)WebShop任務(wù)2-2在SSMS中,完成數(shù)據(jù)庫(kù)WebShop的修改任務(wù)2-3在SSMS中,查看數(shù)據(jù)庫(kù)WebShop的相關(guān)信息任務(wù)2-4在SSMS中,刪除數(shù)據(jù)庫(kù)WebShop任務(wù)2-5在SSMS中,由已創(chuàng)建好的數(shù)據(jù)庫(kù)WebShop生成創(chuàng)建數(shù)據(jù)庫(kù)的腳本本章任務(wù)描述任務(wù)編號(hào)子任務(wù)任務(wù)內(nèi)容任務(wù)3使用T-SQL語(yǔ)句創(chuàng)建保存電子商城的會(huì)員和商品等信息的用戶(hù)數(shù)據(jù)庫(kù)WebShop以便對(duì)商城數(shù)據(jù)進(jìn)行管理、使用T-SQL語(yǔ)句進(jìn)行數(shù)據(jù)庫(kù)信息的修改、查看和刪除操作任務(wù)3-1使用T-SQL語(yǔ)句創(chuàng)建WebShop數(shù)據(jù)庫(kù)任務(wù)3-2使用T-SQL語(yǔ)句對(duì)已創(chuàng)建好WebShop數(shù)據(jù)庫(kù)進(jìn)行指定的修改任務(wù)3-3使用T-SQL語(yǔ)句更改數(shù)據(jù)庫(kù)選項(xiàng)任務(wù)3-4使用T-SQL語(yǔ)句更改數(shù)據(jù)庫(kù)名稱(chēng)任務(wù)3-5使用T-SQL語(yǔ)句查看指定的數(shù)據(jù)庫(kù)或所有的數(shù)據(jù)庫(kù)信息任務(wù)3-6使用T-SQL語(yǔ)句刪除指定的數(shù)據(jù)庫(kù)任務(wù)3-7使用T-SQL語(yǔ)句將tempdb移動(dòng)到新位置任務(wù)1

SQLServer2008安裝成功后,用戶(hù)需要了解系統(tǒng)數(shù)據(jù)庫(kù)的基本情況;用戶(hù)也可以了解用戶(hù)數(shù)據(jù)庫(kù)中的各種對(duì)象的信息;還需要了解數(shù)據(jù)庫(kù)在操作系統(tǒng)文件夾中是怎樣存放的。SQLSever2008數(shù)據(jù)庫(kù)一、數(shù)據(jù)庫(kù)概述【任務(wù)1-1】

啟動(dòng)SQLServerManagementStudio,查看本書(shū)樣例數(shù)據(jù)庫(kù)WebShop的組成。

主題說(shuō)明數(shù)據(jù)庫(kù)說(shuō)明如何使用數(shù)據(jù)庫(kù)表示、管理和訪問(wèn)數(shù)據(jù)聯(lián)合數(shù)據(jù)庫(kù)服務(wù)器說(shuō)明實(shí)現(xiàn)聯(lián)合數(shù)據(jù)庫(kù)層的設(shè)計(jì)指南和注意事項(xiàng)表說(shuō)明如何使用表存儲(chǔ)數(shù)據(jù)行和定義多個(gè)表之間的關(guān)系索引說(shuō)明如何使用索引提高訪問(wèn)表中數(shù)據(jù)的速度已分區(qū)表和已分區(qū)索引說(shuō)明如何分區(qū)可使大型表和索引更易于管理以及更具可縮放性視圖說(shuō)明各種視圖及其用途(提供其他方法查看一個(gè)或多個(gè)表中的數(shù)據(jù))存儲(chǔ)過(guò)程說(shuō)明這些Transact-SQL程序如何將業(yè)務(wù)規(guī)則、任務(wù)和進(jìn)程集中在服務(wù)器中DML觸發(fā)器說(shuō)明作為特殊類(lèi)型存儲(chǔ)過(guò)程的DML觸發(fā)器的功能,DML觸發(fā)器僅在修改表中的數(shù)據(jù)后執(zhí)行DDL觸發(fā)器說(shuō)明作為特殊觸發(fā)器的DDL觸發(fā)器的功能,DDL觸發(fā)器在響應(yīng)數(shù)據(jù)定義語(yǔ)言(DDL)語(yǔ)句時(shí)激發(fā)一、數(shù)據(jù)庫(kù)概述主題說(shuō)明登錄觸發(fā)器登錄觸發(fā)器將為響應(yīng)LOGON事件而激發(fā)存儲(chǔ)過(guò)程。與SQLServer實(shí)例建立用戶(hù)會(huì)話時(shí)將引發(fā)此事件。事件通知說(shuō)明作為特殊數(shù)據(jù)庫(kù)對(duì)象的事件通知,事件通知可以向ServiceBroker發(fā)送有關(guān)服務(wù)器和數(shù)據(jù)庫(kù)事件的信息用戶(hù)定義函數(shù)說(shuō)明如何使用函數(shù)將任務(wù)和進(jìn)程集中在服務(wù)器中程序集說(shuō)明如何在SQLServer中使用程序集部署以Microsoft.NETFramework公共語(yǔ)言運(yùn)行時(shí)(CLR)中駐留的一種托管代碼語(yǔ)言編寫(xiě)的(不是以Transact-SQL編寫(xiě)的)函數(shù)、存儲(chǔ)過(guò)程、觸發(fā)器、用戶(hù)定義聚合以及用戶(hù)定義類(lèi)型同義詞說(shuō)明如何使用同義詞引用基對(duì)象;同義詞是包含架構(gòu)的對(duì)象的另一個(gè)名稱(chēng)一、數(shù)據(jù)庫(kù)概述【提示】

一個(gè)SQLServer實(shí)例可以支持多個(gè)數(shù)據(jù)庫(kù)。每個(gè)數(shù)據(jù)庫(kù)可以存儲(chǔ)來(lái)自其他數(shù)據(jù)庫(kù)的相關(guān)數(shù)據(jù)或不相關(guān)數(shù)據(jù)。例如,SQLServer實(shí)例可以有一個(gè)數(shù)據(jù)庫(kù)用于存儲(chǔ)網(wǎng)站商品數(shù)據(jù),另一個(gè)數(shù)據(jù)庫(kù)用于存儲(chǔ)內(nèi)部員工的數(shù)據(jù)。

不能在master數(shù)據(jù)庫(kù)中創(chuàng)建任何用戶(hù)對(duì)象(例如表、視圖、存儲(chǔ)過(guò)程或觸發(fā)器)。master數(shù)據(jù)庫(kù)包含SQLServer實(shí)例使用的系統(tǒng)級(jí)信息(例如登錄信息和配置選項(xiàng)設(shè)置)。

表上有幾種類(lèi)型的控制(例如約束、觸發(fā)器、默認(rèn)值和自定義用戶(hù)數(shù)據(jù)類(lèi)型),用于保證數(shù)據(jù)的有效性。可以向表中添加聲明性引用完整性(DRI)約束,以確保不同表中的相關(guān)數(shù)據(jù)保持一致。

表上可以有索引(與書(shū)中的索引相似),利用索引能夠快速找到行。數(shù)據(jù)庫(kù)還可以包含使用Transact-SQL或.NETFramework編程代碼的過(guò)程對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)執(zhí)行操作。這些操作包括創(chuàng)建用于提供對(duì)表數(shù)據(jù)的自定義訪問(wèn)的視圖,或創(chuàng)建用于對(duì)部分行執(zhí)行復(fù)雜計(jì)算的用戶(hù)定義函數(shù)。二、系統(tǒng)數(shù)據(jù)庫(kù)【任務(wù)1-2】啟動(dòng)SQLServerManagementStudio,查看SQLServer2008安裝成功后系統(tǒng)數(shù)據(jù)庫(kù)的情況。

三、文件和文件組【任務(wù)1-3】查看SQLServer2008安裝成功后系統(tǒng)數(shù)據(jù)庫(kù)master數(shù)據(jù)庫(kù)的邏輯名稱(chēng)與對(duì)應(yīng)的物理文件的存儲(chǔ)情況。三、文件和文件組(一)數(shù)據(jù)文件

文件說(shuō)明主要數(shù)據(jù)文件主要數(shù)據(jù)文件包含數(shù)據(jù)庫(kù)的啟動(dòng)信息,并指向數(shù)據(jù)庫(kù)中的其他文件;用戶(hù)數(shù)據(jù)和對(duì)象可存儲(chǔ)在此文件中,也可以存儲(chǔ)在次要數(shù)據(jù)文件中;每個(gè)數(shù)據(jù)庫(kù)有一個(gè)主要數(shù)據(jù)文件,主要數(shù)據(jù)文件的擴(kuò)展名默認(rèn)為.mdf次要數(shù)據(jù)文件次要數(shù)據(jù)文件是可選的,由用戶(hù)定義并存儲(chǔ)用戶(hù)數(shù)據(jù);通過(guò)將每個(gè)文件放在不同的磁盤(pán)驅(qū)動(dòng)器上,次要文件可用于將數(shù)據(jù)分散到多個(gè)磁盤(pán)上;另外,如果數(shù)據(jù)庫(kù)超過(guò)了單個(gè)Windows文件的最大值,可以使用次要數(shù)據(jù)文件,這樣數(shù)據(jù)庫(kù)就能繼續(xù)增長(zhǎng);次要數(shù)據(jù)文件的文件擴(kuò)展名默認(rèn)為.ndf事務(wù)日志文件事務(wù)日志文件保存用于恢復(fù)數(shù)據(jù)庫(kù)的日志信息;每個(gè)數(shù)據(jù)庫(kù)必須至少有一個(gè)日志文件,事務(wù)日志文件擴(kuò)展名默認(rèn)為.ldf三、文件和文件組(二)邏輯和物理文件名稱(chēng)

【提示】SQLServer數(shù)據(jù)和日志文件可以保存在FAT或NTFS文件系統(tǒng)中。從安全性角度建議使用NTFS??勺x/寫(xiě)數(shù)據(jù)文件組和日志文件不能保存在NTFS壓縮文件系統(tǒng)中。只有只讀數(shù)據(jù)庫(kù)和只讀次要文件組可以保存在NTFS壓縮文件系統(tǒng)中。默認(rèn)情況下,數(shù)據(jù)和事務(wù)日志被放在同一個(gè)驅(qū)動(dòng)器上的同一個(gè)路徑下。這是為處理單磁盤(pán)系統(tǒng)而采用的方法。但是,在實(shí)際應(yīng)用環(huán)境中,建議將數(shù)據(jù)和日志文件放在不同的磁盤(pán)上。三、文件和文件組(三)文件組

每個(gè)數(shù)據(jù)庫(kù)有一個(gè)主要文件組。此文件組包含主要數(shù)據(jù)文件和未放入其他文件組的所有次要文件??梢詣?chuàng)建用戶(hù)定義的文件組,用于將數(shù)據(jù)文件集合起來(lái),以便于管理、數(shù)據(jù)分配和放置。SQLServer2008將數(shù)據(jù)庫(kù)映射為一組操作系統(tǒng)文件。數(shù)據(jù)和日志信息從不混合在相同的文件中,而且各文件僅在一個(gè)數(shù)據(jù)庫(kù)中使用。文件組是命名的文件集合,用于幫助數(shù)據(jù)布局和管理任務(wù),例如備份操作和還原操作。三、文件和文件組(四)數(shù)據(jù)文件頁(yè)

SQLServer2008數(shù)據(jù)文件中的頁(yè)按順序編號(hào),文件的首頁(yè)以0開(kāi)始。數(shù)據(jù)庫(kù)中的每個(gè)文件都有一個(gè)唯一的文件ID號(hào)。若要唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)中的頁(yè),需要同時(shí)使用文件ID和頁(yè)碼。如下圖所示。

數(shù)據(jù)文件頁(yè)結(jié)構(gòu)數(shù)據(jù)文件頁(yè)三、文件和文件組(五)區(qū)

區(qū)是八個(gè)物理上連續(xù)的頁(yè)的集合,用來(lái)有效地管理頁(yè)。所有頁(yè)都存儲(chǔ)在區(qū)中。區(qū)是管理空間的基本單位。一個(gè)區(qū)是八個(gè)物理上連續(xù)的頁(yè)(即64KB)。這意味著SQLServer數(shù)據(jù)庫(kù)中每MB有16個(gè)區(qū)。為了使空間分配更有效,SQLServer不會(huì)將所有區(qū)分配給包含少量數(shù)據(jù)的表。SQLServer有兩種類(lèi)型的區(qū):(1)統(tǒng)一區(qū),由單個(gè)對(duì)象所有。區(qū)中的所有8頁(yè)只能由所屬對(duì)象使用。(2)混合區(qū),最多可由八個(gè)對(duì)象共享。區(qū)中八頁(yè)的每頁(yè)可由不同的對(duì)象所有。三、文件和文件組混合區(qū)和統(tǒng)一區(qū)【課堂實(shí)踐1】操作要求:?jiǎn)?dòng)“SQLServerManagementStudio”,查看有哪幾個(gè)系統(tǒng)數(shù)據(jù)庫(kù)。啟動(dòng)“SQLServerManagementStudio”,查看temp數(shù)據(jù)庫(kù)的邏輯名稱(chēng)。在操作系統(tǒng)文件夾中查看temp數(shù)據(jù)庫(kù)對(duì)應(yīng)的操作系統(tǒng)文件名。任務(wù)2在SQLServer2008的SQLServerManagementStudio中,為了保存電子商城的會(huì)員和商品等信息,需要?jiǎng)?chuàng)建用戶(hù)數(shù)據(jù)庫(kù)WebShop來(lái)對(duì)商城數(shù)據(jù)進(jìn)行管理;在數(shù)據(jù)庫(kù)創(chuàng)建后,需要進(jìn)行數(shù)據(jù)庫(kù)信息的修改、查看和刪除操作。使用SSMS管理數(shù)據(jù)庫(kù)【任務(wù)2-1】在SQLServer2008的“SQLServerManagementStudio”中,創(chuàng)建電子商城數(shù)據(jù)庫(kù)WebShop。

一、創(chuàng)建數(shù)據(jù)庫(kù)

【提示】

創(chuàng)建數(shù)據(jù)庫(kù)時(shí),必須確定數(shù)據(jù)庫(kù)的名稱(chēng)、所有者、大小以及存儲(chǔ)該數(shù)據(jù)庫(kù)的文件和文件組。數(shù)據(jù)庫(kù)名稱(chēng)必須遵循SQLServer標(biāo)識(shí)符規(guī)則??梢栽趧?chuàng)建數(shù)據(jù)庫(kù)改變其存儲(chǔ)位置,但一旦數(shù)據(jù)庫(kù)創(chuàng)建以后,存儲(chǔ)位置不能被修改。數(shù)據(jù)庫(kù)和事務(wù)日志文件的初始大小與為model數(shù)據(jù)庫(kù)指定的默認(rèn)大小相同,主文件中包含數(shù)據(jù)庫(kù)的系統(tǒng)表。創(chuàng)建數(shù)據(jù)庫(kù)之后,構(gòu)成該數(shù)據(jù)庫(kù)的所有文件都將用零填充,以重寫(xiě)磁盤(pán)上以前的刪除文件所遺留的現(xiàn)有數(shù)據(jù)。一、創(chuàng)建數(shù)據(jù)庫(kù)

在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)最好指定文件的最大允許增長(zhǎng)的大小,這樣做可以防止文件在添加數(shù)據(jù)時(shí)無(wú)限制增大,以至用盡整個(gè)磁盤(pán)空間。創(chuàng)建數(shù)據(jù)庫(kù)之后,建議創(chuàng)建一個(gè)master數(shù)據(jù)庫(kù)的備份。對(duì)于一個(gè)SQLServer實(shí)例,最多可以創(chuàng)建32,767個(gè)數(shù)據(jù)庫(kù)。model數(shù)據(jù)庫(kù)中的所有用戶(hù)定義對(duì)象都將復(fù)制到所有新創(chuàng)建的數(shù)據(jù)庫(kù)中??梢韵騧odel數(shù)據(jù)庫(kù)中添加任何對(duì)象(例如表、視圖、存儲(chǔ)過(guò)程和數(shù)據(jù)類(lèi)型),以將這些對(duì)象包含到所有新創(chuàng)建的數(shù)據(jù)庫(kù)中。如果需要在數(shù)據(jù)庫(kù)節(jié)點(diǎn)中顯示新創(chuàng)建的數(shù)據(jù)庫(kù),則需要在數(shù)據(jù)庫(kù)節(jié)點(diǎn)上單擊右鍵,再選擇【刷新】。一、創(chuàng)建數(shù)據(jù)庫(kù)

【任務(wù)2-2】在SQLServer2008的“SQLServerManagementStudio”中,完成數(shù)據(jù)庫(kù)WebShop的修改。

二、修改數(shù)據(jù)庫(kù)

修改的內(nèi)容包括以下幾個(gè)方面:

1、擴(kuò)充或收縮分配給數(shù)據(jù)庫(kù)的數(shù)據(jù)或事務(wù)日志空間。2、添加或刪除數(shù)據(jù)和事務(wù)日志文件。3、創(chuàng)建文件組。4、創(chuàng)建默認(rèn)文件組。5、更改數(shù)據(jù)庫(kù)名稱(chēng)。6、更改數(shù)據(jù)庫(kù)的所有者。二、修改數(shù)據(jù)庫(kù)

【任務(wù)2-3】在SQLServer2008的“SQLServerManagementStudio”中,查看數(shù)據(jù)庫(kù)WebShop的相關(guān)信息。

三、查看數(shù)據(jù)庫(kù)

【任務(wù)2-4】在SQLServer2008的“SQLServerManagementStudio”中,刪除數(shù)據(jù)庫(kù)WebShop。

四、刪除數(shù)據(jù)庫(kù)

【提示】當(dāng)不再需要數(shù)據(jù)庫(kù),或?qū)?shù)據(jù)庫(kù)移到另一數(shù)據(jù)庫(kù)或服務(wù)器時(shí),即可刪除該數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)刪除之后,文件及其數(shù)據(jù)都從服務(wù)器上的磁盤(pán)中刪除。一旦刪除數(shù)據(jù)庫(kù),它即被永久刪除,并且不能進(jìn)行檢索,除非使用以前的備份。在數(shù)據(jù)庫(kù)刪除之前備份master數(shù)據(jù)庫(kù),因?yàn)閯h除數(shù)據(jù)庫(kù)將更新master中的系統(tǒng)表。如果master需要還原,則從上次備份master之后刪除的所有數(shù)據(jù)庫(kù)都將仍然在系統(tǒng)表中有引用,因而可能導(dǎo)致出現(xiàn)錯(cuò)誤信息。必須將當(dāng)前數(shù)據(jù)庫(kù)指定為其他數(shù)據(jù)庫(kù),不能刪除當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)。四、刪除數(shù)據(jù)庫(kù)

【任務(wù)2-5】在SQLServer2008的“SQLServerManagementStudio”中,收縮數(shù)據(jù)庫(kù)WebShop。五、收縮數(shù)據(jù)庫(kù)五、收縮數(shù)據(jù)庫(kù)【任務(wù)2-6】在SQLServer2008的“SQLServerManagementStudio”中,由已創(chuàng)建好的數(shù)據(jù)庫(kù)WebShop生成創(chuàng)建數(shù)據(jù)庫(kù)的腳本。

六、由已有數(shù)據(jù)庫(kù)生成創(chuàng)建數(shù)據(jù)庫(kù)的腳本

【提示】生成的腳本中包含了許多設(shè)置信息。其它對(duì)象(表和視圖等)生成腳本的方法與此相同,不再詳述。六、由已有數(shù)據(jù)庫(kù)生成創(chuàng)建數(shù)據(jù)庫(kù)的腳本

【課堂實(shí)踐2】操作要求:(1)啟動(dòng)“SQLServerManagementStudio”,創(chuàng)建數(shù)據(jù)庫(kù)WebShop,并要求進(jìn)行如下設(shè)置:數(shù)據(jù)庫(kù)文件和日志文件的邏輯名稱(chēng)分別為:WebShop_data和WebShop_log;物理文件存放在E:\data文件夾中;數(shù)據(jù)文件的增長(zhǎng)方式為“按MB”自動(dòng)增長(zhǎng),初始大小為5MB,文件增長(zhǎng)量為2MB;日志文件的增長(zhǎng)方式為“按百分比”自動(dòng)增長(zhǎng),初始大小為2MB,文件增長(zhǎng)量為15%;(2)在操作系統(tǒng)文件夾中查看WebShop數(shù)據(jù)庫(kù)對(duì)應(yīng)的操作系統(tǒng)文件。(3)對(duì)WebShop數(shù)據(jù)庫(kù)進(jìn)行以下修改:添中一個(gè)日志文件WebShop_log1;將主數(shù)據(jù)庫(kù)文件的增長(zhǎng)上限修改為500MB;將主日志文件的增長(zhǎng)上限修改為300MB。(4)刪除所創(chuàng)建的數(shù)據(jù)庫(kù)文件WebShop。【課堂實(shí)踐2】任務(wù)3使用T-SQL語(yǔ)句創(chuàng)建保存電子商城的會(huì)員和商品等信息的用戶(hù)數(shù)據(jù)庫(kù)WebShop以便對(duì)商城數(shù)據(jù)進(jìn)行管理;在數(shù)據(jù)庫(kù)創(chuàng)建后,使用T-SQL語(yǔ)句進(jìn)行數(shù)據(jù)庫(kù)信息的修改、查看和刪除操作。使用T-SQL管理數(shù)據(jù)庫(kù)一、創(chuàng)建數(shù)據(jù)庫(kù)(一)CREATEDATABASE語(yǔ)句格式CREATEDATABASE<數(shù)據(jù)庫(kù)文件名>[ON

<數(shù)據(jù)文件>]([NAME=<邏輯文件名>,]

FILENAME='<物理文件名>'

[,SIZE=<大小>]

[,MAXSIZE=<可增長(zhǎng)的最大大小>]

[,FILEGROWTH=<增長(zhǎng)比例>])[LOGON<日志文件>]([NAME=<邏輯文件名>,]

FILENAME='<物理文件名>'

[,SIZE=<大小>]

[,MAXSIZE=<可增長(zhǎng)的最大大小>]

[,FILEGROWTH=<增長(zhǎng)比例>])一、創(chuàng)建數(shù)據(jù)庫(kù)(二)SQLServerManagementStudio中使用T-SQL語(yǔ)句一、創(chuàng)建數(shù)據(jù)庫(kù)【提示】

如果在查詢(xún)語(yǔ)句編輯區(qū)域選定了語(yǔ)句,則對(duì)指定語(yǔ)句執(zhí)行檢查和執(zhí)行操作,否則執(zhí)行所有語(yǔ)句。在以后章節(jié)中的T-SQL的編寫(xiě)和執(zhí)行的步驟與此相同。用戶(hù)編寫(xiě)的T-SQL腳本可以以文件(.sql)形式保存,在需要時(shí)執(zhí)行。一、創(chuàng)建數(shù)據(jù)庫(kù)(三)使用CREATEDATABASE語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)【任務(wù)3-1】使用T-SQL語(yǔ)句創(chuàng)建WebShop數(shù)據(jù)庫(kù)。

【完成語(yǔ)句1】使用默認(rèn)方式創(chuàng)建數(shù)據(jù)庫(kù)。CREATEDATABASEWebShop【提示】

該方案以默認(rèn)方式創(chuàng)建名為WebShop的數(shù)據(jù)庫(kù)。創(chuàng)建數(shù)據(jù)庫(kù)的過(guò)程分兩步完成:SQLServer使用model數(shù)據(jù)庫(kù)的副本初始化數(shù)據(jù)庫(kù)及其元數(shù)據(jù)。SQLServer使用空頁(yè)填充數(shù)據(jù)庫(kù)的剩余部分,除了包含記錄數(shù)據(jù)庫(kù)中空間使用情況以外的內(nèi)部數(shù)據(jù)頁(yè)。【完成語(yǔ)句2】指定數(shù)據(jù)庫(kù)對(duì)應(yīng)的物理文件的存儲(chǔ)位置。CREATEDATABASEWebShopON(NAME=WebShop_dat,FILENAME=‘d:\data\WebShop.mdf’)創(chuàng)建名為WebShop的數(shù)據(jù)庫(kù)。同時(shí)指定WebShop_dat為主文件,大小等于model數(shù)據(jù)庫(kù)中主文件的大小。事務(wù)日志文件會(huì)自動(dòng)創(chuàng)建,其大小為主文件大小的25%或512KB中的較大值。因?yàn)闆](méi)有指定MAXSIZE,文件可以增長(zhǎng)到填滿所有可用的磁盤(pán)空間為止。一、創(chuàng)建數(shù)據(jù)庫(kù)【完成語(yǔ)句3】創(chuàng)建數(shù)據(jù)庫(kù)時(shí)指定數(shù)據(jù)庫(kù)文件和日志文件的屬性。CREATEDATABASEWebShopON(NAME=WebShop_dat,FILENAME='d:\data\WebShop_dat.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME='WebShop_log',

FILENAME='d:\data\WebShop_log.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB)一、創(chuàng)建數(shù)據(jù)庫(kù)【提示】沒(méi)有使用關(guān)鍵字PRIMARY,則第一個(gè)文件(WebShop_dat)成為主文件。因?yàn)閃ebShop_dat文件的SIZE參數(shù)沒(méi)有指定MB或KB,因此默認(rèn)為MB,以兆字節(jié)為單位進(jìn)行分配。WebShop_log文件以兆字節(jié)為單位進(jìn)行分配,因?yàn)镾IZE參數(shù)中顯式聲明了MB后綴。一、創(chuàng)建數(shù)據(jù)庫(kù)(一)ALTERDATABASE語(yǔ)句格式基本語(yǔ)句格式:ALTERDATABASE<數(shù)據(jù)庫(kù)名稱(chēng)>{ADDFILE<數(shù)據(jù)文件>|ADDLOGFILE<日志文件>|REMOVEFILE<邏輯文件名>|ADDFILEGROUP<文件組名>|REMOVEFILEGROUP<文件組名>|MODIFYFILE<文件名>|MODIFYNAME=<新數(shù)據(jù)庫(kù)名稱(chēng)>|MODIFYFILEGROUP<文件組名>|SET<選項(xiàng)>}二、修改數(shù)據(jù)庫(kù)【任務(wù)3-2】使用T-SQL語(yǔ)句對(duì)已創(chuàng)建好WebShop數(shù)據(jù)庫(kù)進(jìn)行指定的修改。

添加次要數(shù)據(jù)庫(kù)文件。ALTERDATABASEWebShopADDFILE(NAME=WebShop_dat2,FILENAME='d:\Data\WebShop_dat2.ndf',SIZE=5MB,MAXSIZE=100MB,FILEGROWTH=5MB)(二)使用ALTERDATABASE修改數(shù)據(jù)庫(kù)格式二、修改數(shù)據(jù)庫(kù)更改指定文件。ALTERDATABASEWebShopMODIFYFILE(NAME=WebShop_dat2,SIZE=20MB)刪除指定文件。ALTERDATABASEWebShopREMOVEFILEWebShop_dat2二、修改數(shù)據(jù)庫(kù)【任務(wù)3-3】使用T-SQL語(yǔ)句更改數(shù)據(jù)庫(kù)選項(xiàng)。

【提示】

系統(tǒng)存儲(chǔ)過(guò)程是指存儲(chǔ)在數(shù)據(jù)庫(kù)內(nèi),可由應(yīng)用程序(或查詢(xún)分析器)調(diào)用執(zhí)行的一組語(yǔ)句的集合,其目的是用來(lái)執(zhí)行數(shù)據(jù)庫(kù)的管理和信息活動(dòng)。存儲(chǔ)過(guò)程詳細(xì)內(nèi)容可參閱“存儲(chǔ)過(guò)程”章節(jié)和“SQLServer聯(lián)機(jī)叢書(shū)”。執(zhí)行存儲(chǔ)過(guò)程中的EXEC關(guān)鍵字可選。本書(shū)中系統(tǒng)存儲(chǔ)過(guò)程的存儲(chǔ)過(guò)程的執(zhí)行與前面所述的T-SQL語(yǔ)句的執(zhí)行相同。不能在master或tempdb數(shù)據(jù)庫(kù)上使用sp_dboption。(三)使用存儲(chǔ)過(guò)程修改數(shù)據(jù)庫(kù)二、修改數(shù)據(jù)庫(kù)【任務(wù)3-4】使用T-SQL語(yǔ)句更改數(shù)據(jù)庫(kù)名稱(chēng)。

基本語(yǔ)句格式:

sp_renamedb[當(dāng)前數(shù)據(jù)庫(kù)名稱(chēng)],[數(shù)據(jù)庫(kù)新名稱(chēng)]二、修改數(shù)據(jù)庫(kù)【任務(wù)3-5】使用T-SQL語(yǔ)句查看指定的數(shù)據(jù)庫(kù)或所有的數(shù)據(jù)庫(kù)信息。

存儲(chǔ)過(guò)程sp_helpdb基本語(yǔ)句格式如下:

sp_helpdb[數(shù)據(jù)庫(kù)名稱(chēng)]

【語(yǔ)句1】查看當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器中所有數(shù)據(jù)庫(kù)的信息。

sp_helpdb【語(yǔ)句2】查看當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器中

WebShop數(shù)據(jù)庫(kù)的信息。

sp_helpdbWebShop三、查看數(shù)據(jù)庫(kù)三、查看數(shù)據(jù)庫(kù)三、查看數(shù)據(jù)庫(kù)名稱(chēng)含義name數(shù)據(jù)庫(kù)名稱(chēng)db_size數(shù)據(jù)庫(kù)大小owner數(shù)據(jù)庫(kù)所有者(例如sa)dbid數(shù)據(jù)庫(kù)IDcreated數(shù)據(jù)庫(kù)創(chuàng)建的日期status以逗號(hào)分隔的值的列表,這些值是當(dāng)前在數(shù)據(jù)庫(kù)上設(shè)置的數(shù)據(jù)庫(kù)選項(xiàng)的值name邏輯文件名fileid文件標(biāo)識(shí)符filename操作系統(tǒng)文件名(物理文件名稱(chēng))filegroup文件所屬的組;為便于分配和管理,可以將數(shù)據(jù)庫(kù)文件分成文件組;日志文件不能作為文件組的一部分size文件大小maxsize文件可達(dá)到的最大值,此字段中的UNLIMITED值表示文件可以一直增大直到磁盤(pán)滿為止growth文件的增量,表示每次需要新的空間時(shí)給文件增加的空間大小usage文件用法;數(shù)據(jù)文件的用法是dataonly(僅數(shù)據(jù)),而日志文件的用法是logonly(僅日志)【語(yǔ)句3】查看所有數(shù)據(jù)庫(kù)的基本信息。

SELECT*FROMsys.databases三、查看數(shù)據(jù)庫(kù)【語(yǔ)句4】查看數(shù)據(jù)文件的信息。

SELECT*FROMsys.database_files三、查看數(shù)據(jù)庫(kù)【任務(wù)3-6】使用T-SQL語(yǔ)句刪除指定的數(shù)據(jù)庫(kù)。

刪除數(shù)據(jù)庫(kù)的基本語(yǔ)句格式如下:

DROPDATABASE<數(shù)據(jù)庫(kù)名稱(chēng)>【完成語(yǔ)句】考慮到不再需要數(shù)據(jù)庫(kù)WebShop,現(xiàn)在要?jiǎng)h除數(shù)據(jù)庫(kù)WebShop。

DROPDATABASEWebShop四、刪除數(shù)據(jù)庫(kù)【任務(wù)3-7】使用DBCCSHRINKDATABASE收縮數(shù)據(jù)庫(kù)。

五、收縮數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)文件使用DBCCSHRINKDATABASE收縮數(shù)據(jù)庫(kù): DBCCSHRINKDATABASE(數(shù)據(jù)庫(kù)名|數(shù)據(jù)庫(kù)ID|0[,target_percent][,{NOTRUNCATE|TRUNCATEONLY}])[WITHNO_INFOMSGS]<數(shù)據(jù)庫(kù)名稱(chēng)>收縮WebShop數(shù)據(jù)庫(kù),剩余可用空間10%,代碼如下:DBCCSHRINKDATABASE(WebShop,10)【任務(wù)3-8】使用DBCCSHRINKFILE收縮數(shù)據(jù)文件。

五、收縮數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)文件使用DBCCSHRINKFILE收縮數(shù)據(jù)文件: DBCCSHRINKFILE ( {文件名|文件ID} {[,EMPTYFILE] |[[,收縮后文件的大小][,{NOTRUNCATE| TRUNCATEONLY}]] } )

[WITHNO_INFOMSGS]【任務(wù)3-9】使用T-SQL語(yǔ)句將tempdb移動(dòng)到新位置。

(1)確定tempdb數(shù)據(jù)庫(kù)的邏輯文件名稱(chēng)以及在磁盤(pán)上的當(dāng)前位置。

SELECTname,physical_name FROMsys.master_files WHEREdatabase_id=DB_ID('tempdb'); GO六、移動(dòng)數(shù)據(jù)庫(kù)文件(2)使用ALTERDATABASE更改每個(gè)文件的位置。 USEmaster; GO ALTERDATABASEtempdb MODIFYFILE(NAME=tempdev,FILENAME= 'E:\SQLData\tempdb.mdf'); GO ALTERDATABASEtempdb MODIFYFILE(NAME=templog,FILENAME= 'E:\SQLData\templog.ldf')

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論