- SQL Server 2016數(shù)據(jù)庫應(yīng)用與開發(fā)習(xí)題解答與上機指導(dǎo)
- 姜桂洪主編
- 3053字
- 2019-07-01 10:07:45
第3章 創(chuàng)建與管理數(shù)據(jù)庫
1.選擇題
(1)創(chuàng)建SQL Server 2016的用戶數(shù)據(jù)庫時,最多不能超過________個。
A.100
B.40000
C.20
D.30000
(2)SQL Server 2016數(shù)據(jù)庫文件有三類,其中主數(shù)據(jù)文件的擴展名為________。
A.ndf
B.ldf
C.mdf
D.idf
(3)SQL Server 2016的每個數(shù)據(jù)文件的基本存儲單位的大小是________。
A.8KB
B.8060B
C.64KB
D.512B
(4)從邏輯角度看,數(shù)據(jù)庫對象不包括________。
A.表
B.?dāng)?shù)據(jù)庫
C.視圖
D.日志文件
(5)以下關(guān)于數(shù)據(jù)存儲的描述,錯誤的是________。
A.所有數(shù)據(jù)庫都有一個主要數(shù)據(jù)庫文件(.mdf)
B.創(chuàng)建數(shù)據(jù)庫時會將model數(shù)據(jù)庫復(fù)制到新數(shù)據(jù)庫
C.同一行的數(shù)據(jù)可以隨意存儲在不同的頁上
D.一個數(shù)據(jù)庫中每兆字節(jié)的空間能存儲128頁
說明:同一行的數(shù)據(jù)一般存儲在一個頁面上,特殊情況下可以存儲在不同頁面上,但不是隨意的。
答案:BCADC
2.思考題
(1)簡述SQL Server 2016中文件組的作用和分類。
【答】SQL Server 2016中文件組的作用主要包括如下幾個方面。
①對于大型數(shù)據(jù)庫,如果硬件設(shè)置上需要多個磁盤驅(qū)動器,就可以把特定的對象或文件分配到不同的磁盤上,將數(shù)據(jù)庫文件組織成用戶文件組。
②文件組可以幫助數(shù)據(jù)庫管理人員執(zhí)行相應(yīng)的數(shù)據(jù)布局,以及某些管理任務(wù),如將數(shù)據(jù)文件集合起來,以便于管理、數(shù)據(jù)分配和放置。
③利用文件組可以在特定的文件中定位特定的對象,從而將頻繁查詢和頻繁修改的文件分離出來,以提高磁盤驅(qū)動器的效率,減少磁盤驅(qū)動器的爭用。
④為便于分配和管理,可以將數(shù)據(jù)庫對象和文件一起分成文件組。文件組的兩種類型如下。
●主文件組。包含主數(shù)據(jù)文件和任何沒有明確分配給其他文件組的其他文件。系統(tǒng)表的所有頁均分配在主文件組中。
●用戶定義文件組。通過在CREATE DATABASE或ALTER DATABASE語句中使用FILEGROUP關(guān)鍵字指定的任何文件組。
(2)簡述如何在SQL Server Management Studio中修改數(shù)據(jù)庫的屬性。
【答】利用SQL Server Management Studio修改數(shù)據(jù)庫的參考步驟如下。
①在對象資源管理器中,用戶可以右擊所選擇的數(shù)據(jù)庫,在彈出的快捷菜單中選擇“屬性”命令打開“數(shù)據(jù)庫屬性”窗口。在“常規(guī)”選項卡中顯示的是數(shù)據(jù)庫的基本信息,這些信息不能修改。
②選擇“文件”選項卡,可以修改數(shù)據(jù)庫的邏輯名稱、初始大小、自動增長等屬性,也可以根據(jù)需要添加數(shù)據(jù)文件和日志文件,還可以更改數(shù)據(jù)庫的所有者。
單擊“添加”按鈕可以添加數(shù)據(jù)文件、日志文件,并分別設(shè)置其增長方式和大小。修改內(nèi)容后,單擊“確定”按鈕即可。
③在“文件組”選項卡中可以修改現(xiàn)有的文件組,也可以指定數(shù)據(jù)庫的默認文件組、添加新文件組。
④在“選項”選項卡中修改數(shù)據(jù)庫的排序規(guī)則。
⑤“數(shù)據(jù)庫屬性”窗口還包含權(quán)限、鏡像、事務(wù)日志傳送等各種屬性,只要需要,就可以選擇相應(yīng)的選項卡來修改。
(3)簡述如何在SQL Server Management Studio中分離和附加數(shù)據(jù)庫。
【答】在SQL Server 2016中,所有用戶數(shù)據(jù)庫都可以從服務(wù)器的管理中進行分離,以脫離服務(wù)器的管理,同時保持?jǐn)?shù)據(jù)文件與日志文件的完整性和一致性。而分離出來的數(shù)據(jù)庫可以附加到其他SQL Server服務(wù)器上,構(gòu)成完整的數(shù)據(jù)庫。
①分離用戶數(shù)據(jù)庫。在SQL Server Management Studio中右擊選擇的數(shù)據(jù)庫,從彈出的快捷菜單中選擇“任務(wù)”→“分離”命令。
在彈出的對話框中設(shè)置是否刪除連接、是否更新統(tǒng)計信息、是否保留全文目錄以及是否就緒等分離參數(shù),單擊“確定”按鈕即可完成操作。
②附加數(shù)據(jù)庫。在SQL Server Management Studio中右擊“對象資源管理器”中的“數(shù)據(jù)庫”,從彈出的快捷菜單中選擇“附加”命令。
在彈出的“附加數(shù)據(jù)庫”對話框中單擊“添加”按鈕,目的是將要附加數(shù)據(jù)庫的主數(shù)據(jù)文件添加到實例。在彈出的“數(shù)據(jù)庫定位文件”界面中選擇要添加的數(shù)據(jù)庫的主數(shù)據(jù)文件,單擊“確定”按鈕返回“附加數(shù)據(jù)庫”對話框,再單擊“確定”按鈕,該數(shù)據(jù)庫就附加到當(dāng)前的實例中了。
(4)簡述收縮數(shù)據(jù)庫的作用及在SQL Server Management Studio中收縮數(shù)據(jù)庫的步驟。
【答】當(dāng)系統(tǒng)為數(shù)據(jù)庫分配的磁盤空間過大時可以收縮數(shù)據(jù)庫,以節(jié)省存儲空間。數(shù)據(jù)文件和事務(wù)日志文件都可以進行收縮。數(shù)據(jù)庫也可設(shè)置為按給定的時間間隔自動收縮。該活動在后臺進行,不影響數(shù)據(jù)庫內(nèi)的用戶活動。
在SQL Server Management Studio中收縮數(shù)據(jù)庫的參考步驟如下。
①在SQL Server Management Studio中右擊選擇的數(shù)據(jù)庫,從彈出的快捷菜單中選擇“任務(wù)”→“收縮”→“數(shù)據(jù)庫”命令。
②在彈出的對話框中設(shè)置數(shù)據(jù)庫的當(dāng)前分配空間,單擊“確定”按鈕即可完成操作。系統(tǒng)將根據(jù)數(shù)據(jù)庫的具體情況對數(shù)據(jù)庫進行收縮。
③若單擊“腳本”按鈕,系統(tǒng)還能夠?qū)⑹湛s操作的腳本顯示到查詢設(shè)計器界面中,例如:
DBCC SHRINKDATABASE(N'test01', 45) GO
④若在SQL Server Management Studio中右擊相應(yīng)的數(shù)據(jù)庫,從彈出的快捷菜單中選擇“任務(wù)”→“收縮”→“文件”命令,在彈出的對話框中設(shè)置收縮數(shù)據(jù)庫文件的參數(shù),單擊“確定”按鈕也可完成收縮數(shù)據(jù)庫操作。
(5)說明數(shù)據(jù)庫中事務(wù)日志文件與數(shù)據(jù)文件分別存放的優(yōu)點。
【答】SQL Server 2016數(shù)據(jù)庫中數(shù)據(jù)文件包含數(shù)據(jù)和對象,日志文件包含恢復(fù)數(shù)據(jù)庫中所有事務(wù)所需的信息。
默認情況下,數(shù)據(jù)和事務(wù)日志被放在同一個驅(qū)動器上的同一個路徑下。這是為處理單磁盤系統(tǒng)而采用的方法。但是,在生產(chǎn)環(huán)境中建議將數(shù)據(jù)和日志文件放在不同的磁盤上。一旦存儲數(shù)據(jù)文件或日志文件的磁盤發(fā)生損壞,可以采取相應(yīng)的措施保護數(shù)據(jù)。
3.上機練習(xí)題
(1)使用SQL Server Management Studio創(chuàng)建名為test03的數(shù)據(jù)庫,并設(shè)置數(shù)據(jù)庫主文件名為test03_data,大小為10MB;日志文件名為test03_log,大小為2MB。
【答】在SQL Server Management Studio中創(chuàng)建數(shù)據(jù)庫test03的步驟如下。
①啟動SQL Server Management Studio,在“對象資源管理器”中右擊“數(shù)據(jù)庫”選項,在彈出的快捷菜單中選擇“新建數(shù)據(jù)庫”命令,打開“新建數(shù)據(jù)庫”窗口。
②在“常規(guī)”選項卡中的“數(shù)據(jù)庫名稱”文本框中輸入數(shù)據(jù)庫名稱test03。
③在“文件”選項卡中修改數(shù)據(jù)庫主文件名為test03_data,大小為10MB;日志文件名為test03_log,大小為2MB。
④在“選項”選項卡中設(shè)置“排序規(guī)則”“恢復(fù)模式”等選項。
⑤其他選項通過接受默認值來創(chuàng)建數(shù)據(jù)庫。所有參數(shù)設(shè)置完畢后,單擊“確定”按鈕,新的數(shù)據(jù)庫就創(chuàng)建成功了。展開“對象資源管理器”中的數(shù)據(jù)庫項,就可以觀察到test03數(shù)據(jù)庫已經(jīng)創(chuàng)建成功。
(2)創(chuàng)建一個名稱為student1的數(shù)據(jù)庫,該數(shù)據(jù)庫的主文件邏輯名稱為student1_ data,物理文件名為student1.mdf,初始大小為6MB,最大尺寸為無限大,增長速度為15%;數(shù)據(jù)庫的日志文件邏輯名稱為student1_log,物理文件名為student1.ldf,初始大小為3MB,最大尺寸為30MB,增長速度為2MB;要求數(shù)據(jù)庫文件和日志文件的物理文件都存放在D:\ DATA文件夾下。
【答】創(chuàng)建數(shù)據(jù)庫student1的參考步驟如下。
①在D盤創(chuàng)建一個新的文件夾,名稱是DATA。
②在SQL Server Management Studio中新建一個查詢設(shè)計器的頁面。
③輸入以下程序段并執(zhí)行此查詢:
create database student1 on primary (NAME = student1_data, FILENAME = 'D:\DATA\student1.mdf', size = 6, MAXSIZE = unlimited, filegrowth = 15%) log on (NAME = student1_log, FILENAME = 'D:\DATA\student1.ldf', size = 3, maxsize = 30, filegrowth = 2)
(3)創(chuàng)建一個指定多個數(shù)據(jù)文件和日志文件的數(shù)據(jù)庫。該數(shù)據(jù)庫名稱為students,有一個5MB和一個10MB的數(shù)據(jù)文件和兩個5MB的事務(wù)日志文件。數(shù)據(jù)文件邏輯名稱為students1和students2,物理文件名為students1.mdf和students2.ndf。主文件是students1,由PRIMARY指定,兩個數(shù)據(jù)文件的最大容量均為75MB,增長速度均為10%。事務(wù)日志文件的邏輯名為studentslog1和studentslog2,物理文件名為studentslog1.ldf和studentslog2.ldf,最大尺寸均為30MB,文件增長速度均為1MB。要求數(shù)據(jù)庫文件和日志文件的物理文件都存放在D:\DATA文件夾下。
【答】實現(xiàn)的步驟如下。
①在D盤創(chuàng)建一個新的文件夾,名稱是DATA。
②在SQL Server Management Studio中新建一個查詢設(shè)計器的頁面。
③輸入以下程序段并執(zhí)行此查詢:
create database students on primary (name = students1, filename = 'D:\DATA\students1.mdf', size = 5, maxsize = 75, filegrowth = 10%), (name= students12, filename = 'D:\DATA\students2.ndf', size = 10, maxsize = 75, filegrowth = 10%) log on (name = studentslog1, filename = 'D:\DATA\studentslog1.ldf', size = 5, maxsize = 30, filegrowth = 1), (name = studentslog2, filename = 'D:\DATA\studentslog2.ldf', size = 5, maxsize = 30, filegrowth = 1)
(4)刪除已創(chuàng)建的數(shù)據(jù)庫students。
【答】實現(xiàn)的步驟如下。
①在SQL Server Management Studio中新建一個查詢設(shè)計器的頁面。
②輸入以下程序段并執(zhí)行此查詢:
drop database students
說明:當(dāng)有別的用戶正在使用此數(shù)據(jù)庫時,則不能進行刪除操作。
(5)將已存在的數(shù)據(jù)庫student1重命名為student_BACK。
【答】實現(xiàn)的步驟如下。
①在SQL Server Management Studio中新建一個查詢頁面。
②輸入以下程序段并執(zhí)行此查詢:
sp_renamedb'student1','student_BACK'
- Learn TypeScript 3 by Building Web Applications
- Java系統(tǒng)分析與架構(gòu)設(shè)計
- C語言程序設(shè)計習(xí)題解析與上機指導(dǎo)(第4版)
- 深入淺出WPF
- Learning C++ Functional Programming
- Git高手之路
- 云原生Spring實戰(zhàn)
- 零基礎(chǔ)學(xué)Python網(wǎng)絡(luò)爬蟲案例實戰(zhàn)全流程詳解(高級進階篇)
- PHP 7+MySQL 8動態(tài)網(wǎng)站開發(fā)從入門到精通(視頻教學(xué)版)
- Python Data Analysis Cookbook
- Angular開發(fā)入門與實戰(zhàn)
- PySpark Cookbook
- JavaScript編程精解(原書第2版)
- Java EE 8 and Angular
- Java設(shè)計模式深入研究