




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
SQLServer實用案例教程(2008版)工程2數(shù)
據(jù)
庫SQLServer實用案例教程(2008版)1234主要內(nèi)容5需求分析知識點提取項目融合知識點詳解自我完善6知識點詳解SQLServer實用案例教程(2008版)需求分析SQLServer程序環(huán)境準(zhǔn)備好之后,對數(shù)據(jù)庫的操作就可以開始了。本工程將為“商品銷售管理系統(tǒng)”設(shè)計和創(chuàng)立“商品管理數(shù)據(jù)庫”。要為系統(tǒng)創(chuàng)立合理的數(shù)據(jù)庫,首先必須對用戶對系統(tǒng)的需求做合理的了解和分析。通過調(diào)研了解到“商品管理數(shù)據(jù)庫”適用于小型超市日常商品進銷存管理。要合理的設(shè)計和創(chuàng)立數(shù)據(jù)庫,首先需要了解SQLServer管理系統(tǒng)中數(shù)據(jù)庫文件的構(gòu)成,了解數(shù)據(jù)庫設(shè)計的幾個階段,合理的使用“管理器”和T-SQL語言創(chuàng)立和管理數(shù)據(jù)庫。SQLServer實用案例教程(2008版)知識點提取按照設(shè)計和創(chuàng)立數(shù)據(jù)庫的根本步驟,需要掌握的知識點如下:了解數(shù)據(jù)庫文件的組成理解設(shè)計數(shù)據(jù)庫的方法掌握使用管理器創(chuàng)立和管理數(shù)據(jù)庫掌握使用T-SQL語言創(chuàng)立和管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)知識點詳解
2.1數(shù)據(jù)庫根底2.2設(shè)計數(shù)據(jù)庫2.3創(chuàng)立數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4管理數(shù)據(jù)庫
2.1數(shù)據(jù)庫基礎(chǔ)成功連接到效勞器之后,在“對象資源管理器中”依次展開“效勞器”節(jié)點、“數(shù)據(jù)庫”節(jié)點和“系統(tǒng)數(shù)據(jù)庫”節(jié)點,如圖2-1所示。SQLServer為我們提供了4個系統(tǒng)級別的數(shù)據(jù)庫,下面做簡單介紹。master數(shù)據(jù)庫:記錄SQLServer系統(tǒng)所有系統(tǒng)級別信息,包括初始化信息、登錄賬戶信息、系統(tǒng)配置信息和其它數(shù)據(jù)庫的存儲位置等。model數(shù)據(jù)庫:是系統(tǒng)中創(chuàng)立數(shù)據(jù)庫的模板。msdb數(shù)據(jù)庫:為SQLServer代理程序調(diào)度報警和作業(yè)以及記錄操作員時使用。tempdb數(shù)據(jù)庫:保存所有臨時表和臨時存儲過程以及其它臨時存儲要求。tempdb數(shù)據(jù)庫在SQLServer系統(tǒng)斷開連接時清空,在每次啟動時重新創(chuàng)立。SQLServer實用案例教程(2008版)2.1.1系統(tǒng)數(shù)據(jù)庫2.1數(shù)據(jù)庫基礎(chǔ)SQLServer實用案例教程(2008版)2.1.1系統(tǒng)數(shù)據(jù)庫用戶創(chuàng)立的數(shù)據(jù)庫與“系統(tǒng)數(shù)據(jù)庫”屬于同一級別節(jié)點,如圖2-2所示,“AA”數(shù)據(jù)庫是已創(chuàng)立的用戶自定義數(shù)據(jù)庫。展開“AA”數(shù)據(jù)庫可以觀察到,數(shù)據(jù)庫是用來存放表、視圖、存儲過程等數(shù)據(jù)庫對象的存儲單元。因此,要管理數(shù)據(jù)庫中的對象,首先要創(chuàng)立數(shù)據(jù)庫。圖2-1系統(tǒng)數(shù)據(jù)庫圖2-2用戶自定義“AA”數(shù)據(jù)庫2.1數(shù)據(jù)庫基礎(chǔ)SQLServer實用案例教程(2008版)2.1.2構(gòu)成數(shù)據(jù)庫的文件
正如一個完整的模型需要多個不同功能的部件組成。數(shù)據(jù)庫也是由多個不同功能的數(shù)據(jù)文件構(gòu)成的。數(shù)據(jù)庫也正是以不同類型文件的形式存儲在計算機磁盤上。構(gòu)成數(shù)據(jù)庫的文件按照作用不同,可分為以下三種類型:主數(shù)據(jù)文件〔.mdf〕:每個數(shù)據(jù)庫有且只能有一個主數(shù)據(jù)文件。用來存儲數(shù)據(jù)庫中的數(shù)據(jù)和對數(shù)據(jù)庫的操作信息。次要數(shù)據(jù)文件〔.ndf〕:每個數(shù)據(jù)庫中可以沒有次要數(shù)據(jù)文件,也可以根據(jù)需要創(chuàng)立一個或者多個次要數(shù)據(jù)文件。主要用來存儲數(shù)據(jù)庫中的數(shù)據(jù),和主數(shù)據(jù)文件一同構(gòu)成數(shù)據(jù)庫文件的數(shù)據(jù)庫容量。事務(wù)日志文件〔.ldf〕:每個數(shù)據(jù)至少有一個日志文件。用來記錄對數(shù)據(jù)庫和數(shù)據(jù)庫中數(shù)據(jù)的增刪改等管理操作。當(dāng)操作失誤或數(shù)據(jù)被破壞時可以利用事務(wù)日志文件對操作或數(shù)據(jù)進行恢復(fù)。2.1數(shù)據(jù)庫基礎(chǔ)SQLServer實用案例教程(2008版)2.1.2構(gòu)成數(shù)據(jù)庫的文件
通過構(gòu)成數(shù)據(jù)庫的文件類型和數(shù)量可以看出,一個數(shù)據(jù)庫文件至少應(yīng)該包含一個擴展名為.mdf的主數(shù)據(jù)文件和一個擴展名為.ldf的事務(wù)日志文件。圖2-3中分別列出由不同數(shù)據(jù)文件構(gòu)成的兩個數(shù)據(jù)庫文件?!皩W(xué)生選課數(shù)據(jù)庫”由1個主數(shù)據(jù)文件,1個事務(wù)日志文件和1個次要數(shù)據(jù)文件構(gòu)成;“商品管理數(shù)據(jù)庫”由1個主數(shù)據(jù)文件和1個事務(wù)日志文件構(gòu)成。擴展名前面的是“系統(tǒng)文件名”,在創(chuàng)立數(shù)據(jù)庫時定義,用來識別數(shù)據(jù)庫文件。同時在創(chuàng)立時還會要求對每個文件給定一個“邏輯文件名”,這個文件名將被用于T-SQL語言編程。兩個文件名可以相同也可以不同。2.2數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫設(shè)計是指按需求分析規(guī)劃數(shù)據(jù)庫對象及對象之間關(guān)系的過程。良好的數(shù)據(jù)庫設(shè)計可以使數(shù)據(jù)更合理、包裝數(shù)據(jù)完整性、節(jié)省存儲空間、方便用戶查詢和應(yīng)用。越復(fù)雜的數(shù)據(jù)庫越需要詳細的數(shù)據(jù)庫設(shè)計。SQLServer實用案例教程(2008版)2.2數(shù)據(jù)庫設(shè)計對數(shù)據(jù)庫的設(shè)計可以按照以下六個階段進行。1.需求分析需求分析是設(shè)計數(shù)據(jù)庫的根底和起點。主要工作是通過詳細調(diào)查數(shù)據(jù)庫使用對象對數(shù)據(jù)庫中數(shù)據(jù)的需要和要求,比方用戶需要錄入什么樣的數(shù)據(jù),需要對數(shù)據(jù)做哪些操作等等,并對結(jié)果加以總結(jié)和分析。在需求分析過程中一定要明確用戶的目標(biāo),并與其保持一直,否那么可能導(dǎo)致整個數(shù)據(jù)庫設(shè)計的返工。2.概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計階段的主要工作是將需求分析中得來的數(shù)據(jù)做模型化處理。具體可以理解為通過設(shè)計E-R模型來實現(xiàn)概念結(jié)構(gòu)設(shè)計。這一步設(shè)計不依賴于計算機系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)。SQLServer實用案例教程(2008版)2.2.1數(shù)據(jù)庫的設(shè)計階段2.2數(shù)據(jù)庫設(shè)計3.邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計可以具體理解為將概念結(jié)構(gòu)設(shè)計階段設(shè)計的E-R模型,轉(zhuǎn)換成能夠供特定數(shù)據(jù)庫管理系統(tǒng)所使用的邏輯結(jié)構(gòu)模型〔對于SQLServer數(shù)據(jù)庫管理系統(tǒng)來說,這樣的邏輯結(jié)構(gòu)模型可以理解為二維表〕。同時需要對轉(zhuǎn)換后的邏輯模型〔二維表〕做符合需求分析和數(shù)據(jù)庫中表與表之間關(guān)系的標(biāo)準(zhǔn)化處理。4.物理設(shè)計物理設(shè)計可以具體理解為根據(jù)邏輯結(jié)構(gòu)設(shè)計得到的結(jié)果,確實的在數(shù)據(jù)庫管理系統(tǒng)上實施數(shù)據(jù)庫包括數(shù)據(jù)表的創(chuàng)立。SQLServer實用案例教程(2008版)2.2.1數(shù)據(jù)庫的設(shè)計階段2.2數(shù)據(jù)庫設(shè)計5.數(shù)據(jù)庫實施數(shù)據(jù)庫實施階段可以具體理解為,向根據(jù)物理設(shè)計得出的二維表中合理添加數(shù)據(jù),同時設(shè)計和調(diào)試滿足用戶需求的應(yīng)用程序。6.運行和維護這一階段可以需要記錄用戶使用數(shù)據(jù)庫系統(tǒng)的反響信息,利用這些信息來評價數(shù)據(jù)庫系統(tǒng)的性能,并適當(dāng)?shù)恼{(diào)整和提高數(shù)據(jù)庫系統(tǒng)的性能。SQLServer實用案例教程(2008版)2.2.1數(shù)據(jù)庫的設(shè)計階段2.2數(shù)據(jù)庫設(shè)計在概念結(jié)構(gòu)設(shè)計階段,通常使用E-R模型〔E-R圖〕來表示概念模型。E-R模型又稱為“實體-聯(lián)系”模型,圖2-4是一個簡單的E-R模型,構(gòu)成該模型的根本要素有實體、屬性和聯(lián)系。SQLServer實用案例教程(2008版)2.2.2E-R模型
2.2數(shù)據(jù)庫設(shè)計實體:客觀存在的事物稱之為實體。在E-R模型中用矩形框表示。圖2-4中包含“學(xué)生”和“課程”兩個實體。屬性:實體所具備的特性稱之為屬性。在E-R模型中用橢圓形表示。例如“學(xué)生”實體具備學(xué)號、姓名和班級這樣的屬性。聯(lián)系:實體與實體之間存在的關(guān)系稱之為聯(lián)系。在E-R模型中用菱形框表示。圖2-4中“選課”是“學(xué)生”實體和“課程”實體之間的聯(lián)系,聯(lián)系也可以具備屬性。實體間的聯(lián)系分為1對1〔1:1〕、1對多〔1:m〕和多對多〔m:n〕三種。圖2-4中“學(xué)生”和“課程”實體之間的練習(xí)就是多對多〔m:n〕,即一名同學(xué)可以選修過門課程,一門課程也可以被多名同學(xué)選修。SQLServer實用案例教程(2008版)2.2.2E-R模型
2.2數(shù)據(jù)庫設(shè)計
關(guān)系模型即二維表。如何將E-R模型轉(zhuǎn)換成關(guān)系模型是邏輯結(jié)構(gòu)設(shè)計的關(guān)鍵。通常將E-R模型中的每一個實體和每一個聯(lián)系轉(zhuǎn)換成一張二維表,實體和聯(lián)系的屬性構(gòu)成了二維表的字段。圖2-4“學(xué)生選課系統(tǒng)”的E-R模型可以轉(zhuǎn)換成“學(xué)生信息表”、“課程信息表”和“選課信息表”三張二維表,如表2-1、表2-2和表2-3所示。SQLServer實用案例教程(2008版)2.2.3關(guān)系模型
2.2數(shù)據(jù)庫設(shè)計SQLServer實用案例教程(2008版)2.2.3關(guān)系模型需要注意的是,根據(jù)E-R模型轉(zhuǎn)換生成的二維表不一定是滿足數(shù)據(jù)庫要求的數(shù)據(jù)形態(tài),要使數(shù)據(jù)表更好的為數(shù)據(jù)庫系統(tǒng)效勞,還需對數(shù)據(jù)表做細致的標(biāo)準(zhǔn)化處理。2.2數(shù)據(jù)庫設(shè)計對數(shù)據(jù)表中數(shù)據(jù)做標(biāo)準(zhǔn)化處理可以盡可能的減少數(shù)據(jù)冗余,使數(shù)據(jù)在數(shù)據(jù)表中存放合理,為應(yīng)用程序的其它操作帶來方便。在理解標(biāo)準(zhǔn)化處理之前,需要理解屬性、主屬性〔主鍵、主關(guān)鍵字〕非主屬性、公共關(guān)鍵字、完全函數(shù)依賴、局部函數(shù)依賴和傳遞函數(shù)依賴的概念。SQLServer實用案例教程(2008版)2.2.4標(biāo)準(zhǔn)化處理
2.2數(shù)據(jù)庫設(shè)計1.關(guān)鍵字〔1〕屬性:表中的列也稱為數(shù)據(jù)表的屬性。〔2〕主屬性:又稱主鍵或主關(guān)鍵字。所謂主鍵是指能夠唯一標(biāo)識表中每一行的列或者列的組合。主鍵中不允許輸入重復(fù)值和空值,它能使表中不產(chǎn)生重復(fù)記錄?!?〕非主屬性:表中除了主屬性之外的其他屬性?!?〕公共關(guān)鍵字:兩張數(shù)據(jù)表共有的字段被稱為公共關(guān)鍵字。SQLServer實用案例教程(2008版)2.2.4標(biāo)準(zhǔn)化處理
2.2數(shù)據(jù)庫設(shè)計2.函數(shù)依賴〔1〕完全函數(shù)依賴:數(shù)據(jù)表中的一個非主屬性完全由主關(guān)鍵字決定,那么稱該屬性完全依賴與主關(guān)鍵字。比方,“姓名”屬性完全依賴與“學(xué)號”屬性。SQLServer實用案例教程(2008版)2.2.4標(biāo)準(zhǔn)化處理
2.2數(shù)據(jù)庫設(shè)計〔2〕局部函數(shù)依賴:數(shù)據(jù)表中的一個非主屬性僅由主關(guān)鍵字的一局部決定,那么稱該屬性局部依賴于主關(guān)鍵字。比方,“選課數(shù)據(jù)表”中由“學(xué)號”、“課程號”、“姓名”和“成績”字段構(gòu)成,如表2-4所示。該表的主鍵是由“學(xué)號”和“課程號”共同構(gòu)成的,其中非主屬性“姓名”僅依賴于“學(xué)號”,而與“課程號”無關(guān),因此可以說,“學(xué)號”字段與該表的主鍵〔“學(xué)號”和“課程號”〕之間是局部函數(shù)依賴關(guān)系?!?〕傳遞函數(shù)依賴:如果一張數(shù)據(jù)表中的某一屬性借助另一屬性依賴于主屬性,那么稱這種依賴關(guān)系為傳遞函數(shù)依賴。SQLServer實用案例教程(2008版)2.2.4標(biāo)準(zhǔn)化處理
2.2數(shù)據(jù)庫設(shè)計3.標(biāo)準(zhǔn)化處理的一般步驟如下:〔1〕一范式〔1NF〕一范式標(biāo)準(zhǔn)要求,數(shù)據(jù)表中的每一項都是不可再分的根本數(shù)據(jù)項。同時要求數(shù)據(jù)表具備主屬性〔主關(guān)鍵字〕,且所有屬性都依賴于主屬性。表中沒有重復(fù)記錄?,F(xiàn)在使用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)都已在創(chuàng)立數(shù)據(jù)表是要求滿足一范式。如表2-5是不符合一范式要求的數(shù)據(jù)表,表中“自然信息”屬性又被分成了“姓名”屬性和“班級”屬性。將表2-5修改成表2-1結(jié)構(gòu)即滿足一范式要求。SQLServer實用案例教程(2008版)2.2.4標(biāo)準(zhǔn)化處理
2.2數(shù)據(jù)庫設(shè)計〔2〕二范式〔2NF〕二范式標(biāo)準(zhǔn)要求首先滿足一范式要求,并且表中所有屬性都完全依賴與主關(guān)鍵字。即消除表中的局部依賴關(guān)系。表2-4中的局部函數(shù)依賴關(guān)系就可以通過刪除“姓名”字段消除,從而使表2-4滿足二范式要求?!?〕三范式〔3NF〕三范式標(biāo)準(zhǔn)要求首先滿足二范式要求,并且表中所有非主屬性與主關(guān)鍵字之間不存在傳遞函數(shù)依賴關(guān)系。對數(shù)據(jù)表的嚴(yán)格標(biāo)準(zhǔn)化處理為設(shè)計數(shù)據(jù)庫提供了良好的開端。SQLServer實用案例教程(2008版)2.2.4標(biāo)準(zhǔn)化處理
2.3創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)的根本組成對象。數(shù)據(jù)表、視圖、存儲過程、觸發(fā)器等都需要依附于數(shù)據(jù)庫而存在。因此,創(chuàng)立數(shù)據(jù)庫是創(chuàng)立其它對象的根底。在SQLServer中創(chuàng)立數(shù)據(jù)庫可以使用“管理器”或者T-SQL語言兩種方式。SQLServer實用案例教程(2008版)
2.3創(chuàng)建數(shù)據(jù)庫SQLServer實用案例教程(2008版)
2.3.1使用管理器創(chuàng)立數(shù)據(jù)庫【例2.1】為“商品銷售管理系統(tǒng)”創(chuàng)立“商品管理數(shù)據(jù)庫”。要求數(shù)據(jù)庫存儲在E盤的“數(shù)據(jù)庫”文件夾下,由一個初始大小為3MB,文件增量為20%,最大容量為30MB的主數(shù)據(jù)文件〔“商品管理_m.mdf”〕,和一個初始大小為1MB,文件增量為1MB,最大增長不受限制的事務(wù)日志文件〔“商品管理_l.ldf”〕構(gòu)成。案例2.3創(chuàng)建數(shù)據(jù)庫SQLServer實用案例教程(2008版)
2.3.1使用管理器創(chuàng)立數(shù)據(jù)庫在E盤下新建一個名為“數(shù)據(jù)庫”的文件夾;啟動SQLServer“管理器”并登陸效勞器,在“對象資源管理器”中展開“效勞器”節(jié)點,再在“數(shù)據(jù)庫”節(jié)點,查看“商品管理數(shù)據(jù)庫”是否已經(jīng)存在,如果已存在,請先將改數(shù)據(jù)庫文件妥善保存并從效勞器上刪除。然后在“數(shù)據(jù)庫”節(jié)點上右鍵單擊,選擇“新建數(shù)據(jù)庫”命令,如圖2-5所示,彈出“新建數(shù)據(jù)庫”窗口,如圖2-6所示。解題2.3創(chuàng)建數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.3.1使用管理器創(chuàng)立數(shù)據(jù)庫圖2-5“新建數(shù)據(jù)庫”命令圖2-6“新建數(shù)據(jù)庫”窗口2.3創(chuàng)建數(shù)據(jù)庫SQLServer實用案例教程(2008版)
2.3.1使用管理器創(chuàng)立數(shù)據(jù)庫對圖2-6中數(shù)據(jù)庫文件屬性做如下說明:數(shù)據(jù)庫名稱:設(shè)置應(yīng)用于SQLServer管理系統(tǒng)的數(shù)據(jù)庫名。邏輯文件名:設(shè)置T-SQL語言能夠使用的數(shù)據(jù)庫文件的文件名,不帶擴展名。文件類型:主數(shù)據(jù)文件和次要數(shù)據(jù)文件的文件類型為“行數(shù)據(jù)”;事務(wù)日志文件的文件類型為“日志”。文件組:主數(shù)據(jù)文件屬于Primary文件組,事務(wù)日志文件不屬于任何文件組。SQLServer也允許用戶自己創(chuàng)立文件組。初始大小(MB):設(shè)置任何一種類型的數(shù)據(jù)文件在數(shù)據(jù)庫創(chuàng)立時的原始大小,MB表示兆字節(jié)。在SQLServer2008中,主數(shù)據(jù)文件的初始大小要求不能小于3MB。2.3創(chuàng)建數(shù)據(jù)庫SQLServer實用案例教程(2008版)
2.3.1使用管理器創(chuàng)立數(shù)據(jù)庫自動增長:這是一個可選擇屬性??梢渣c擊該屬性單元格右側(cè)的“”按鈕,彈出“更改自動增長設(shè)置”窗口,如圖2-7所示??梢酝ㄟ^“啟用自動增長”選項設(shè)置是否啟用自動增長,啟用后可以設(shè)置文件的增長量和最大值。路徑:數(shù)據(jù)庫文件的存儲位置。同一數(shù)據(jù)庫中不同類型的數(shù)據(jù)庫文件可以保存在不同位置,建議保存在相同路徑方便管理。手動輸入路徑,或者單擊“路徑”屬性單元格后的“”按鈕,在彈出的“定位文件夾”窗口中找到保存位置即可。文件名:用來設(shè)置數(shù)據(jù)庫文件存儲時所顯示的文件名,不需要指定擴展名。如果不設(shè)置那么文件名默認與“邏輯文件名”相同。2.3創(chuàng)建數(shù)據(jù)庫2.3.1使用管理器創(chuàng)立數(shù)據(jù)庫圖2-7“更改自動增長設(shè)置”窗口圖2-8“商品管理數(shù)據(jù)庫”屬性按【例2.1】要求設(shè)置各數(shù)據(jù)庫文件屬性,設(shè)置結(jié)果如圖2-8所示。單擊“確定”按鈕,完成數(shù)據(jù)庫創(chuàng)立,同時關(guān)閉“新建數(shù)據(jù)庫”窗口,返回“管理器”窗口。2.3創(chuàng)建數(shù)據(jù)庫SQLServer實用案例教程(2008版)
2.3.1使用管理器創(chuàng)立數(shù)據(jù)庫在“對象資源管理器”中右鍵單擊“數(shù)據(jù)庫”節(jié)點,選擇“刷新”命令后,展開“數(shù)據(jù)庫”節(jié)點,可以看到“商品管理數(shù)據(jù)庫”創(chuàng)立成功。訪問E盤下的“數(shù)據(jù)庫”文件夾,也可以看到兩個分別名為“商品管理數(shù)據(jù)庫_m.mdf”的主數(shù)據(jù)文件和“商品管理數(shù)據(jù)庫_l.ldf”的事務(wù)日志文件創(chuàng)立成功,其中文件的擴展名是由數(shù)據(jù)庫管理系統(tǒng)在創(chuàng)立時根據(jù)文件類型自動添加的。注意:此時創(chuàng)立的數(shù)據(jù)庫展開節(jié)點后雖然擁有數(shù)據(jù)庫對象,但卻只是個“空殼”,要實現(xiàn)對數(shù)據(jù)庫對象的操作,還需為數(shù)據(jù)庫創(chuàng)立數(shù)據(jù)表來實現(xiàn)。創(chuàng)立數(shù)據(jù)表在“工程3”中講解。2.3創(chuàng)建數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.3.1使用管理器創(chuàng)立數(shù)據(jù)庫【例2.2】使用T-SQL語言為“學(xué)生選課系統(tǒng)”創(chuàng)立“學(xué)生選課數(shù)據(jù)庫”。要求數(shù)據(jù)庫存儲在E盤的“數(shù)據(jù)庫”文件夾下,由一個初始大小為3MB,文件增量為20%,最大容量為10MB的主數(shù)據(jù)文件〔“學(xué)生選課_m.mdf”〕,一個初始大小為2MB,文件增量為1MB,最大容量為5MB的次要數(shù)據(jù)文件〔“學(xué)生選課_n.ndf”〕,和一個初始大小為1MB,文件增量為1MB,最大增長不受限制的事務(wù)日志文件〔“學(xué)生選課_l.ldf”〕構(gòu)成。案例
2.3創(chuàng)建數(shù)據(jù)庫SQLServer實用案例教程(2008版)使用T-SQL語言創(chuàng)立數(shù)據(jù)庫
T-SQL語言創(chuàng)立數(shù)據(jù)庫的語法格式:createdatabase數(shù)據(jù)庫名[on[primary](name=‘主數(shù)據(jù)文件名’,filename=‘完整的路徑、文件名和擴展名’[,size=文件大小,][,filegrowth=文件增量,][,maxsize=文件最大值|unlimited])][,…][logon(name=‘事務(wù)日志文件名’,filename=‘完整的路徑、文件名和擴展名’[,size=文件大小,][,filegrowth=文件增量,][,maxsize=文件最大值|unlimited])][,…]知識點2.3創(chuàng)建數(shù)據(jù)庫SQLServer實用案例教程(2008版)使用T-SQL語言創(chuàng)立數(shù)據(jù)庫
說明:createdatabase命令表示創(chuàng)立數(shù)據(jù)庫,“數(shù)據(jù)庫名”要求符合標(biāo)識符命名規(guī)那么,且不應(yīng)與已存在的數(shù)據(jù)庫同名。所有被方括號〔[]〕括起來的語句都是可加可不加的,因此,使用T-SQL語言創(chuàng)立數(shù)據(jù)庫的最簡單形式是只有第一行語句,此時數(shù)據(jù)庫會包含一個主數(shù)據(jù)文件和一個事務(wù)日志文件,被存儲在系統(tǒng)安裝路徑下。on用來指定后面跟隨的文件是“數(shù)據(jù)文件”,加primary表示該文件為主數(shù)據(jù)文件,如果只創(chuàng)立了一個數(shù)據(jù)文件,primary可以省略,創(chuàng)立多個數(shù)據(jù)文件時也可以省略primary,此時緊跟在on后面創(chuàng)立的文件被定義為主數(shù)據(jù)文件。name用來設(shè)置邏輯文件名。filename用來指定文件完整的存儲路徑和文件名,需手動給出文件的擴展名。2.3創(chuàng)建數(shù)據(jù)庫SQLServer實用案例教程(2008版)使用T-SQL語言創(chuàng)立數(shù)據(jù)庫
說明:size用來設(shè)置文件的初始大小,單位寫MB〔mb〕,也可以不寫〔默認MB〕。filegrowth用來設(shè)置文件的增長量,可以按兆字節(jié)增長〔1mb〕,也可以按百分比增長〔10%〕。maxsize用來設(shè)置文件允許增長到的最大取值,單位寫MB〔mb〕,也可以不寫〔默認MB〕,或者用unlimited來表示文件增長不受限制。省略maxsize屬性不寫,也可以表示文件增長不受限制。logon用來指明后面創(chuàng)立的文件是事務(wù)日志文件。定義文件的所有屬性需放在一組小括號中,除最后一個屬性以外,每個屬性結(jié)尾用逗號結(jié)束,屬性之間設(shè)置順序任意。2.3創(chuàng)建數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.3.1使用管理器創(chuàng)立數(shù)據(jù)庫與使用“管理器”創(chuàng)立數(shù)據(jù)庫不同的是,使用T-SQL語言創(chuàng)立數(shù)據(jù)庫的操作需要在“查詢分析器”中完成。啟動“SQLServerManagementStudio”并成功連接效勞器后,首先檢查要創(chuàng)立的“學(xué)生選課數(shù)據(jù)庫”是否已經(jīng)存在,如果存在,先將該數(shù)據(jù)庫刪除。然后在工具欄上點擊“新建查詢”按鈕,翻開“查詢分析器”窗口。在窗口中輸入如下代碼。解題
2.3創(chuàng)建數(shù)據(jù)庫SQLServer實用案例教程(2008版)使用T-SQL語言創(chuàng)立數(shù)據(jù)庫
createdatabase學(xué)生選課數(shù)據(jù)庫on(name='學(xué)生選課_m',filename='e:\數(shù)據(jù)庫\學(xué)生選課_m.mdf',size=3mb,filegrowth=20%,maxsize=10),(name='學(xué)生選課_n',filename='e:\數(shù)據(jù)庫\學(xué)生選課_n.ndf',size=2mb,filegrowth=1,maxsize=5mb)logon(name='學(xué)生選課_l',filename='e:\數(shù)據(jù)庫\學(xué)生選課_l.ldf',size=1,filegrowth=1mb,maxsize=unlimited)go2.3創(chuàng)建數(shù)據(jù)庫SQLServer實用案例教程(2008版)使用T-SQL語言創(chuàng)立數(shù)據(jù)庫
輸入結(jié)束后,點擊工具欄上的“分析”按鈕分析語法,在“結(jié)果”窗口中看到“命令成功完成”的提示,表示命令無語法錯誤。然后點擊“執(zhí)行”按鈕,同樣在“結(jié)果”窗口中看到“命令成功完成”的提示。在“對象資源管理器”中右鍵單擊“數(shù)據(jù)庫”節(jié)點選擇“刷新”命令,可以看到“學(xué)生選課”已成功創(chuàng)立。訪問E盤下的“數(shù)據(jù)庫”文件夾,也可以看到三個分別名為“學(xué)生選課數(shù)據(jù)庫_m.mdf”的主數(shù)據(jù)文件、“學(xué)生選課數(shù)據(jù)庫_n.ndf”的次要數(shù)據(jù)文件和“學(xué)生選課數(shù)據(jù)庫_l.ldf”的事務(wù)日志文件創(chuàng)立成功。注意:與使用“管理器”創(chuàng)立的“商品管理數(shù)據(jù)庫”一樣,使用T-SQL語言創(chuàng)立的“學(xué)生選課數(shù)據(jù)庫”也是“空殼”。2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫1.使用“管理器”查看、修改和刪除數(shù)據(jù)庫
【例2.3】使用“管理器”查看“商品管理數(shù)據(jù)庫”的文件信息;同時為“商品管理數(shù)據(jù)庫”添加一個次要數(shù)據(jù)文件〔初始大小1MB,增量10%,最大值5MB〕,并將日志文件的初始大小修改為2MB。查看修改成功后,將該數(shù)據(jù)庫從管理器中刪除。案例2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫在“對象資源管理器”中依次展開“效勞器”、“數(shù)據(jù)庫”節(jié)點,對“商品管理數(shù)據(jù)庫”右鍵單擊,選擇“屬性”命令,彈出“數(shù)據(jù)庫屬性-商品管理數(shù)據(jù)庫”窗口,如圖2-9所示。默認顯示選擇頁中的“常規(guī)”選項,右側(cè)列出數(shù)據(jù)庫的名稱、創(chuàng)立時間、大小等根本信息。解題
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫圖2-9數(shù)據(jù)庫屬性-“常規(guī)”選擇頁2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫
在“選擇頁”中選擇“文件”選項,在右側(cè)窗口中選擇名為“商品管理數(shù)據(jù)庫_l”的日志文件,將初始大小改為2MB;單擊“添加”按鈕,在“邏輯名稱”中輸入“商品管理數(shù)據(jù)庫_n”文件名,“文件類型”選擇“行數(shù)據(jù)”,并按要求設(shè)置初始大小1MB,文件增量10%,最大值5MB,并修改存儲路徑與主數(shù)據(jù)文件相同。修改后結(jié)果如圖2-10所示,點擊“確定”按鈕保存修改操作。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫圖2-10“文件”選擇頁修改數(shù)據(jù)庫文件2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫翻開“商品管理數(shù)據(jù)庫”文件所在路徑〔E盤的“數(shù)據(jù)庫”文件夾〕,可以看到一個名為“商品管理數(shù)據(jù)庫_n.ndf”的數(shù)據(jù)文件成功添加,同時也可以看到事務(wù)日志文件“商品管理數(shù)據(jù)庫_l.ldf”的初始大小已改為2,048KB〔2MB〕,如圖2-11所示。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫圖2-11修改后的數(shù)據(jù)庫文件圖2-12“刪除對象”窗口2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫回到SQLServer“管理器”中,在“對象資源管理器”中依次展開“效勞器”、“數(shù)據(jù)庫”節(jié)點,右鍵單擊“商品管理數(shù)據(jù)庫”,在彈出的菜單中選擇“刪除”命令,翻開“刪除對象”窗口,選中“關(guān)閉現(xiàn)有連接”選項,點擊“確定”按鈕,即可成功刪除數(shù)據(jù)庫,如圖2-12所示。檢查“對象資源管理器”中“效勞器”節(jié)點下的“數(shù)據(jù)庫”節(jié)點下,“商品管理數(shù)據(jù)庫”己經(jīng)不存在。同時,翻開E盤下的“數(shù)據(jù)庫”文件夾,發(fā)現(xiàn)該數(shù)據(jù)庫的數(shù)據(jù)庫文件也被刪除了。注意:從刪除操作中可以看出,在“管理器”中刪除數(shù)據(jù)庫的同時,保存在硬盤上的與該數(shù)據(jù)庫相關(guān)的數(shù)據(jù)庫文件也將同時被刪除。因此,數(shù)據(jù)庫的刪除操作需謹(jǐn)慎使用。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫2.使用T-SQL語言查看、修改和刪除數(shù)據(jù)庫〔1〕T-SQL語言查看數(shù)據(jù)庫信息:用T-SQL語言查看數(shù)據(jù)庫信息可以使用系統(tǒng)存儲過程sp_helpdb來實現(xiàn)。語法格式如下:exec[ute]sp_helpdb數(shù)據(jù)庫名說明:execute命令表示執(zhí)行,系統(tǒng)允許用exec表示。以“sp_”開始的存儲過程是系統(tǒng)存儲過程,內(nèi)含一段程序功能。存儲過程的相關(guān)知識在“工程8”中介紹?!皵?shù)據(jù)庫名”應(yīng)是已存在的數(shù)據(jù)庫名。
知識點2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫〔2〕T-SQL語言修改數(shù)據(jù)庫信息的語法格式:alterdatabase數(shù)據(jù)庫名addfile(name=‘邏輯文件名’,filename=‘完整的路徑、文件名和擴展名’[,size=文件大小][,filegrowth=文件增量][,maxsize=文件最大值|unlimited])|addlogfile(name=‘邏輯文件名’,filename=‘完整的路徑、文件名和擴展名’[,size=文件大小][,filegrowth=文件增量][,maxsize=文件最大值|unlimited])|modifyfile(name=‘邏輯文件名’[,size=文件新初始大小][,filegrowth=文件增量][,maxsize=文件最大值|unlimited])|removefile邏輯文件名
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫說明:addfile表示添加數(shù)據(jù)文件。addlogfile表示添加事務(wù)日志文件。modifyfile表示修改指定數(shù)據(jù)文件的初始大小。removefile表示移除數(shù)據(jù)文件,文件名需使用設(shè)計時的“邏輯文件名”。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫〔3〕T-SQL語言刪除數(shù)據(jù)庫的語法格式:dropdatabase數(shù)據(jù)庫名[,數(shù)據(jù)庫名]說明:drop命令表示刪除。允許一次刪除多個數(shù)據(jù)庫,數(shù)據(jù)庫名之間用逗號隔開。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫
【例2.4】使用T-SQL語句查看“學(xué)生選課數(shù)據(jù)庫”的信息;同時將“學(xué)生選課數(shù)據(jù)庫”的事務(wù)日志文件初始大小改為2MB,并將次要數(shù)據(jù)文件移除。查看修改成功后,將該數(shù)據(jù)庫從管理器中刪除。案例
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫查看“學(xué)生選課數(shù)據(jù)庫”信息。在工具欄上單擊“新建查詢”按鈕,新建一個查詢窗口,輸入如下代碼:execsp_helpdb學(xué)生選課數(shù)據(jù)庫點擊“分析”按鈕,結(jié)果無語法錯誤后點擊“執(zhí)行”按鈕,得到查詢結(jié)果,如圖2-13所示??梢詮慕Y(jié)果中得到數(shù)據(jù)庫名、總大小、所有者、數(shù)據(jù)庫id、創(chuàng)立時間以及構(gòu)成數(shù)據(jù)庫的個文件詳細屬性信息。解題
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫圖2-13查看數(shù)據(jù)庫信息2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫
修改日志文件信息和移除次要數(shù)據(jù)文件代碼如下:alterdatabase學(xué)生選課數(shù)據(jù)庫modifyfile(name='學(xué)生選課_l',size=2mb)goalterdatabase學(xué)生選課數(shù)據(jù)庫removefile學(xué)生選課_ngo
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫圖2-14修改和移除數(shù)據(jù)文件
點擊“分析”按鈕,結(jié)果無語法錯誤后點擊“執(zhí)行”按鈕,得到修改結(jié)果,如圖2-14所示。注意修改和移除命令同時執(zhí)行時程序的寫法。2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫圖2-15修改和移除數(shù)據(jù)文件后數(shù)據(jù)庫信息
再次執(zhí)行sp_helpdb查看數(shù)據(jù)庫信息,可以看到修改和移除的結(jié)果,如圖2-15所示。2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.1查看、修改和刪除數(shù)據(jù)庫刪除“學(xué)生選課數(shù)據(jù)庫”代碼如下:dropdatabase學(xué)生選課數(shù)據(jù)庫點擊“分析”按鈕,結(jié)果無語法錯誤后點擊“執(zhí)行”按鈕,得到“命令成功完成”的提示消息,然后在“對象資源管理器”中刷新“數(shù)據(jù)庫”節(jié)點后,“學(xué)生選課數(shù)據(jù)庫”已經(jīng)不存在,刪除數(shù)據(jù)庫操作成功。查看E盤下“數(shù)據(jù)庫”文件夾,該數(shù)據(jù)庫的所有數(shù)據(jù)庫文件也被刪除了。注意:假設(shè)使用dropdatabase刪除數(shù)據(jù)庫是得到“無法刪除,數(shù)據(jù)庫正在使用”的錯誤提示,說明數(shù)據(jù)庫因為之前的某些操作的執(zhí)行而沒有被關(guān)閉,此時可以輸入“alterdatabase被刪除數(shù)據(jù)庫名setsingle_userwithrollbackimmediate”命令并執(zhí)行,表示斷開為完成的操作與數(shù)據(jù)庫的連接,然后再刪除數(shù)據(jù)庫即可。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原1.使用“管理器”備份和復(fù)原數(shù)據(jù)庫前面刪除數(shù)據(jù)庫之前因為沒有備份數(shù)據(jù)庫,因此使用“管理器”刪除的“商品管理數(shù)據(jù)庫”和使用T-SQL刪除的“學(xué)生選課數(shù)據(jù)庫”都不能夠恢復(fù)了。為防止誤刪除數(shù)據(jù)庫,或?qū)?shù)據(jù)庫做實驗性操作之前,建議先備份數(shù)據(jù)庫,一旦操作錯誤,可以通過復(fù)原操作恢復(fù)。首先使用【例2.2】中創(chuàng)立數(shù)據(jù)庫命令創(chuàng)立“學(xué)生選課數(shù)據(jù)庫”供本節(jié)操作使用。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原【例2.5】使用“管理器”備份“學(xué)生選課數(shù)據(jù)庫”,然后將其從“管理器”刪除,再用復(fù)原數(shù)據(jù)庫操作將數(shù)據(jù)庫復(fù)原回來。
案例2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原〔1〕備份“學(xué)生選課數(shù)據(jù)庫”在“對象資源管理器”中展開“數(shù)據(jù)庫”節(jié)點,選中“學(xué)生選課數(shù)據(jù)庫”,右鍵單擊,在彈出的菜單中選擇“任務(wù)”菜單下的“備份”命令,翻開“備份數(shù)據(jù)庫-學(xué)生選課數(shù)據(jù)庫”窗口,如圖2-16所示。
解題2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原圖2-16“備份數(shù)據(jù)庫”窗口2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原“數(shù)據(jù)庫”選擇“學(xué)生選課數(shù)據(jù)庫”?!皞浞蓊愋汀边x擇“完整”,表示備份數(shù)據(jù)庫的全部。其中,“差異”指對備份過的數(shù)據(jù)庫再次備份時,只備份不同的局部?!笆聞?wù)日志”指只備份事務(wù)日志文件?!皞浞萁M件”選擇“數(shù)據(jù)庫”,表示備份全部數(shù)據(jù)庫文件。假設(shè)選擇“文件和文件組”選項會翻開“選擇文件和文件組”窗口,如圖2-17所示,可以選擇需要備份的文件或文件組,點擊“確定”返回。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原圖2-17“選擇文件和文件組”窗口2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原“目標(biāo)”-“備份到”,先點擊“刪除”按鈕,刪除系統(tǒng)提供的默認備份路徑,然后點擊“添加”按鈕,翻開“選擇備份目標(biāo)”窗口,如圖2-18所示,點擊“瀏覽”按鈕,翻開“定位數(shù)據(jù)庫文件”窗口,選擇備份文件存儲路徑,并在“文件名”中輸入要生成的備份文件的文件名和擴展名。此題選擇E盤“數(shù)據(jù)庫”文件夾為路徑,文件名為“學(xué)生選課數(shù)據(jù)庫_BK.bak”,如圖2-19所示。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原圖2-18“選擇備份目標(biāo)”窗口圖2-19“定位數(shù)據(jù)庫文件”窗口2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原點擊“確定”按鈕一路返回到圖2-16“備份數(shù)據(jù)庫”窗口,點擊“確定”按鈕,彈出“備份已成功”的提示,點擊“確定”完成數(shù)據(jù)庫備份。翻開E盤下的“數(shù)據(jù)庫”文件夾,查看到“學(xué)生選課數(shù)據(jù)庫_BK.bak”的備份文件。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原〔2〕刪除“學(xué)生選課數(shù)據(jù)庫”在“對象資源管理器”中選中“學(xué)生選課數(shù)據(jù)庫”后,右鍵單擊,選擇“刪除”命令刪除數(shù)據(jù)庫。同時數(shù)據(jù)庫文件從E盤“數(shù)據(jù)庫”文件夾中被刪除。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原〔3〕復(fù)原“學(xué)生選課數(shù)據(jù)庫”在“對象資源管理器”中右鍵單擊“數(shù)據(jù)庫”節(jié)點,選擇“復(fù)原數(shù)據(jù)庫”命令,翻開“復(fù)原數(shù)據(jù)庫”窗口,如圖2-20所示。
圖2-20“復(fù)原數(shù)據(jù)庫”窗口2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原“目標(biāo)數(shù)據(jù)庫”輸入數(shù)據(jù)庫復(fù)原回來后的新名字,這里輸入“學(xué)生選課數(shù)據(jù)庫”。“復(fù)原源”選擇“源設(shè)備”選項,然后點擊“瀏覽按鈕”,翻開“指定備份”窗口,如圖2-21所示。點擊“添加“按鈕,翻開“定位備份文件”窗口,找到E盤“數(shù)據(jù)庫”文件夾下的“學(xué)生選課數(shù)據(jù)庫_BK.bak”備份文件,如圖2-22所示。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原圖2-21“指定備份”窗口圖2-22“定位備份文件”窗口2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原點擊“確定”按鈕一路返回到圖2-20“復(fù)原數(shù)據(jù)庫”窗口,選中“選擇用于復(fù)原的備份集”下的數(shù)據(jù)庫復(fù)原文件,點擊“確定”按鈕,彈出“數(shù)據(jù)庫復(fù)原成功完成”的提示,點擊“確定”完成數(shù)據(jù)庫復(fù)原。在“對象資源管理器”中刷新“數(shù)據(jù)庫”節(jié)點后,看到“學(xué)生選課數(shù)據(jù)庫”又出現(xiàn)在該節(jié)點下,復(fù)原成功。同時數(shù)據(jù)庫文件也復(fù)原到E盤“數(shù)據(jù)庫”文件夾下。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原2.使用T-SQL語言備份和復(fù)原數(shù)據(jù)庫知識點使用T-SQL語言完全備份數(shù)據(jù)庫的根本語法格式:backupdatabase被備份的數(shù)據(jù)庫名todisk=‘完整的路徑、文件名和擴展名’使用T-SQL語言復(fù)原數(shù)據(jù)庫的根本語法格式:restoredatabase復(fù)原為的數(shù)據(jù)庫名fromdisk=‘完整的路徑、文件名和擴展名’[withreplace]說明:withreplace是可選項。加withreplace時,假設(shè)復(fù)原的數(shù)據(jù)庫與效勞器中現(xiàn)有數(shù)據(jù)庫重名,那么替換同名數(shù)據(jù)庫;否那么提示錯誤,復(fù)原操作不能執(zhí)行。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原〔1〕備份“學(xué)生選課數(shù)據(jù)庫”在工具欄上單擊“新建查詢”按鈕,新建一個查詢窗口,輸入如下代碼。將“學(xué)生選課數(shù)據(jù)庫”備份到E盤數(shù)據(jù)庫文件夾下,備份文件名為“學(xué)生選課數(shù)據(jù)庫SQL_BK.bak”。backupdatabase學(xué)生選課數(shù)據(jù)庫todisk='e:\數(shù)據(jù)庫\學(xué)生選課數(shù)據(jù)庫SQL_BK.bak'
解題2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原
點擊“分析”按鈕,結(jié)果無語法錯誤后點擊“執(zhí)行”按鈕,得到如圖2-23所示結(jié)果,表示備份成功。同時E盤“數(shù)據(jù)庫”文件夾下名為“學(xué)生選課數(shù)據(jù)庫SQL_BK.bak”的備份文件生成。
圖2-23備份操作成功2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原〔2〕刪除“學(xué)生選課數(shù)據(jù)庫”在查詢窗口中輸入如下代碼,將“學(xué)生選課數(shù)據(jù)庫”從“對象資源管理器”中刪除。dropdatabase學(xué)生選課數(shù)據(jù)庫點擊“分析”按鈕,結(jié)果無語法錯誤后點擊“執(zhí)行”按鈕,得到“命令成功完成”的提示后,刷新“數(shù)據(jù)庫”節(jié)點,確認“學(xué)生選課數(shù)據(jù)庫”已被刪除,同時E盤下“數(shù)據(jù)庫”文件夾中與“學(xué)生選課數(shù)據(jù)庫”相關(guān)的數(shù)據(jù)文件也被刪除。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原〔3〕復(fù)原“學(xué)生選課數(shù)據(jù)庫”在查詢窗口中輸入如下代碼。restoredatabase學(xué)生選課數(shù)據(jù)庫fromdisk='e:\數(shù)據(jù)庫\學(xué)生選課數(shù)據(jù)庫SQL_BK.bak'
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.2數(shù)據(jù)庫的備份和復(fù)原點擊“分析”按鈕,結(jié)果無語法錯誤后點擊“執(zhí)行”按鈕,得到如圖2-24所示結(jié)果,表示復(fù)原操作成功。刷新“對象資源管理器”下的“數(shù)據(jù)庫”節(jié)點,可以看到“學(xué)生選課數(shù)據(jù)庫”已復(fù)原,同時E盤“數(shù)據(jù)庫”文件夾下與“學(xué)生選課數(shù)據(jù)庫”相關(guān)的數(shù)據(jù)文件也被恢復(fù)。
圖2-24復(fù)原操作成功2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.3數(shù)據(jù)庫的別離和附加1.使用“管理器”別離和附加數(shù)據(jù)庫當(dāng)效勞器運行時,該效勞器中數(shù)據(jù)庫的數(shù)據(jù)庫文件不可以被復(fù)制粘貼或者移動位置。假設(shè)想對正在使用的數(shù)據(jù)庫的數(shù)據(jù)文件做復(fù)制粘貼等操作,可以將效勞器停止運行或者將數(shù)據(jù)庫與效勞器別離。更改效勞器狀態(tài)的操作前面章節(jié)中已經(jīng)講過,本節(jié)介紹如何將數(shù)據(jù)庫與效勞器別離。與刪除數(shù)據(jù)庫不同,被別離后的數(shù)據(jù)庫在效勞器中雖然不存在,但數(shù)據(jù)文件仍存儲在硬盤上,用戶可以對數(shù)據(jù)文件做復(fù)制粘貼或移動位置等操作。也可以使用附加數(shù)據(jù)庫操作將數(shù)據(jù)庫重新添加到效勞器中。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.3數(shù)據(jù)庫的別離和附加【例2.7】將E盤“數(shù)據(jù)庫”文件中“學(xué)生選課數(shù)據(jù)庫”的所有數(shù)據(jù)文件移動到E盤的“DB”文件夾中。再使用這些數(shù)據(jù)文件將“學(xué)生選課數(shù)據(jù)庫”添加到SQLServer管理器的效勞器中。
案例2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.3數(shù)據(jù)庫的別離和附加〔1〕將“學(xué)生選課數(shù)據(jù)庫”與效勞器別離在“對象資源管理器”中展開“數(shù)據(jù)庫”節(jié)點,右鍵單擊“學(xué)生選課數(shù)據(jù)庫”,在彈出的菜單中選擇“任務(wù)”菜單下的“別離”命令,彈出“別離數(shù)據(jù)庫”窗口,如圖2-25所示。
解題2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.3數(shù)據(jù)庫的別離和附加圖2-25“別離數(shù)據(jù)庫”窗口2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.3數(shù)據(jù)庫的別離和附加觀察“別離數(shù)據(jù)庫”窗口中被別離數(shù)據(jù)庫的“狀態(tài)”屬性。假設(shè)顯示“成功”那么可以點擊“確定”按鈕別離數(shù)據(jù)庫;假設(shè)顯示“未就緒”那么表示該數(shù)據(jù)庫正在被使用,這時應(yīng)該選中“刪除連接”選項,再點擊“確定”按鈕別離數(shù)據(jù)庫。點擊“確定”按鈕后回到“管理器”,展開“數(shù)據(jù)庫”節(jié)點,觀察“學(xué)生選課數(shù)據(jù)庫”已經(jīng)不在。訪問E盤“數(shù)據(jù)庫”文件夾,與“學(xué)生選課數(shù)據(jù)庫”相關(guān)的數(shù)據(jù)文件并沒有被刪除。表示數(shù)據(jù)庫別離操作成功。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.3數(shù)據(jù)庫的別離和附加〔2〕移動“學(xué)生選課數(shù)據(jù)庫”的數(shù)據(jù)文件將E盤“數(shù)據(jù)庫”文件夾中的“學(xué)生選課數(shù)據(jù)庫”的三個數(shù)據(jù)文件移到E盤“DB”文件夾中?!?〕將“學(xué)生選課數(shù)據(jù)庫”附加到“管理器”在“對象資源管理器”中右鍵單擊“數(shù)據(jù)庫”節(jié)點,在彈出的菜單中選擇“附加”命令,彈出“附加數(shù)據(jù)庫”窗口,如圖2-26所示。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.3數(shù)據(jù)庫的別離和附加圖2-26“附加數(shù)據(jù)庫”-添加文件前窗口2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.3數(shù)據(jù)庫的別離和附加點擊“附加”按鈕,彈出“定位數(shù)據(jù)庫文件”窗口,選擇E盤下“DB”文件夾中的主數(shù)據(jù)文件“學(xué)生選課數(shù)據(jù)庫.mdf”,如圖2-27所示,單擊“確定”按鈕返回到“附加數(shù)據(jù)庫”窗口,在窗口下方窗格中可以看到,與“學(xué)生選課數(shù)據(jù)庫”相關(guān)的所有數(shù)據(jù)文件〔主數(shù)據(jù)文件、次要數(shù)據(jù)文件和事務(wù)日志文件〕被添加,如圖2-28所示。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.3數(shù)據(jù)庫的別離和附加圖2-27“定位數(shù)據(jù)文件”窗口圖2-28“附加數(shù)據(jù)庫”-添加文件后窗口2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.3數(shù)據(jù)庫的別離和附加
單擊“確定”按鈕,回到“管理器”中,刷新“數(shù)據(jù)庫”節(jié)點,觀察“學(xué)生選課數(shù)據(jù)庫”已出現(xiàn)在“數(shù)據(jù)庫”節(jié)點下。附加數(shù)據(jù)庫完成。附加后的數(shù)據(jù)文件將不能做復(fù)制粘貼等操作。
2.4管理數(shù)據(jù)庫SQLServer實用案例教程(2008版)2.4.3數(shù)據(jù)庫的別離和附加2.使用T-SQL語言別離和附加數(shù)據(jù)庫使用T-SQL語言別離數(shù)據(jù)庫的語法格式:exec
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度倉儲物流勞務(wù)派遣安全責(zé)任書
- 2025年度在線貸款中介居間合作協(xié)議
- 二零二五年度企業(yè)內(nèi)部員工外出安全免責(zé)合同
- 2025年度個人租房合同協(xié)議書模板(含租賃房屋維修費用承擔(dān))
- 2025年度應(yīng)屆大學(xué)生實習(xí)合同
- 國際發(fā)展合作的中國實踐 第六期綠色發(fā)展援助篇
- 2025年度抖音網(wǎng)紅達人合作推廣合同模板
- 2025年度合作社土地入股與農(nóng)業(yè)資源環(huán)境監(jiān)測合作協(xié)議
- 2025年度房屋租賃合同租賃雙方租賃期間租賃物租賃權(quán)轉(zhuǎn)讓協(xié)議
- 沙石運輸行業(yè)自律公約
- 工期定額-民用建筑
- 黃土地質(zhì)災(zāi)害類型及其危害性評估
- 交際德語教程第二版A1Studio[21] 課后習(xí)題參考答案
- 最新修改 班組安全管理建設(shè)--5831模式通用課件
- 氣割、電氣焊作業(yè)的應(yīng)急救援預(yù)案
- 2018年柴油機大修工程量單
- 超級精美PPT模版美國經(jīng)典ppt模板(通用珍藏版2)
- 2022年“葉圣陶杯”全國中學(xué)生新作文大賽專用稿紙
- 中醫(yī)內(nèi)科方歌-八
- 氣動控制閥的定義分類及工作原理詳解
- 梯形練字格A4紙打印版
評論
0/150
提交評論