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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【提示】

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【課堂實(shí)踐2】操作要求:(1)啟動(dòng)“SQLServerManagementStudio”,創(chuàng)建數(shù)據(jù)庫WebShop,并要求進(jìn)行如下設(shè)置:數(shù)據(jù)庫文件和日志文件的邏輯名稱分別為: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ù)庫對(duì)應(yīng)的操作系統(tǒng)文件。(3)對(duì)WebShop數(shù)據(jù)庫進(jìn)行以下修改:添中一個(gè)日志文件WebShop_log1;將主數(shù)據(jù)庫文件的增長(zhǎng)上限修改為500MB;將主日志文件的增長(zhǎng)上限修改為300MB。(4)刪除所創(chuàng)建的數(shù)據(jù)庫文件WebShop。【課堂實(shí)踐2】任務(wù)3使用T-SQL語句創(chuàng)建保存電子商城的會(huì)員和商品等信息的用戶數(shù)據(jù)庫WebShop以便對(duì)商城數(shù)據(jù)進(jìn)行管理;在數(shù)據(jù)庫創(chuàng)建后,使用T-SQL語句進(jìn)行數(shù)據(jù)庫信息的修改、查看和刪除操作。使用T-SQL管理數(shù)據(jù)庫一、創(chuàng)建數(shù)據(jù)庫(一)CREATEDATABASE語句格式CREATEDATABASE<數(shù)據(jù)庫文件名>[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ù)庫(二)SQLServerManagementStudio中使用T-SQL語句一、創(chuàng)建數(shù)據(jù)庫【提示】

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

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

該方案以默認(rèn)方式創(chuàng)建名為WebShop的數(shù)據(jù)庫。創(chuàng)建數(shù)據(jù)庫的過程分兩步完成:SQLServer使用model數(shù)據(jù)庫的副本初始化數(shù)據(jù)庫及其元數(shù)據(jù)。SQLServer使用空頁填充數(shù)據(jù)庫的剩余部分,除了包含記錄數(shù)據(jù)庫中空間使用情況以外的內(nèi)部數(shù)據(jù)頁?!就瓿烧Z句2】指定數(shù)據(jù)庫對(duì)應(yīng)的物理文件的存儲(chǔ)位置。CREATEDATABASEWebShopON(NAME=WebShop_dat,FILENAME=‘d:\data\WebShop.mdf’)創(chuàng)建名為WebShop的數(shù)據(jù)庫。同時(shí)指定WebShop_dat為主文件,大小等于model數(shù)據(jù)庫中主文件的大小。事務(wù)日志文件會(huì)自動(dòng)創(chuàng)建,其大小為主文件大小的25%或512KB中的較大值。因?yàn)闆]有指定MAXSIZE,文件可以增長(zhǎng)到填滿所有可用的磁盤空間為止。一、創(chuàng)建數(shù)據(jù)庫【完成語句3】創(chuàng)建數(shù)據(jù)庫時(shí)指定數(shù)據(jù)庫文件和日志文件的屬性。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ù)庫【提示】沒有使用關(guān)鍵字PRIMARY,則第一個(gè)文件(WebShop_dat)成為主文件。因?yàn)閃ebShop_dat文件的SIZE參數(shù)沒有指定MB或KB,因此默認(rèn)為MB,以兆字節(jié)為單位進(jìn)行分配。WebShop_log文件以兆字節(jié)為單位進(jìn)行分配,因?yàn)镾IZE參數(shù)中顯式聲明了MB后綴。一、創(chuàng)建數(shù)據(jù)庫(一)ALTERDATABASE語句格式基本語句格式:ALTERDATABASE<數(shù)據(jù)庫名稱>{ADDFILE<數(shù)據(jù)文件>|ADDLOGFILE<日志文件>|REMOVEFILE<邏輯文件名>|ADDFILEGROUP<文件組名>|REMOVEFILEGROUP<文件組名>|MODIFYFILE<文件名>|MODIFYNAME=<新數(shù)據(jù)庫名稱>|MODIFYFILEGROUP<文件組名>|SET<選項(xiàng)>}二、修改數(shù)據(jù)庫【任務(wù)3-2】使用T-SQL語句對(duì)已創(chuàng)建好WebShop數(shù)據(jù)庫進(jìn)行指定的修改。

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

【提示】

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

基本語句格式:

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

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

sp_helpdb[數(shù)據(jù)庫名稱]

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

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

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

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

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

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

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

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

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

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

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

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

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

SELECTname,physical_name FROMsys.master_files WHEREdatabase_id=DB_ID('tempdb'); GO六、移動(dòng)數(shù)據(jù)庫文件(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論