《SQLServer數(shù)據(jù)庫應用基礎教程》第二章數(shù)據(jù)庫的基本操作_第1頁
《SQLServer數(shù)據(jù)庫應用基礎教程》第二章數(shù)據(jù)庫的基本操作_第2頁
《SQLServer數(shù)據(jù)庫應用基礎教程》第二章數(shù)據(jù)庫的基本操作_第3頁
《SQLServer數(shù)據(jù)庫應用基礎教程》第二章數(shù)據(jù)庫的基本操作_第4頁
《SQLServer數(shù)據(jù)庫應用基礎教程》第二章數(shù)據(jù)庫的基本操作_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第二章數(shù)據(jù)庫的基本操作

1本章主要內(nèi)容文件和文件組創(chuàng)建數(shù)據(jù)庫管理數(shù)據(jù)庫2SQLServer2005數(shù)據(jù)庫至少具有兩個系統(tǒng)文件:表、存儲過程、觸發(fā)器、視圖2.1文件和文件組數(shù)據(jù)文件日志文件恢復數(shù)據(jù)庫中的所有事務所需的信息3

SQLServer中常用的數(shù)據(jù)庫對象對象作用表數(shù)據(jù)庫中數(shù)據(jù)的實際存放處所視圖定制復雜或常用的查詢,以便用戶使用;限定用戶只能查看表中的特定行或列;為用戶提供統(tǒng)計數(shù)據(jù)而不展示細節(jié)索引加快從表或視圖中檢索數(shù)據(jù)的效率存儲過程提高性能;封裝數(shù)據(jù)庫的部分或全部細節(jié);幫助在不同的數(shù)據(jù)庫應用程序之間實現(xiàn)一致的邏輯約束、規(guī)則、確保數(shù)據(jù)庫的數(shù)據(jù)完整性;強制執(zhí)行業(yè)務默認值和觸發(fā)器規(guī)則登陸、用戶、角色保障數(shù)據(jù)安全的基礎和組4主要數(shù)據(jù)文件:該文件包含數(shù)據(jù)庫的啟動信息,并用于存儲數(shù)據(jù),擴展名是.mdf次要數(shù)據(jù)文件(可選):由用戶定義并存儲,這些文件含有不能置于主要數(shù)據(jù)文件中的所有數(shù)據(jù),擴展名是.ndf

事務日志:這些文件包含用于恢復數(shù)據(jù)庫的日志信息。每個數(shù)據(jù)庫都必須至少有一個日志文件,擴展名是.ldf5并將這三個文件指派到文件組group中文件組:為了方便數(shù)據(jù)的分配、放置和管理,SQLServer允許對文件進行分組處理。在同一個組里的文件組成文件組Data1.ndfHDDData3.ndfHDDData2.ndfHDD然后,可以在文件組group上創(chuàng)建表。對表中數(shù)據(jù)的查詢將被分散到三個磁盤上,查詢性能將得到提高6數(shù)據(jù)庫的文件組成事務日志文件*.ldf一到多個次數(shù)據(jù)文件*.ndf零到多個次數(shù)據(jù)文件*.ndf零到多個主數(shù)據(jù)文件*.mdf僅有一個主文件組次文件組事務日志僅有一個零到多個7需要注意的有:文件或文件組不能由一個以上的數(shù)據(jù)庫使用例如:如果文件sales.mdf

和sales.ndf

包含了數(shù)據(jù)庫sales中的數(shù)據(jù)和對象,那么任何其它數(shù)據(jù)庫都不能使用這兩個文件件不能屬于任件組

82.2.1以圖形化界面創(chuàng)建數(shù)據(jù)庫2.2.2用T-SQL命令創(chuàng)建數(shù)據(jù)庫

