當前位置首頁 > 計算機 > 數(shù)據(jù)庫/結(jié)構(gòu)與算法
搜柄,搜必應(yīng)! 快速導(dǎo)航 | 使用教程

數(shù)據(jù)庫的創(chuàng)建與使用

文檔格式:PPT| 50 頁|大小 163.50KB|積分 10|2024-12-12 發(fā)布|文檔ID:253379743
第1頁
第2頁
第3頁
下載文檔到電腦,查找使用更方便 還剩頁未讀,繼續(xù)閱讀>>
1 / 50
此文檔下載收益歸作者所有 下載文檔
  • 版權(quán)提示
  • 文本預(yù)覽
  • 常見問題
  • 單擊此處編輯母版標題樣式,,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,第五級,,*,*,*,,,第,5,章 數(shù)據(jù)庫的創(chuàng)建與使用,,,,5.1 SQL Server,數(shù)據(jù)庫的結(jié)構(gòu),,1.,邏輯數(shù)據(jù)庫,(,數(shù)據(jù)庫對象,),,SQL Server,數(shù)據(jù)庫是存儲數(shù)據(jù)的容器,是一個存放數(shù)據(jù)的表和支持這些數(shù)據(jù)的存儲、檢索、安全性和完整性的邏輯成分所組成的集合數(shù)據(jù)庫對象,說明,表,由行和列構(gòu)成的集合,用來存儲數(shù)據(jù),數(shù)據(jù)類型,定義列或變量的數(shù)據(jù)類型,,SQL Server,提供了系統(tǒng)數(shù)據(jù)類型,并允許用戶自定義數(shù)據(jù)類型,視圖,由表或其他視圖導(dǎo)出的虛擬表,索引,為快速檢索提供支持且可以保證數(shù)據(jù)唯一性的輔助數(shù)據(jù)結(jié)構(gòu),約束,用于為表中的列定義完整性的規(guī)則,用戶,該數(shù)據(jù)庫中所有能使用的用戶信息,存儲過程,存放于服務(wù)器的預(yù)先編譯好的一組,T-SQL,語句,觸發(fā)器,特殊的存儲過程,當數(shù)據(jù)改變時,該存儲過程被自動執(zhí)行,2.,物理數(shù)據(jù)庫(數(shù)據(jù)庫文件),主數(shù)據(jù)文件,(,Primary Database File,):,擴展名為,.,mdf,,,是數(shù)據(jù)庫的,起點,,并指向其他文件,每個數(shù)據(jù)庫只有一個主文件次文件,(,Secondary Database File):,.,ndf,,,是主文件的輔助文件,可以在不同的磁盤上創(chuàng)建數(shù)據(jù)庫文件,以提高處理效率,,,當主文件的大小超過操作系統(tǒng)的限制時,,,必須使用次文件。

    事務(wù)日志文件,(Log),:,.,ldf,,,用于存儲數(shù)據(jù)庫的更新情況等事務(wù)日志信息如,insert, delete, update,操作都會記錄在案通常,,,這三個文件都在,SQL,的,Data,文件夾中,SQL Server,事務(wù)日志,SQL Server,事務(wù)日志存儲數(shù)據(jù)庫的更新情況等事務(wù)日志信息,,,當數(shù)據(jù)庫損壞時,管理員使用事務(wù)日志恢復(fù)數(shù)據(jù)庫每一個數(shù)據(jù)庫至少必須擁有一個事務(wù)日志文件,而且允許擁有多個日志文件SQL Server,事務(wù)日志采用提前寫入的方式,事務(wù)日志的工作方式,,應(yīng)用程序發(fā)送更改請求,1,磁盤,將更改記錄在磁盤上的事務(wù),,日志中,3,定位數(shù)據(jù)頁,將其讀入緩存中,,并進行更改,2,緩存,磁盤,檢查點進程將已提交,,的事務(wù)寫入數(shù)據(jù)庫,4,3.,數(shù)據(jù)庫文件組,為了便于分配和管理,,SQL Server,允許將多個,數(shù)據(jù)文件,歸為一組,,,并賦予一個名稱,,,即文件組,.,,文件組有兩種,:,,主文件組,:,,包含主數(shù)據(jù)文件和任何其他不屬于另一個文件組的文件,,,系統(tǒng)表都包含在主文件組中,.,,用戶定義文件組,:,,在語句中使用關(guān)鍵字,filegroup,指定文件組,存儲結(jié)構(gòu)示意圖,,數(shù)據(jù)庫對象,:,表,索引,視圖,觸發(fā)器,存儲過程,約束,用戶,圖表,多個次文件,.ndf,日志文件,.ldf,主文件,,.mdf,主文件組 次文件組,D,D,E,C,一個文件只能屬于一個文件組,;,一個文件組也只能被一個數(shù)據(jù)庫使用,;,日志文件不屬于任何文件組,.,1,2,,,文件組的好處,:,可以改善數(shù)據(jù)庫的查詢性能,.,,,,如:可以,將數(shù)據(jù)文件,data1.mdf,、,data2.ndf,和,data3.ndf,分別創(chuàng)建在三個盤上,這三個文件組成文件組,fgroup1,,在創(chuàng)建表的時候,就可以指定一個表創(chuàng)建在文件組,fgroup1,上。

    這樣該表的數(shù)據(jù)就可以分布在三個盤上,在對該表執(zhí)行查詢時,可以并行操作,大大提高了查詢效率,5.1.2,數(shù)據(jù)庫存儲結(jié)構(gòu),--,邏輯對象與物理存儲的關(guān)系,數(shù)據(jù)庫中的物理存儲單位是頁面和盤區(qū),可用于估算數(shù)據(jù)所占用的空間頁面,:是數(shù)據(jù)庫中,使用的最小數(shù)據(jù)單元,,占,8K,字節(jié),用于存儲數(shù)據(jù),如數(shù)據(jù)表的一行或若干行,一行不允許跨頁面盤區(qū),:是,SQL Server,創(chuàng)建,數(shù)據(jù)邏輯對象時使用的,分配單位,,有,8,個頁面,64K,,若新建一個數(shù)據(jù)庫中創(chuàng)建了一個表、兩個索引,在表中有一條記錄,則總共占用,3X64K=192K,的空間數(shù)據(jù)的存儲方式,擴展盤區(qū),(,8,個連續(xù)頁,每頁,8 KB,),數(shù)據(jù)頁,(,8 KB,),表,索引,,數(shù)據(jù)庫,數(shù)據(jù)(文件),,.,mdf,,或,.,ndf,日志(文件),,.,ldf,行的最大容量,,= 8060,字節(jié),即,數(shù)據(jù)庫是這樣的數(shù)據(jù)結(jié)構(gòu):一個數(shù)據(jù)庫是由若干文件組成,一個文件由若干盤區(qū)組成,一個盤區(qū)有,8,個頁面SQL Server,的數(shù)據(jù)庫結(jié)構(gòu)小結(jié),邏輯,存儲結(jié)構(gòu)(,數(shù)據(jù)庫對象,)指的是數(shù)據(jù)庫是由,哪些性質(zhì)的信息,所組成,,SQL Server,的數(shù)據(jù)庫不僅僅只是數(shù)據(jù)的存儲,所有與數(shù)據(jù)處理操作相關(guān)的信息都存儲在數(shù)據(jù)庫中。

    數(shù)據(jù)庫對象如表,索引,視圖,觸發(fā)器,存儲過程,約束,用戶,圖表等,.,,物理,存儲結(jié)構(gòu)(,數(shù)據(jù)庫文件,)則是討論數(shù)據(jù)庫文件是,如何在磁盤上存儲的,,數(shù)據(jù)庫在磁盤上是以文件為單位存儲的,由數(shù)據(jù)庫文件和事務(wù)日志文件組成,一個數(shù)據(jù)庫至少應(yīng)該包含一個數(shù)據(jù)庫文件和一個事務(wù)日志文件5.1.3,Sql,server,系統(tǒng)數(shù)據(jù)庫與系統(tǒng)表,系統(tǒng)數(shù)據(jù)庫,用戶數(shù)據(jù)庫,,master,model,tempdb,msdb,pubs,Northwind,User1,distribution,,Sql,server,數(shù)據(jù)庫的類型,1.SQL Server,系統(tǒng)數(shù)據(jù)庫簡介,,SQL Server,主要有,4,個,系統(tǒng)數(shù)據(jù)庫,,1.,Master,數(shù)據(jù)庫是,SQL Server,系統(tǒng)最重要的數(shù)據(jù)庫,它記錄了,SQL Server,系統(tǒng)的所有系統(tǒng)信息這些系統(tǒng)信息包括所有的登錄信息、系統(tǒng)設(shè)置信息、,SQL Server,的初始化信息和其它系統(tǒng)數(shù)據(jù)庫及用戶數(shù)據(jù)庫的相關(guān)信息2.,Model,數(shù)據(jù)庫是所有用戶數(shù)據(jù)庫和,Tempdb,數(shù)據(jù)庫的模板數(shù)據(jù)庫,它,含有,Master,數(shù)據(jù)庫,所有,系統(tǒng)表的子集,,這些系統(tǒng)表是每個用戶定義數(shù)據(jù)庫需要的。

    3.,Msdb,數(shù)據(jù)庫是代理服務(wù)數(shù)據(jù)庫,為其警報、任務(wù)調(diào)度和記錄操作員的操作提供存儲空間4.,Tempdb,是一個臨時數(shù)據(jù)庫,它為所有的臨時表、臨時存儲過程及其它臨時操作提供存儲空間每次啟動,SQL Server,時都會清空Pubs,和,Northwind,數(shù)據(jù)庫是示例數(shù)據(jù)庫,它們可以作為,SQL Server,的學習工具Sql,server,數(shù)據(jù)表的分類,系統(tǒng)表,用戶表,sys…,,,sys…,,,sysusers,,,sysobjects,,,…,,,Orders,,,Customers,,,Products,,,在,SQL Server,中,每個數(shù)據(jù)庫中最多可以創(chuàng)建,200,萬個表,用戶創(chuàng)建的數(shù)據(jù)庫表中,最多可以定義,1024,列(字段)系統(tǒng)表,DBMS,的整個環(huán)境也是一個需要管理的環(huán)境,它自己也有很多數(shù)據(jù)和信息,也儲存在一些表中,這些表就是系統(tǒng)表存儲與,整個系統(tǒng)有關(guān),的系統(tǒng)表,----,構(gòu)成,系統(tǒng)目錄,,只存儲在,master,數(shù)據(jù)庫中,如:,,Syslogins,(登錄信息)、,sysmessages,(各種消息內(nèi)容),,存儲,當前數(shù)據(jù)庫,的系統(tǒng)表,----,構(gòu)成,數(shù)據(jù)庫目錄,,每個數(shù)據(jù)庫(包括,master,數(shù)據(jù)庫)都有,如:,,Sysusers,(用戶信息)、,sysobjects,(對象信息),,SQL Server,經(jīng)常訪問這些目錄,檢索運行所需的必要信息。

    幾個重要的系統(tǒng)表,,系統(tǒng)目錄,中的系統(tǒng)表(在,master,數(shù)據(jù)庫中):,,syslogins,:包含所有的用戶帳戶信息,包括名字、口令和配置信息sysmessages,:包含所有,SQL S,erver,,可用的系統(tǒng)錯誤消息sysservers,:包含本地服務(wù)器和遠程服務(wù)器的信息sysdatabases,:包含服務(wù)器上所擁有的所有數(shù)據(jù)庫有關(guān)信息對,SQL Server,系統(tǒng)上的每個系統(tǒng)數(shù)據(jù)庫和用戶自定義的數(shù)據(jù)庫含有一行記錄sysusers,:,,它對整個數(shù)據(jù)庫中的每個,Windows NT,用戶、,Windows NT,用戶組、,SQL Server,用戶或者,SQL Server,角色含有一行記錄數(shù)據(jù)庫目錄,中的系統(tǒng)表(在各個數(shù)據(jù)庫中都有),,,sysusers,:,它對,數(shù)據(jù)庫中每一個有權(quán)限訪問數(shù)據(jù)庫的用戶都對應(yīng)一行記錄sysfilegroups,:,數(shù)據(jù)庫中每個文件組的信息sysconstraints,:,數(shù)據(jù)庫中所有約束的信息sysprotects,:,數(shù)據(jù)庫中用戶對于對象所有的權(quán)限的信息sysobjects,:,它對,數(shù)據(jù)庫中,每個數(shù)據(jù)庫對象含有一行記錄syscolumns,:,它對基表或者視圖的每個列和存儲過程中的每個參數(shù)含有一行記錄。

    sysindexes,:,它對每個索引和沒有聚簇索引的每個表含有一行記錄,它還對包括文本,/,圖像數(shù)據(jù)的每個表含有一行記錄Compact Edition,,SQL Server Compact Edition,也不是一個新東西,它的前身是,SQL Server Mobile Edition 2.0,主要是為嵌入式系統(tǒng)和智能設(shè)備提供本地數(shù)據(jù)存儲的引擎與,SQL Server,其它版本相比,它最大的不同是它不是作為一個服務(wù)存在的,而是一種輕量級的,依附在應(yīng)用程序進程內(nèi)的數(shù)據(jù)庫引擎SQL Server Express Edition,一定需要通過,MS,提供的安裝包安裝;,Compact Edition,可以通過安裝包安裝,也可以將支持文件集成到應(yīng)用程序的安裝包中,因為非常小,才,10,來個文件,,2M,都不到5.2,界面方法創(chuàng)建和管理數(shù)據(jù)庫,5.2.1,創(chuàng)建數(shù)據(jù)庫,,創(chuàng)建數(shù)據(jù)庫需要一定許可,在默認情況下,只有系統(tǒng)管理員和擁有數(shù)據(jù)庫創(chuàng)建權(quán)限的人才可以創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)庫被創(chuàng)建后,創(chuàng)建數(shù)據(jù)庫的用戶自動成為該數(shù)據(jù)庫的所有者,dbo,創(chuàng)建數(shù)據(jù)庫的過程實際上就是為數(shù)據(jù)庫設(shè)計名稱、設(shè)計所占用的存儲空間和存放文件位置的過程等。

    幾種方法:,,通過管理平臺創(chuàng)建數(shù)據(jù)庫,,使用,Transact-SQL,語言創(chuàng)建數(shù)據(jù)庫一、通過管理平臺創(chuàng)建數(shù)據(jù)庫步驟:,,,(1),啟動,SQL Server,管理平臺,,(2),展開服務(wù)器,右擊,【,數(shù)據(jù)庫,】,快捷菜單選擇,【,新建數(shù)據(jù)庫,】,,彈出,【,數(shù)據(jù)庫屬性,】,窗口3),在,【,數(shù)據(jù)庫屬性,】,窗口中選,【,常規(guī),】,選項卡,在,【,名稱,】,欄中輸入數(shù)據(jù)庫的名稱4),選擇,【,數(shù)據(jù)文件,】,選項卡,指定數(shù)據(jù)庫文件名稱及存儲位置,設(shè)置其他屬性5),選擇,【,事務(wù)日志,】,選項卡,指定事務(wù)日志文件名稱及保存位置,并可以設(shè)置日志文件的初始大小、增長方式6),設(shè)置完成之后,單擊,【,確定,】,按鈕完成,通過管理平臺創(chuàng)建數(shù)據(jù)庫,關(guān)于數(shù)據(jù)庫的默認存儲位置,:,,主數(shù)據(jù)文件默認存儲位置和文件如下:,,,SQL Server,根目錄,\data\,數(shù)據(jù)庫名,.MDF,,日志文件的默認存儲位置和文件如下:,,,SQL Server,根目錄,\data\,數(shù)據(jù)庫名,_,Log.LDF,,,選擇“數(shù)據(jù)文件”和“事務(wù)日志”兩個標簽欄,顯示系統(tǒng)的默認設(shè)置,用戶可以更改這兩個文件的存放位置和文件名,。

    有關(guān)參數(shù)的默認值:,,對于新創(chuàng)建的數(shù)據(jù)庫,系統(tǒng)對默認值為:數(shù)據(jù)文件初始大小,3MB,,日志文件的初始大小,1MB,,最大大小不限制,而實際上僅受硬盤空間的限制,允許數(shù)據(jù)庫自動增長,增長方式為按,10%,比例增長;,注意:,SQL Server,中的數(shù)據(jù)和事務(wù)日志文件不能存放在壓縮文件系統(tǒng)或象共享網(wǎng)絡(luò)目錄等遠程的網(wǎng)絡(luò)驅(qū)動器上SQL Server,的文件擁有兩個名稱:,,邏輯名稱、物理文件名,,當使用,Transact-SQL,命令語句訪問某一個文件時,必須使用該文件的邏輯名,物理文件名是文件實際存儲在磁盤上的文件名,路徑是文件的完整磁盤目錄通過管理平臺創(chuàng)建數(shù)據(jù)庫舉例,【,例,】,創(chuàng)建數(shù)據(jù)庫,CJGL,,初始大小為,5MB,,最大大小,50MB,,數(shù)據(jù)庫自動增長,增長方式是按,10%,比例增長;日志文件初始為,2MB,,最大可增長到,5MB,(默認為不限制),按,1MB,增長(默認是按,10%,比例增長);所有者是,Administrator,以,Administrator,身份登錄計算機,并啟動,SQL Server,服務(wù)5.2.2,修改,數(shù)據(jù)庫,方法: “管理平臺”中在,該數(shù)據(jù)庫名上,點擊鼠標右鍵,選擇“,屬性,”。

    對已存在的數(shù)據(jù)庫可以進行的修改包括:,,增加或刪除數(shù)據(jù)文件,,增加或刪除日志文件,,增加或刪除文件組,,改變數(shù)據(jù)文件的大小和增長方式,(,只能小,?,大),,改變?nèi)罩疚募拇笮『驮鲩L方式,,注意: 修改時是不能改變邏輯名和物理名利用管理平臺修改數(shù)據(jù)庫,,(1),改變數(shù)據(jù)文件的大小和增長方式,(,只能小,?,大),【,例,1】,,將,CJGL,數(shù)據(jù)庫的主數(shù)據(jù)文件,CJGL.mdf,文件的最大尺寸由,50MB,修改為不限制2),增加數(shù)據(jù)文件,(,增加的只能是輔助數(shù)據(jù)文件,.,ndf,),【,例,2】,在,CJGL,數(shù)據(jù)庫中增加數(shù)據(jù)文件,CJGLBAK,,其屬性均取系統(tǒng)默認值操作方法:在“數(shù)據(jù)文件”選項卡點擊空白行,在“文件名”一欄中輸入數(shù)據(jù)文件名,并可設(shè)置文件的初始大小和增長屬性,利用管理平臺修改數(shù)據(jù)庫,,(3),刪除數(shù)據(jù)文件,【,例,3】,將,CJGL,數(shù)據(jù)庫中剛增加的輔助文件,CJGLBAK,刪除4),增加或刪除文件組,,【,例,4】,設(shè)要在數(shù)據(jù)庫,CJGL,中增加一個名為,FGroup,的文件組操作方法為:選擇“文件組”標簽欄,在,PRIMARY,行的下面一行輸入“,FGroup,”,文件組,單擊“確定”按鈕。

    關(guān)于默認的文件組,,數(shù)據(jù)庫建立時的默認文件組為主文件組,PRIMARY,,,未指定文件組的對象都將放到默認文件組中系統(tǒng)對象和系統(tǒng)表永遠保留在,PRIMARY,文件組內(nèi)可用,ALTER DATABASE,語句更改默認文件組,更改默認文件組可防止,用戶對象,與,系統(tǒng)對象,爭奪數(shù)據(jù)空間,,,調(diào)整主文件組中文件的大小,,若主文件組沒有空間,就不能往系統(tǒng)表中寫入任何信息,,在下列情況下,主文件組會填滿:,,關(guān)閉了自動增長選項,,在主文件組中的文件的所有磁盤空間耗盡解決辦法:,,重新打開自動增長,,將其它文件從磁盤上移走以釋放更多的空間5.2.3,,刪除,數(shù)據(jù)庫,【,例,】,利用管理平臺刪除,CJGL,數(shù)據(jù)庫在彈出的快捷菜單上選擇“刪除”,5.2.4,分離和附加數(shù)據(jù)庫,SQL Server,允許分離數(shù)據(jù)庫的數(shù)據(jù)和事務(wù)日志文件,然后將其重新附加到另一臺服務(wù)器,或者同一臺服務(wù)器上,,分離數(shù)據(jù)庫,,分離數(shù)據(jù)庫是將數(shù)據(jù)庫從,SQL Server,環(huán)境中移除,但是保持組成該數(shù)據(jù)庫的數(shù)據(jù)和事務(wù)日志文件中的數(shù)據(jù)庫完好無損,,分離數(shù)據(jù)庫要求沒有用戶正在使用數(shù)據(jù)庫,數(shù)據(jù)庫中沒有未完成的事務(wù),并且在內(nèi)存中沒有這個數(shù)據(jù)庫的未提交的數(shù)據(jù)(臟頁),,一旦數(shù)據(jù)庫被分離,其條目就從,master,數(shù)據(jù)庫的,sysdatabases,,表中被移除。

    從,SQL Server,的角度看,數(shù)據(jù)庫似乎被刪除了但是其物理文件仍然保存在磁盤上,分離和附加數(shù)據(jù)庫(續(xù)),附加數(shù)據(jù)庫,,當附加數(shù)據(jù)庫時,必須指定主數(shù)據(jù)文件,(,.,mdf,),的名稱和物理位置,,無論原來分離時數(shù)據(jù)庫的名稱是什么,在“附加為”處可以重新指定不同于原來的數(shù)據(jù)庫名 若附加的文件超過了,16,個,可使用,CREATE DATABASE,語句并指定,for attach,選項,,操作方法,,附加數(shù)據(jù)庫:,右鍵單擊“數(shù)據(jù)庫”,?,“,附加”,,分離數(shù)據(jù)庫:,指定數(shù)據(jù)庫右鍵單擊“任務(wù)”,?,,”分離 “,5.3,使用,T-SQL,(命令方式)創(chuàng)建和管理數(shù)據(jù)庫,5.3.1 T-SQL,語言簡介,,歷史,,SQL:,Struceured,Query,Languang,,1974,年,由,Boyce,和,Chamber,提出,,稱為,SEQUEL,語言,,1975-1979,年,由,IBM,的,San Jose,研究室研制,在,System R,上實現(xiàn)(吉姆,·,格雷,Jim Gray,主持),,,稱為,SEQUEL2,,即目前的,SQL,語言1982,年美國國家標準化組織,ANSI,確認,SQL,為數(shù)據(jù)庫系統(tǒng)的工業(yè)標準,現(xiàn)在許多關(guān)系型數(shù)據(jù)庫供應(yīng)商都在自己的數(shù)據(jù)庫中支持,SQL,語言,有關(guān)標準化,有關(guān)組織,,ANSI (American Natural Standard Institute),,ISO (International Organization for Standardization),,有關(guān)標準,,ANSI SQL-86,,ANSI SQL-89,:增加了對完整性約束的支持,,ISO SQL-92,(,SQL2,):增加了許多新特性,如新的數(shù)據(jù)類型,更豐富的數(shù)據(jù)操作,更強的完整性、安全性支持等。

    ISO SQL-99,(,SQL3,):增加對面向?qū)ο竽P偷闹С?,ISO SQL-2003,新的標準,1,.,T-SQL,簡介,Transact SQL,是微軟對,ANSI SQL-99,標準的擴展,是,SQL Server,的核心,它擴展的主要功能是:加入了程序的控制結(jié)構(gòu),如,IF…ELSE,、,WHILE,語句等;加入了局部變量和全局變量等利用,Transact SQL,可以編寫出復(fù)雜的查詢語句,可以建立駐留在,SQL Server,上的數(shù)據(jù)庫對象,如觸發(fā)器、存儲過程等,,注意:如希望開發(fā)的程序具有更好的可移植性,那么應(yīng)盡量使用標準的,SQL,,否則就可考慮使用,Transact SQL,SQL,語言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,是一個綜合的、通用的、功能極強,同時又簡潔易學的語言T-SQL,語言由以下幾部分組成SQL,功能,動詞,數(shù)據(jù)定義,DDL,,(,Data Definition Language,),CREATE,,,DROP,,,ALTER,數(shù)據(jù)操縱,DML,,(Data Manipulation Language,),INSERT,,,UPDATE,,,DELETE,;,SELECT,數(shù)據(jù)控制,DCL,,(,Data Control Language,),GRANT,,,REVOKE,,DENY,其他的語言元素(如常量,變量,運算符,控制語句等),Transact-SQL,,語句,的功能分類,,數(shù)據(jù)查詢,DQL,,(,Data Query Language,),SELECT,2.,標識符,標識符,,,用來定義服務(wù)器、數(shù)據(jù)庫、數(shù)據(jù)庫對象和變量等的名稱,,標識符的命名規(guī)則,:,,首字符必須是其中之一,:,字母,,,漢字,, _ , @ , #,,以后可以是,:,字母,,,數(shù)字,, @, $, #, _,,不能是保留字,,,不區(qū)分大小寫,,,不允許有空格,,所有標識符長度為,128,。

    SQL Server,標識符有兩種,,常規(guī)標識符,:,嚴格遵守命名規(guī)則,.,,定界標識符,:,可以不遵守命名規(guī)則,使用雙引號“”或中括弧,[ ],括起來,如“,my table”, [ select],,SQL Server,規(guī)定,:,沒有使用定界符的標識符,,,一律按常規(guī)對待,.,3.,邏輯數(shù)據(jù)庫對象的 完全限定名與部分限定名,(,1,) 完全限定名:是對象的全名,,包括四個部分:,,服務(wù)器名、數(shù)據(jù)庫名、所有者名和對象名,,,其格式為:,,server. database. owner. Object,,,(,2,) 部分限定名,,使用全名往往很繁瑣且沒有必要,所以常省略其中的某些部分,對象全名的四個部分中的前三個部分均可以被省略,當省略中間的部分時,圓點符“,.”,不可省略對象名的有效格式可以是:,,server.database.owner.object,,server.database,. . object,,server . .,owner.object,,server. . .object,,database.owner.object,,database . . object,,owner . Object,,,如,:,以,sa,身份登錄服務(wù)器后,作以下查詢:,,SELECT * FROM,[WINXP-SP2].,學分制選課,.DBO.,學生信息,,SELECT * FROM GJL.dbo.TABLE1,,SELECT * FROM ABC. .TABLE1,,,說明:創(chuàng)建一個對象必須具有唯一合法的完全,限定,名(四部分合起來唯一),同一服務(wù)器數(shù)據(jù)庫不能重名,同一所有者的對象名(表,視圖,存儲過程等)不能重名。

    在部分限定名中,未指出的部分使用以下默認值:,,服務(wù)器名稱默認為本地服務(wù)器上的當前實例,,數(shù)據(jù)庫名稱默認為當前數(shù)據(jù)庫,,所有者名稱默認為指定數(shù)據(jù)庫中與當前連接的登錄賬戶相關(guān)聯(lián)的用戶名,,或者數(shù)據(jù)庫所有者(,dbo,)4.,語法格式約定,約定,用于,|,(豎線),分隔的語法項,多選一表示只能使用括號或大括號中的其中一項[ ],(方括號),可選語法項不要鍵入方括號{ },(大括號),必選語法項不要鍵入大括號[,,...,n,],指示前面的項可以重復(fù),n,,次各項之間以逗號分隔[...,n,],指示前面的項可以重復(fù),n,,次每一項由空格分隔<,標簽,,> ::=,語法塊的名稱用于對在語句中多個位置上使用的過長語法段或語法單元進行分組和標記5.3.2,使用,T-SQL,(命令方式)創(chuàng)建數(shù)據(jù)庫,語法格式:,,CREATE DATABASE,database_name,,,[ ON /*,指定數(shù)據(jù)文件和文件組屬性*,/ ???? [ <,filespec,> [,,,...n ] ],,[,,,<,filegroup,> [,,,...n ] ],,/*,必須先有主文件組,PRIMARY*/,,],,[ LOG ON { <,filespec,> [,,,...n ] } ],,/*,指定日志文件屬性*,/,,[ COLLATE,collation_name,],,[ FOR LOAD | FOR ATTACH ],,,<,filespec,> ::=,,[ PRIMARY ],,( [ NAME =,logical_file_name,, ],,FILENAME = ',os_file_name,' ?? ??[ , SIZE = size ] ???? [ , MAXSIZE = {,max_size,| UNLIMITED } ] ??? ?[ , FILEGROWTH =,growth_increment,],,),,<,filegroup,> ::=,,FILEGROUP,filegroup_name,<,filespec,>,,5.3.2,使用,CREATE DATABASE,創(chuàng)建數(shù)據(jù)庫,【,例,5.2】,創(chuàng)建一個名為,CJGL,的數(shù)據(jù)庫,其初始大小為,5MB,,最大大小,50MB,,允許數(shù)據(jù)庫自動增長,增長方式是按,10%,比例增長;日志文件初始為,2MB,,最大可增長到,5MB,,按,1MB,增長。

    假設(shè),SQL Server,服務(wù)已啟動,并以,Administrator,身份登錄計算機5.3.2,使用,CREATE DATABASE,創(chuàng)建數(shù)據(jù)庫,在,T-SQL,語句輸入窗口中輸入如下語句:,,CREATE DATABASE CJGL,,ON,,( NAME=',CJGL_Data,',,,FILENAME=',e:\sql\CJGL.mdf,',,,SIZE=5MB,,,MAXSIZE=50MB,,,FILEGROWTH=10%,,),,LOG ON,,( NAME=',CJGL_Log,',,,FILENAME=',e:\sql\CJGL_Log.ldf,',,,SIZE=2MB,,,MAXSIZE=5MB,,,FILEGROWTH=1MB,,),,GO,主文件組名,PRIMARY,可以省略,在數(shù)據(jù)文件結(jié)束時無逗號,在右括號前無逗號,不宜為根部,即,e:\CJGL.mdf,5.3.1,使用,CREATE DATABASE,創(chuàng)建數(shù)據(jù)庫,【,例,】,創(chuàng)建,TEST1,的數(shù)據(jù)庫CREATE DATABASE TEST1,,ON,,( NAME = ‘TEST1_data’,,,FILENAME = ‘e:\sql\t1.mdf’,,),,GO,此處,日志文件沒有特別指定,而是使用默認方式創(chuàng)建,【,例,5.3】,,創(chuàng)建一個名為,TEST2,的數(shù)據(jù)庫,它有三個數(shù)據(jù)文件,其中主數(shù)據(jù)文件為,100MB,,最大大小為,200MB,,按,20MB,增長;,2,個輔數(shù)據(jù)文件為,20MB,,最大大小不限,按,10%,增長;有,2,個日志文件,大小均為,50MB,,最大大小均為,100MB,,按,10MB,增長。

    CREATE DATABASE TEST2,,ON PRIMARY,,( NAME = 'TEST2_data1',,,FILENAME = 'e:\sql\test2_data1.mdf',,,SIZE = 100MB,,,MAXSIZE = 200MB,,,FILEGROWTH = 20MB,,),,,( NAME = 'TEST2_data2',,,FILENAME = 'e:\sql\test2_data2.ndf',,,SIZE = 20MB,,,MAXSIZE = UNLIMITED,,,FILEGROWTH = 10%,,),,此處加上,filegroup,,secfg,,就可以自定義一個文件組,secfg,,(,,NAME = 'TEST2_data3',,,FILENAME = 'e:\sql\test2_data3.ndf',,,SIZE = 20MB,,,MAXSIZE = UNLIMITED,,,FILEGROWTH = 10%,,),,LOG ON,,( NAME = 'TEST2_log1',,,FILENAME = 'e:\sql\test2_log1.ldf',,,SIZE = 50MB,,,MAXSIZE = 100MB,,,FILEGROWTH = 10MB,,),,,( NAME = 'TEST2_log2',,,FILENAME = 'e:\sql\test2_log2.ldf',,,SIZE = 50MB,,,MAXSIZE = 100MB,,,FILEGROWTH = 10MB,,),,GO,創(chuàng)建,多文件組,數(shù)據(jù)庫舉例,Create database sales,,On primary,,(name=spri1_dat,,,Filename=,'e:\,spri1dat.mdf,',,,,Size=10,maxsize=50,filegrowth=15%),,,(name=spri2_dat,,,Filename=,'e:\,spri2dat.ndf,',,,,Size=10,maxsize=50,filegrowth=15%),,,,Filegroup,salesgroup1,,(name=sgrp1fi1_dat,,,Filename=,'e:\,sgrp1fi1_dat.ndf,',,,,Size=10,maxsize=50,filegrowth=5),,,(name=sgrp1fi2_dat,,,Filename=,'e:\,sgrp1fi2_dat.ndf,',,,,Size=10,maxsize=50,filegrowth=5),,Log on,,(name=,sale_log,,,,Filename=,',e:\,salelog.ldf,',,,,Size=5,maxsize=25,filegrowth=5),。

    點擊閱讀更多內(nèi)容
    最新文檔
    傳統(tǒng)文化道德不是高懸的明月而是腳下的星光.pptx
    世界無煙日關(guān)注青少年成長健康無煙為成長護航.pptx
    五四青年節(jié)詩詞贊歌五四青年自強不息.pptx
    XX學校班主任培訓(xùn)用心管理慧做班主任.pptx
    拒絕熬夜健康養(yǎng)生規(guī)律作息遠離亞健康.pptx
    兒童成長手冊時光里的童真印記.pptx
    幼兒園夏季傳染病預(yù)防指南預(yù)見夏天健康童行夏季傳染病預(yù)防科普.pptx
    高中生心理健康教育主題班會快樂學習高效學習正視壓力學會減壓.pptx
    員工職業(yè)道德與職業(yè)素養(yǎng)培訓(xùn)遵守職業(yè)道德提高職業(yè)修養(yǎng).pptx
    2025職業(yè)病防治法宣傳周健康守護職防同行.pptx
    XX幼兒園防災(zāi)減災(zāi)安全教育臨災(zāi)不亂安全童行學會保護自己.pptx
    在2025年縣教育工作大會暨高考備考工作推進會上的講話發(fā)言材料.docx
    在2025年縣全面從嚴治黨和黨風廉政會議上的講話發(fā)言材料.docx
    在2025年全市慶?!拔逡弧濒邉趧幽7侗碚么髸系闹v話發(fā)言材料多篇.docx
    2025年稅務(wù)局青年代表在五四青年座談會上的發(fā)言材料3篇.docx
    在2025年市委全體會議上的主持講話發(fā)言材料.docx
    2025年黨風廉政建設(shè)工作要點材料.docx
    在2025年全市青年干部慶祝五四青年節(jié)大會上的講話發(fā)言材料多篇.docx
    在入黨積極分子培訓(xùn)班上的講話發(fā)言材料.docx
    縣文旅局黨組書記在五一假期及夏季旅游安全生產(chǎn)工作部署會議上的講話發(fā)言材料.docx
    賣家[上傳人]:無極劍圣
    資質(zhì):實名認證