2.2創(chuàng)建數(shù)據(jù)庫Transact-SQL交互式查詢語言92.2.1以圖形化界面創(chuàng)建數(shù)據(jù)庫演示102.2.2用T-SQL命令創(chuàng)建數(shù)據(jù)庫CREATEDATABASEdatabase_name[ON[PRIMARY][<filespec>[,…n][,<filegroup>[,…n]}][LOGON{<filespec>[,…n]}]][COLLATEcollation_name][WITH<external_access_option>]][;]數(shù)據(jù)庫名稱指定關聯(lián)的<filespec>定義主文件11CREATEDATABASEdatabase_nameON[<filespec>[,…n]FOR{ATTACH[WITH<sevice_broker_option>]|ATTACH_REBUILD_LOG}[;]數(shù)據(jù)庫名稱通過附加命令創(chuàng)建數(shù)據(jù)庫的命令格式:指定從現(xiàn)有的一組操作系統(tǒng)文件中附加數(shù)據(jù)庫12<filespec>::={((NAME=logical_file_name,FILENAME=’os_file_name’,數(shù)據(jù)文件或日志文件的定義數(shù)據(jù)庫的啟動位置,也是數(shù)據(jù)庫中其他文件的入口位置指定文件的操作系統(tǒng)文件名和路徑13[,SIZE=size[KB|MB|GB|TB]][,MAXSIZE={max_size[KB|MB|GB|TB]|UNLIMITED}][,FILEGROWTH=grow_increment[KB|MB|GB|TB|%])}[,...n]指定數(shù)據(jù)或日志文件的大小,缺省為1MB指定文件能夠增長到的最大長度,若不指定長度,將一直增長到盤滿文件的增長增量,缺省為10%,最小值為64KB14<filegroup>::={FILEGROUPfilegroup_name[DEFAULT]<FILESPEC>[,…]}<external_access_option>::={DB_CHAINIG{ON|OFF}|TRUSTWORTHY{ON|OFF}}

控制外部與數(shù)據(jù)庫之間的雙向訪問數(shù)據(jù)庫文件組的定義15<service_broker_option>::={ENABLE_BROKER|NEW_BROKER|ERROR_BROKER_CONVERSATIONS}功能:幫助數(shù)據(jù)庫人員構(gòu)建安全、可靠和可伸縮性的應用程序16LOGON{(NAME=logical_file_name,FILENAME=’os_file_name’[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=growth_increment])}[,...n]COLLATEcollation_name指定建立數(shù)據(jù)庫的日志文件指定數(shù)據(jù)庫的缺省排序方式包含控制語言或字母表用法的規(guī)則17CREATEDATABASEMy_DBONPRIMARY(NAME=My_DBData,FILENAME=’C:\My_DB

.mdf’,SIZE=10MB,MAXSIZE=30MB,FILEGROWTH=2MB)例:在C盤根目錄下創(chuàng)建名為My_DB的數(shù)據(jù)庫,其主文件大小為10MB,最大大小為30MB,日志文件大小為10MB。18LOGON(NAME=My_DB

Log,FILENAME=’C:\My_DB.ldf’,SIZE=10MB,MAXSIZE=20MB,FILEGROWTH=25%)COLLATEChinese_PRC_CI_AS19

2.2.3事務日志

每個

SQLServer2005數(shù)據(jù)庫必須都具有事務日志。事務日志是數(shù)據(jù)庫的一個重要組件,如果系統(tǒng)出現(xiàn)故障,它將成為最新數(shù)據(jù)庫的唯一來源前面的例子,創(chuàng)建數(shù)據(jù)庫時指定了一個日志文件事務日志是數(shù)據(jù)庫中已發(fā)生的所有修改和執(zhí)行每次修改的事務的一連串記錄。事務日志記錄每個事務的開始。20

事務日志支持的操作

恢復個別事務SQLServer啟動時恢復所有未完成的事務將還原的數(shù)據(jù)庫、文件、文件組或頁前滾到故障點212.2.4查看數(shù)據(jù)庫信息(1)圖形化界面查看數(shù)據(jù)庫信息

演示22(2)T-SQL命令查看數(shù)據(jù)庫信息

在T-SQL中,常用的:

函數(shù)DATABASEPROPERTYEX或系統(tǒng)存儲過程sp_helpdb來顯示數(shù)據(jù)庫和數(shù)據(jù)庫參數(shù)的有關信息23使用函數(shù)DATABASEPROPERTYEX的語法為:SELECTDATABASEPROPERTYEX

(database,property)其中:Database:需要查看的數(shù)據(jù)庫的名稱Property:數(shù)據(jù)庫的屬性使用系統(tǒng)存儲過程sp_helpdb的語法為:EXECsp_helpdbdatabase_name24例:分別用函數(shù)DATABASEPROPERTYEX和系統(tǒng)存儲過程sp_helpdb兩種方法來查看數(shù)據(jù)庫My_DB的屬性SELECTDATABASEPROPERTYEX(’My_DB’,’Collation’)goEXECsp_helpdb‘My_DB’go 252.3管理數(shù)據(jù)庫

打開數(shù)據(jù)庫增加數(shù)據(jù)庫容量查看及修改數(shù)據(jù)庫選項縮減數(shù)據(jù)庫容量更改數(shù)據(jù)庫名稱查看數(shù)據(jù)庫個數(shù)

刪除數(shù)據(jù)庫26打開數(shù)據(jù)庫:usedatabase_name

在連接SQLServer時,假如沒有預先指定用戶連上哪個數(shù)據(jù)庫,系統(tǒng)會自動連上master數(shù)據(jù)庫,此時要防止由于用戶操作不當而造成master數(shù)據(jù)庫的破壞2.3.1打開數(shù)據(jù)庫27(1)用T-SQL命令擴增數(shù)據(jù)庫容量使用權限默認為dbo(數(shù)據(jù)庫擁有者)擴增數(shù)據(jù)庫命令語句如下:ALTERDATABASEdatabase_nameMODIFYFILE(NAME=file_name,SIZE=newsize)要擴容的數(shù)據(jù)庫要擴容的數(shù)據(jù)庫文件為該文件指定新容量2.3.2增加數(shù)據(jù)庫容量28例:數(shù)據(jù)庫文件My_DBData的初始分配空間大小為10MB,指派給my_DB數(shù)據(jù)庫使用,現(xiàn)在想將其大小擴充至20MB,則具體操作命令如下:USEMy_DBgoALTERDATABASEMy_DBMODIFYFILE{NAME=My_DBData,SIZE=20MB}29(2)通過圖形化界面增加容量演示302.3.3查看及修改數(shù)據(jù)庫選項(1)T-SQL界面查看用sp_options系統(tǒng)存儲程序查看:Execsp_dboption’master’go31(2)用圖形化界面查看及修改選項演示

32(3)用T-SQL命令更改數(shù)據(jù)庫選項更改命令如下(使用權限:sa,dbo):sp_dboption[dname,optname,{true|false}]其中:dname:想操作的數(shù)據(jù)庫名稱Optname:欲更改的數(shù)據(jù)庫選項true,false:設定數(shù)據(jù)庫選項的值例:更改My_DB為只讀狀態(tài)Execsp_dboption’My_DB’,’readonly’,truego332.3.4縮減數(shù)據(jù)庫容量

用戶可以通過縮減數(shù)據(jù)庫容量來節(jié)省設備空間的浪費,其操作也可以通過T-SQL命令和圖形化方式來完成34執(zhí)行DBCCSHRINKDN命令來完成,但在此之前需用sp_dboption命令,將想縮減容量的數(shù)據(jù)庫設定為單用戶模式縮減數(shù)據(jù)庫容量命令語句:DBCCSHRINKDATABASE( database_name [,new_size [,’MASTEROVERRIDE’] ])(1)用T-SQL命令想縮減的數(shù)據(jù)庫數(shù)據(jù)庫剩下的容量縮減master系統(tǒng)數(shù)據(jù)庫默認權限為sa,dbo35例:縮減My_DB數(shù)據(jù)庫的容量Execsp_dboption‘My_DB’,’single

user’,truegouseMy_DBgoDBCCSHRINKDATABASE(‘My_DB’)goexecsp_dboption‘My_DB’,’single

user’,falsego36(2)通過圖形化界面操作演示

372.3.5更改數(shù)據(jù)庫名稱

通過T-SQL命令更改名稱語句如下:sp_renamedb

OldName,NewName使用權限:僅sa可以更改數(shù)據(jù)庫名稱例:更改數(shù)據(jù)庫“My_DB”名稱為

“tsinghua”Execsp_renamedb’My_DB’,’tsing

hua’Go382.3.6查看數(shù)據(jù)庫數(shù)量

在SQL查詢分析器中執(zhí)行如下命令:USEmastergoSELECTNAMEFROM

sys.sysdatabases返回結(jié)果:MasterTempdbModelMsdbPubsNorthwindLinguistics392.3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論