




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、管理信息系統(tǒng)實(shí)驗(yàn)指導(dǎo)書SQL Server2000數(shù)據(jù)庫操作實(shí)驗(yàn)一 數(shù)據(jù)庫的創(chuàng)建及管理1實(shí)驗(yàn)?zāi)康?)SQL Server 數(shù)據(jù)庫的創(chuàng)建方法。 2)由已經(jīng)生成的庫產(chǎn)生SQL Server 腳本的方法。 3)查看、修改數(shù)據(jù)庫屬性的方法。 4)數(shù)據(jù)庫縮小、更名、刪除的方法。2實(shí)驗(yàn)內(nèi)容1)用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫(1)創(chuàng)建數(shù)據(jù)庫創(chuàng)建一個(gè)名稱為JWGL的數(shù)據(jù)庫,數(shù)據(jù)文件的初始大小設(shè)為20MB,文件增長(zhǎng)增量設(shè)為 5MB,文件增長(zhǎng)方式設(shè)為自動(dòng)增長(zhǎng),文件的增長(zhǎng)上限設(shè)為500MB: 日志文件的初始大小為 20MB,文件增長(zhǎng)增量設(shè)為1MB,文件的增長(zhǎng)限制設(shè)為100MB。 具體創(chuàng)建步驟如下: 進(jìn)入SQL Server
2、 企業(yè)管理器。 單擊Microsoft SQL Server服務(wù)器組,進(jìn)入到已經(jīng)配置、注冊(cè)的服務(wù)器,單擊 “數(shù)據(jù)庫” 項(xiàng)。 單擊菜單 “操作” ,再選擇菜單 “新建數(shù)據(jù)庫” ?;蛴檬髽?biāo)右鍵單擊數(shù)據(jù)庫,在彈出的快捷菜單中選擇 “新建數(shù)據(jù)庫” 。系統(tǒng)將打開如圖2-1所示的 “數(shù)據(jù)庫屬性” 窗口。 該窗口有3個(gè)選項(xiàng)卡:常規(guī)選項(xiàng)卡、數(shù)據(jù)文件選項(xiàng)卡、事務(wù)日志選項(xiàng)卡。在 “名稱” 對(duì)應(yīng)的文本框中輸入數(shù)據(jù)庫的名稱:JWGL。注意,數(shù)據(jù)庫的名稱必須遵循SQL Server的命名規(guī)范,并且不能與已有的數(shù)據(jù)庫名重復(fù)。 單擊 “數(shù)據(jù)文件” 選項(xiàng)卡,會(huì)出現(xiàn)如圖2-2所示的對(duì)話窗口。將數(shù)據(jù)文件的初始大小設(shè)為20MB,文
3、件增長(zhǎng)方式設(shè)為自動(dòng)增長(zhǎng),文件增長(zhǎng)增量設(shè)為 5MB,文件的增長(zhǎng)上限設(shè)為500MB。單擊 “事務(wù)日志” 選項(xiàng)卡,會(huì)出現(xiàn)類似圖2.2.2的對(duì)話窗口,將日志文件的初始大小設(shè)為20MB,文件增長(zhǎng)增量設(shè)為1MB,文件的增長(zhǎng)限制設(shè)為100MB。單擊 “確定” 按鈕,數(shù)據(jù)庫JWGL創(chuàng)建完成。 圖2-1 “數(shù)據(jù)庫屬性” 窗口圖2-2 數(shù)據(jù)庫屬性jwgl窗口(2)由已經(jīng)存在的數(shù)據(jù)庫生成創(chuàng)建數(shù)據(jù)庫的T-SQL腳本由已有的數(shù)據(jù)庫可以生成創(chuàng)建該數(shù)據(jù)庫的腳本程序,同樣也可以從已有的表生成產(chǎn)生該表的腳本程序。按下列步驟創(chuàng)建由已存在的數(shù)據(jù)庫JWGL生成該數(shù)據(jù)庫的腳本程序。用鼠標(biāo)右鍵單擊數(shù)據(jù)庫JWGL,在彈出的快捷菜單中選擇
4、“所有任務(wù)” 。選擇 “生成SQL腳本” ,便會(huì)產(chǎn)生一個(gè) “生成SQL腳本” 的對(duì)話窗口。單擊 “選項(xiàng)” 選項(xiàng)卡,如圖2-3所示,單擊不同的選項(xiàng),可生成不同的SQL腳本。單擊 “編寫數(shù)據(jù)庫腳本” 復(fù)選框和 “編寫數(shù)據(jù)庫用戶和數(shù)據(jù)庫角色腳本” 復(fù)選框,再單擊 “確定” 按鈕,輸入腳本的文件名 “db_crea_text垢便會(huì)生成創(chuàng)建數(shù)據(jù)庫JWGL及JWGL庫的用戶和角色的腳本文件db_crea textsql。進(jìn)入查詢分析器,調(diào)入db_crea_text腳本文件并執(zhí)行,便能生成數(shù)據(jù)庫JWGL及其用戶和角色。執(zhí)行成功后,系統(tǒng)給出的信息如下: CREATE DATABASE進(jìn)程正在磁盤 JWGL D
5、ata上分配20.00MB的空間。 CREATE DATABASE進(jìn)程正在磁盤 JWGL_Log上分配20.00MB的空間。圖2-3 “生成SQL腳本” 的窗口2)用T-SQL語言創(chuàng)建數(shù)據(jù)庫 (1)創(chuàng)建數(shù)據(jù)庫創(chuàng)建一個(gè)名為JWGLl的數(shù)據(jù)庫,在查詢分析器中輸入如下所示的創(chuàng)建數(shù)據(jù)庫的SQL腳本: CREATE DATABASE JWGLl ON (NAME=JWGLl_data, FILENAME=D:JWGLl_Data.mdf,SIZE=20,MAXSIZE=200,FILEGROWTH=5) LOG ON(NAME=JWGLl_log, FILENAME=D: JWGLl_log.Ldf,
6、SIZE=5,MAXSIZE=50,FILEGROWTH=1)執(zhí)行以上腳本程序,如數(shù)據(jù)庫創(chuàng)建成功則顯示如下信息:CREATE DATABASE進(jìn)程正在磁盤JWGL1_data上分配20.00MB的空間。CREATE DATABASE進(jìn)程正在磁盤JWGL1_log,上分配5.00MB的空間。保存以上腳本為文件名為crea_db.sql以后,在需要?jiǎng)?chuàng)建數(shù)據(jù)庫時(shí),便可調(diào)出來執(zhí)行。(2)查看、驗(yàn)證創(chuàng)建的數(shù)據(jù)庫方法1:執(zhí)行sp_helpdb系統(tǒng)存儲(chǔ)過程查看JWGLl數(shù)據(jù)庫的信息。EXEC sp_helpdb JWGL1方法2:在左邊對(duì)象瀏覽器的數(shù)據(jù)庫上單擊鼠標(biāo)右鍵,再單擊” 刷新 “,則可看到創(chuàng)建成功的
7、數(shù)據(jù)庫。(3)刪除數(shù)據(jù)庫JWGL1在查詢分析器中鍵入如下命令并執(zhí)行,再刷新數(shù)據(jù)庫,觀察數(shù)據(jù)庫JWGL1是否已被刪除掉。drop database JWGL1注意:使用DROP DATABASE命令只能刪除正常狀態(tài)下的數(shù)據(jù)庫,即停止的、毀壞的數(shù)據(jù)庫。使用DROP DATABASE命令還可以一次刪除多個(gè)數(shù)據(jù)庫,而企業(yè)管理器只能一次刪除一個(gè)數(shù)據(jù)庫,正在使用的數(shù)據(jù)庫不能刪除。 實(shí)驗(yàn)二 創(chuàng)建與管理數(shù)據(jù)庫對(duì)象1實(shí)驗(yàn)?zāi)康?)創(chuàng)建、查看、重命名及刪除用戶自定義數(shù)據(jù)類型的方法。 2)表的創(chuàng)建方法。 3)修改表的結(jié)構(gòu)。 4)能夠向已創(chuàng)建的表中添加、刪除及修改數(shù)據(jù)。2實(shí)驗(yàn)內(nèi)容 1)創(chuàng)建、查看、重命名及刪除用戶自定義
8、數(shù)據(jù)類型 (1)創(chuàng)建用戶自定義數(shù)據(jù)類型在SQL Server 2000中,可以使用Transact-SQL語句,也可以使用企業(yè)管理器創(chuàng)建用戶自定義數(shù)據(jù)類型。自定義數(shù)據(jù)類型創(chuàng)建成功后,用戶可以像使用系統(tǒng)自身的數(shù)據(jù)類型一樣使用自定義數(shù)據(jù)類型。用戶自定義數(shù)據(jù)類型是數(shù)據(jù)庫的對(duì)象之一。使用企業(yè)管理器創(chuàng)建一個(gè)名為a0、數(shù)據(jù)長(zhǎng)度為6,可變長(zhǎng)字符,允許為空的自定義的數(shù)據(jù)類型。進(jìn)入企業(yè)管理器,進(jìn)入JWGL數(shù)據(jù)庫,用鼠標(biāo)右鍵單擊 “用戶定義的數(shù)據(jù)類型” ,在彈出的快捷菜單中單擊 “新建用戶定義數(shù)據(jù)類型” 后,會(huì)彈出 “用戶定義的數(shù)據(jù)類型屬性” 窗口,然后輸入要定義的數(shù)據(jù)名稱a0、選擇數(shù)據(jù)類型varchar、輸入數(shù)
9、據(jù)長(zhǎng)度6,在是否允許為空的復(fù)選框上打個(gè) “” ,單擊 “確定” 按鈕即可。使用Transact-SQL語句創(chuàng)建一個(gè)名為postalcode,數(shù)據(jù)長(zhǎng)度為6,定長(zhǎng)字符型,不允許為空的自定義的數(shù)據(jù)類型。USE JWGLexec sp_addtype postalcode,char(8),NOT NULLGO(2)查看用戶自定義數(shù)據(jù)類型使用企業(yè)管理器和Transact-SQL語句的sp_help系統(tǒng)存儲(chǔ)過程查看剛剛創(chuàng)建的兩個(gè)用戶自定義數(shù)據(jù)類型a0及postalcode。(3)重命名用戶自定義數(shù)據(jù)類型使用系統(tǒng)存儲(chǔ)過程sp_rename將自定義數(shù)據(jù)類型a0重新命名為a1。exec sp_rename a0
10、,al使用企業(yè)管理器再將自定義數(shù)據(jù)類型a1重新命名為a0。(4)刪除用戶自定義數(shù)據(jù)類型使用系統(tǒng)存儲(chǔ)過程sp_droptype來刪除用戶自定義的數(shù)據(jù)類型。exec sp_droptype a0使用企業(yè)管理器刪除用戶自定義的數(shù)據(jù)類型。進(jìn)入企業(yè)管理器,進(jìn)入JWGL數(shù)據(jù)庫,單擊 “用戶定義的數(shù)據(jù)類型” 后,右邊窗口將出現(xiàn)所有用戶定義的數(shù)據(jù)類型,再用鼠標(biāo)右鍵單擊a0,在彈出的快捷菜單上單擊 “刪除” 按鈕即可。注意,不能刪除正在被表或其他數(shù)據(jù)庫對(duì)象使用的用戶定義的數(shù)據(jù)類型。2)創(chuàng)建表(1)使用企業(yè)管理器創(chuàng)建表teacher創(chuàng)建表teacher,teacher表有9個(gè)列,表的列名、數(shù)據(jù)類型、數(shù)據(jù)寬度等信息
11、參見附錄1。其中,teacher_id為主鍵,性別采用BIT數(shù)據(jù)類型,0表示女教師,1表示男教師,缺省值為1,郵政編碼使用上面創(chuàng)建的用戶自定義的數(shù)據(jù)類型postalcode。(2)使用T-SQL語句創(chuàng)建表student使用CREATE TABLE語句創(chuàng)建student表,student表有7個(gè)列,表的列名、數(shù)據(jù)類型、數(shù)據(jù)寬度等信息參見附錄2。其中,studenUd為主鍵,性別采用BIT數(shù)據(jù)類型,0表示女同學(xué),1表示男同學(xué),缺省值為1。創(chuàng)建表的腳本程序如下,輸入并執(zhí)行,執(zhí)行正確后以student.sql保存起來以備后用。USE JWGL GO CREATE TABLE student ( stu
12、dent_id char(8) NOT NULL,student_name nvarchar(8) NOT NULL, sex bit NOT NULL, birth smalldatetime NOT NULL, class_id char(6) NOT NULL, entrance_date smalldatetime NOT NULL,home_addr nvarchar(40) NULL )3)管理表(1)添加和刪除列給teacher表增加一列,字段名:stature(身高),允許為空,stature字段插入后再將其刪除。字段類型:numeric,字段長(zhǎng)度:使用企業(yè)管理器進(jìn)行。依次進(jìn)入
13、企業(yè)管理器、數(shù)據(jù)庫、JWGL庫、表,用鼠標(biāo)右鍵單擊表teacher,單擊 “設(shè)計(jì)表” ,出現(xiàn) “設(shè)計(jì)表的窗口” ,再用鼠標(biāo)右鍵單擊某一列+單擊 “插入列” ,輸入字段stature的字段名、字段類型等即可,插入完成后存盤。如要?jiǎng)h除該列,可用鼠標(biāo)右鍵單擊該列,單擊 “刪除列” 可將該列刪除。插入及刪除完成后查看所做的操作是否已經(jīng)完成。使用T-SQL語言進(jìn)行。完成同樣的操作,給teacher表增加一列,字段名:stature(身高),字段類型:numeric,字段長(zhǎng)度:4.2,允許為空,stature字段插入后再將其刪除。增加stature字段及刪除stature字段的腳本程序如下,輸入并執(zhí)行。
14、USE JWGL GO ALTER TABLE teacher ADD stature numeric(4,2) null EXEC sp_help teacher /*查看插入stature列后teacher表的結(jié)構(gòu)* GO ALTER TABLE teacher DROP COLUMN stature EXEC sp_help teacher /*查看刪除stature列后teacher表的結(jié)構(gòu)*(2)表的重命名及刪除使用企業(yè)管理器重命名及刪除表。依次進(jìn)入企業(yè)管理器、數(shù)據(jù)庫、JWGL庫、表,用鼠標(biāo)右鍵單擊表student,再分別單擊 “重命名表” 或 “刪除表” 即可重命名及刪除表。使用T
15、SQL語言進(jìn)行。進(jìn)入查詢分析器,執(zhí)行腳本student.sql,重新創(chuàng)建表 student。下面使用T-SQL語句將student重命名為studentl并刪除表studentl。參考腳本程序如下。 USE JWGL GO EXEC sp_rename student,student1 GO DROP TABLE student1 4)對(duì)表添加、修改、刪除數(shù)據(jù) (1)使用企業(yè)管理器進(jìn)行進(jìn)入企業(yè)管理器,重新創(chuàng)建表student,用鼠標(biāo)右鍵單擊要操作的表student,選擇 “打開表” ,在 “打開表” 快捷菜單上選擇 “返回所有行” ,系統(tǒng)將彈出表student的顯示窗口,單擊至 “*” 號(hào)位置
16、所在的行即可進(jìn)行新數(shù)據(jù)的輸入,將光標(biāo)定位在需要修改的行上即可進(jìn)行數(shù)據(jù)的修改;右擊要?jiǎng)h除的行,單擊快捷菜單中的 “刪除” 按鈕即可將該行刪除。但要注意,表中的列經(jīng)常是有約束的,在輸入數(shù)據(jù)時(shí)要注意數(shù)據(jù)類型,是否允許為空,刪除的數(shù)據(jù)是否有外鍵約束的列。完成適量student表中的數(shù)據(jù)輸入。(2)使用T-SQL語言進(jìn)行插入數(shù)據(jù)。向teacher表中插入一行數(shù)據(jù),插入數(shù)據(jù)前先重新創(chuàng)建表teacher。具體數(shù)據(jù)如下:教師標(biāo)識(shí):dep04006,姓名:李微,性別:女(0),出生年月:5-311965,系號(hào):dep_04,職位:講師,聯(lián)系電話:58802976,家庭住址:南京古平崗35號(hào),郵政編碼:21000
17、8。 INSERT INTO teacher(teacher_id,teacher_name,sex,birth,department_id,profession,telephone,home_addr,postalcode) VALUES (dep04006,李微,0,5-31-1965,dep_04,講師,58802976,南京古平崗35號(hào),210008)在完成上述插入操作后,用企業(yè)管理器輸入teacher表中的適當(dāng)樣本數(shù)據(jù),供后面的實(shí)驗(yàn)使用。修改數(shù)據(jù)。將teacher表教師號(hào)為dep04006教師的姓名由 “李微” 改為 “李蔚” USE JWGL GO UPDATE teacher S
18、ET teacher_name=李蔚WHERE teacher_id=dep04006 刪除數(shù)據(jù)。將teacher表教師號(hào)為dep04006教師的記錄從teacher表中刪除。 USE JWGL GO DELETE FROM teacher WHERE teacher_id=dep04006在進(jìn)行刪除記錄時(shí)要加WHERE子句,否則可能會(huì)刪除全部記錄。上述實(shí)驗(yàn)完成后,創(chuàng)建附錄2的其余表,并按錄入適當(dāng)樣本數(shù)據(jù)。實(shí)驗(yàn)三 單表與多表查詢1實(shí)驗(yàn)?zāi)康?)理解查詢的概念和方法。 2)掌握查詢分析器的使用方法。 3)掌握SELECT語句在單表查詢中的應(yīng)用。 4)掌握復(fù)雜查詢的使用方法。 5)掌握多表連接的方法
19、。 6)掌握SELECT語句在多表查詢中的應(yīng)用。2實(shí)驗(yàn)內(nèi)容 1)單表查詢(1)基本查詢使用查詢分析器從student表中分別檢索出學(xué)生的所有信息及學(xué)號(hào)、姓名信息。 USE JWGL GO SELECT * FROM student SELECT student_id,studenLname FROM student(2)查詢時(shí)改變列標(biāo)題的顯示從student表中分別檢索出學(xué)生的學(xué)號(hào)、姓名、家庭住址信息并分別加上 “學(xué)生” 、 “家庭住址” 的標(biāo)題信息。 USE JWGLGO SELECT 學(xué)號(hào)=student_id,姓名=student_name,家庭住址=home_addr FROM stu
20、dent SELECT student_id AS 學(xué)號(hào),student_name AS 姓名,home _addr AS 家庭住址 FROM student(3)基于WHERE子句進(jìn)行數(shù)據(jù)查詢基于比較條件。從student_course表查詢出成績(jī)大于90分的學(xué)生資料。USE JWGLGOSELECT * FROM student_course WHERE grade90基于BETWEEN子句的數(shù)據(jù)查詢。從student_course表查詢出成績(jī)介于8090分之間的學(xué)生資料。USE JWGLGOSELECT * FROM student_course WHERE grade BETWEEN
21、80 AND 90基于IN子句的數(shù)據(jù)查詢。從teacher表中查詢出職稱為 “教授” 或 “副教授” 的教師號(hào)、教師姓名及職稱。USE JWGL GO SELECT teacher_id,teacher_name,profession FROM teacher WHERE profession IN(副教授,教授)基于LIKE子句的查詢。從student表中分別檢索出姓張的所有同學(xué)的資料;名字的第二個(gè)字是 “紅” 或 “虹” 的所有同學(xué)的資料。 USE JWGL GO SELECT * FROM student WHERE student_name LIKE 張 SELECT * FROM s
22、tudent WHERE student_name LIKE _紅,虹 (4)使用TOP關(guān)鍵字查詢分別從teacher表中檢索出前5個(gè)及表中前面20的教師的信息。 USE JWGL SELECT top 5 * FROM teacher SELECT top 20 PERCENT * FROM teacher (5)使用DISTINCT關(guān)鍵字查詢從teacher表中檢索出教師所在的系號(hào),并且要求顯示的系號(hào)不重復(fù)。 USE JWGL SELECT DISTINCT department_id FROM teacher (6)用計(jì)算列查詢將book表中的書號(hào)、書名及打九折后的價(jià)格(price)顯示
23、出來。 USE JWGL SELECT book_id,boolname,O.9*price FROM book(7)使用ORDERBY語句對(duì)查詢的結(jié)果進(jìn)行排序使用ORDERBY語句可以對(duì)查詢的結(jié)果進(jìn)行排序,升序的關(guān)鍵字是ASC,降序的關(guān)鍵字是DESC,系統(tǒng)默認(rèn)的是升序排列。從book表中查詢書價(jià)大于18元的書的書號(hào)、書名,并按書價(jià)升序排列。 USE JWGL GO SELECT book_id,book_name,price FROM book where price18 ORDER BY price ASC2)多表查詢Microsoft SQL Server 2000兼容兩種連接形式:和用
24、于WHERE子句的SQL Server 連接語法形式。(1)進(jìn)行多表查詢用于FROM子句的ANSI連接語法形式從student、course及student_course三個(gè)表中檢索學(xué)生的學(xué)號(hào)、姓名、學(xué)習(xí)課程號(hào)、學(xué)習(xí)課程名及課程成績(jī)。 SELECT student.studenUd,student.student_name,student_course.course_id, course.course_name,student_course.grade from student,student_course,course WHERE student.student_id=Student_cou
25、rse.student_id AND course.course_id=student_course.course_id (2)使用UNION子句進(jìn)行查詢使用UNION子句可以將一個(gè)或多個(gè)表的某些數(shù)據(jù)類型相同的列顯示在同一列上。 SELECT student_id AS代碼,student_name AS姓名FROM student UNION SELECT teacher_id,teacher_name FROM teacher (3)使用GROUP子句進(jìn)行查詢?nèi)绻跀?shù)據(jù)檢索時(shí)對(duì)表中數(shù)據(jù)按照一定條件進(jìn)行分組匯總或求平均值,就要在 SELECT語句中與GROUP BY子句一起使用集合函數(shù)。使
26、用GROUP BY子句進(jìn)行數(shù)據(jù)檢索可得到數(shù)據(jù)分類的匯總統(tǒng)計(jì)、平均值或其他統(tǒng)計(jì)信息。使用不帶HAVING的GROUP BY子句。使用不帶HAVING的GROUP BY子句匯總出student_course表中學(xué)生的學(xué)號(hào)及總成績(jī)。 USE JWGL GO SELECT 學(xué)號(hào)=student_id,總成績(jī)=sum(grade) FROM student_course GROUP BY student_id使用帶HAVING的GROUP BY子句。使用帶HAVmG的GROUP BY子句匯總出 student_course表中總分大于450分的學(xué)生的學(xué)號(hào)及總成績(jī)。 USE JWGL GO SELECT
27、學(xué)號(hào)=student_id,總成績(jī)=sum(grade) FROM student_course GROUP BY student_id HAVING sum(grade)450 (4)使用COMPUTE和COMPUTE BY子句進(jìn)行查詢使用COMPUTE和COMPUTE BY既能瀏覽數(shù)據(jù)又能看到統(tǒng)計(jì)的結(jié)果。 用COMPUTE子句匯總出student_course表中每個(gè)學(xué)生的學(xué)號(hào)及總成績(jī)。USE JWGL GO SELECT學(xué)號(hào)=student_id,成績(jī)=grade FROM Student_course ORDER BY student_id COMPUTE SUM(grade) 用CO
28、MPUTE BY子句按學(xué)號(hào)匯總出studenlcourse表中每個(gè)學(xué)生的學(xué)號(hào)及總成績(jī)。 USE JWGL GO SELECT學(xué)號(hào)=student_id,成績(jī)=grade PROM student_course ORDER BY student_id COMPUTE SUM(grade) BY student_id觀察使用COMPUTE子句和COMPUTE BY子句執(zhí)行結(jié)果有何不同? 3)進(jìn)行嵌套查詢 (1)使用IN或NOT IN關(guān)鍵字使用IN關(guān)鍵字查詢出 “g99402” 班所有男生的學(xué)號(hào)、課程號(hào)及相應(yīng)的成績(jī)。 USE JWGL GO SELECT student_Course.student
29、id,student_course.course_id,student_course.grade FROM Student_course WHERE student_id IN (SELECT student_id FROM student WHERE class_id=g99402 AND sex=1)(2)使用EXSISTS或NOT EXSISTS關(guān)鍵字使用EXSISTS關(guān)鍵字查詢出 “g99403” 班學(xué)生的學(xué)號(hào)、課程號(hào)及相應(yīng)的成績(jī)。 USE JWGL GOSELECT Student_course.student_id,student_course.course_id,Student_
30、course.grade FROM student_course WHERE EXISTS(SELECT * FROM student WHERE student_course.studenT_id=student.student_id AND student.class_id=g99403)4)使用企業(yè)管理器進(jìn)行數(shù)據(jù)查詢使用企業(yè)管理器也可進(jìn)行數(shù)據(jù)的查詢。如完成下列查詢。從studentcourse表查詢出成績(jī)介于8090分之間的學(xué)生資料。 從studentcourse表查詢出成績(jī)大于90分的學(xué)生資料。 從teacher表中查詢出職稱為 “教授” 或 “副教授” 的教師號(hào)、教師姓名及職稱。實(shí)驗(yàn)
31、四 數(shù)據(jù)庫的備份與恢復(fù)1實(shí)驗(yàn)?zāi)康?)理解SQL Server備份的基本概念。 2)了解備份設(shè)備的基本概念。 3)掌握各種備份數(shù)據(jù)庫的方法,了解如何制定備份計(jì)劃。 4)如何從備份中恢復(fù)數(shù)據(jù)。2實(shí)驗(yàn)內(nèi)容數(shù)據(jù)庫的備份與恢復(fù)是兩個(gè)相對(duì)應(yīng)的概念,備份是恢復(fù)的基礎(chǔ),恢復(fù)是備份的目的。數(shù)據(jù)庫備份是指系統(tǒng)管理員定期或不定期地將數(shù)據(jù)庫部分或全部?jī)?nèi)容復(fù)制到磁帶或另一個(gè)磁盤上保存起來的過程。備份可分為靜態(tài)備份和動(dòng)態(tài)備份。數(shù)據(jù)庫恢復(fù)是指在數(shù)據(jù)庫遭到破壞時(shí)使數(shù)據(jù)庫從有效的備份中恢復(fù)正常。1)創(chuàng)建、管理備份設(shè)備(1)使用T-SQL語句管理備份設(shè)備先創(chuàng)建文件夾 c:dump。在C:dupm位置創(chuàng)建一個(gè)名為DiskBak_j
32、wgl的本地磁盤備份文件。 USE JWGL GO EXEC sp_addumpdevice disk,DiskBakjwgl,c:dumpjwgl.bak 查看系統(tǒng)中有哪些備份設(shè)備。 sp_helpdevice查看備份設(shè)備中備份集內(nèi)包含的數(shù)據(jù)庫和日志文件列表。 RESTORE FILELISTONLY FROM DiskBak_jwgl 查看特定備份設(shè)備上所有備份集的備份首部信息。 RESTORE HEADERONLY FROM DiskBak_jwgl在執(zhí)行上述語句返回的結(jié)果集中: BackupName:備份集名 BackupDescription:備份描述 BackupType:備份類型
33、 Position:備份集號(hào) DeviceType:備份設(shè)備名 ServerName:服務(wù)器名 DatabaseName:數(shù)據(jù)庫名 BackupSize:備份集大小其中BackupType值的含義如下: 1:完整數(shù)據(jù)庫備份 2:事務(wù)日志備份 3:文件備份 4:差異數(shù)據(jù)庫備份 5:差異文件備份 刪除特定備份設(shè)備。 sp_dropdevice diskbak_jwgl (2)使用企業(yè)管理器管理備份設(shè)備 使用企業(yè)管理器創(chuàng)建一個(gè)備份設(shè)備DiskBakl_jwgl。展開服務(wù)器組,再展開一個(gè)服務(wù)器。展開 “管理” 文件夾,用鼠標(biāo)右鍵單擊 “備份” ,然后單擊 “新建備份設(shè)備” 命令。屏幕將顯示如圖2-4所
34、示的 “備份設(shè)備屬性” 窗口。使用企業(yè)管理器列出并查看備份設(shè)備DiskBak_jwgl的屬性。使用企業(yè)管理器列出備份設(shè)備的步驟如下: 展開服務(wù)器組,再展開一個(gè)服務(wù)器。展開 “管理” 文件夾,單擊 “備份” ,窗口右邊 “備份” 文件夾中將顯示當(dāng)前服務(wù)器上所有的備份設(shè)備。如圖2-5所示。 圖2-4 新備份設(shè)備對(duì)話框 圖2-5 在企業(yè)管理器中顯示備份設(shè)備 2)進(jìn)行數(shù)據(jù)庫備份 (1)使用T-SQL語句創(chuàng)建數(shù)據(jù)庫JWGL的備份 創(chuàng)建數(shù)據(jù)庫JWGL的完全備份。USE JWGLBACKUP DATABASE JWGL TO DiskBak_jwgl (2)使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫JWGL的備份實(shí)際備份操作
35、中,經(jīng)常使用企業(yè)管理器來進(jìn)行數(shù)據(jù)庫備份。建數(shù)據(jù)庫JWGL的完整備份。展開服務(wù)器組,然后展開服務(wù)器。展開 “數(shù)據(jù)庫” 文件夾,用鼠標(biāo)右鍵單擊要備份的數(shù)據(jù)庫名JWGL,指向 “所有任務(wù)” 子菜單,然后單擊 “備份數(shù)據(jù)庫” 命令。屏幕顯示備份對(duì)話框,如圖2-6所示。 圖2-6 SQL Server 備份對(duì)話框3)數(shù)據(jù)庫恢復(fù)(1)使用T-SQL語句進(jìn)行數(shù)據(jù)庫恢復(fù)從備份設(shè)備DiskBak_jwgl的完整數(shù)據(jù)庫備份中恢復(fù)數(shù)據(jù)庫JWGL。USE masterRESTORE DATABASE JWGL FROM DiskBak_jwgl(2)使用企業(yè)管理器進(jìn)行數(shù)據(jù)庫恢復(fù)從完全數(shù)據(jù)庫備份中恢復(fù)。展開服務(wù)器組,然
36、后展開服務(wù)器。 展開 “數(shù)據(jù)庫” 文件夾,用鼠標(biāo)右鍵單擊數(shù)據(jù)庫,指向 “所有任務(wù)” 子菜單,然后單擊 “還原數(shù)據(jù)庫” 命令。窗口將顯示如圖2-7所示的 “還原數(shù)據(jù)庫” 對(duì)話框。4)附加數(shù)據(jù)庫(1)展開服務(wù)器組,然后展開服務(wù)器。(2)右擊 “數(shù)據(jù)庫” ,然后選擇 “所有任務(wù)” / “附加數(shù)據(jù)庫” 。如圖2-8所示。(3)屏幕顯示附加數(shù)據(jù)庫窗口,如圖2-9所示。輸入要附加的數(shù)據(jù)庫的 MDF(master 數(shù)據(jù)文件)名稱。如果不確定文件位于何處,單擊瀏覽( “” )搜索。最多可以指定 16 個(gè)文件名。有關(guān)更多信息,請(qǐng)參閱 sp_attach_db。(4)若要確保指定的 MDF 文件正確,請(qǐng)單擊 “驗(yàn)證” 。 “原文件名” 列列出了數(shù)據(jù)庫中的所有文件(數(shù)據(jù)文件和日志文件)。 “當(dāng)前文件位置” 列列出了文件的名稱和路徑。如果 Microsoft? SQL Server? 找不到指定位置的文件,則附加操作將失敗。可以對(duì) “當(dāng)前文件位置” 列進(jìn)行編輯,并且文件的當(dāng)前位置必須在該列中才能使附加操作得以進(jìn)行。例如,如果在分離操作前改變了文件的默
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- JJG 2086-2025交流電壓計(jì)量器具檢定系統(tǒng)表
- 游樂設(shè)備管理規(guī)定
- 油氣儲(chǔ)層力學(xué)性質(zhì)與流體流動(dòng)
- 油品存放地安全操作規(guī)程
- Photoshop平面設(shè)計(jì)基礎(chǔ) 課件 任務(wù)6.3 攝影雜志封面
- 企業(yè)培訓(xùn)員工心態(tài)課件
- 創(chuàng)新型企業(yè)部分股權(quán)激勵(lì)與業(yè)績(jī)考核合同
- 離婚雙方車輛房產(chǎn)分割及共同財(cái)產(chǎn)清算協(xié)議
- 貨架行業(yè)投標(biāo)方案
- 餐飲業(yè)廚師職業(yè)規(guī)劃與就業(yè)合同
- 軸線翻身護(hù)理技術(shù)課件
- 冀教版 三年級(jí) 數(shù)學(xué) 上冊(cè) 第一單元《第1課時(shí) 倍的認(rèn)識(shí)》課件
- 護(hù)理質(zhì)量管理評(píng)價(jià)標(biāo)準(zhǔn)考核試題(附答案)
- 【課件】跨學(xué)科實(shí)踐:為家庭電路做設(shè)計(jì)+2025-2026學(xué)年人教版物理九年級(jí)上學(xué)期
- 2025屆中考數(shù)學(xué)全真模擬卷 【河北專用】及答案
- 廣告法法律培訓(xùn)課件
- 2025至2030中國高阻隔膜市場(chǎng)供需狀況與重點(diǎn)企業(yè)經(jīng)營(yíng)分析報(bào)告
- 鋼鐵超低排放改造評(píng)估報(bào)告
- 剪刀升降車安全教育培訓(xùn)
- 彩繪臉部?jī)和n件
- GB/T 2820.5-2025往復(fù)式內(nèi)燃機(jī)驅(qū)動(dòng)的交流發(fā)電機(jī)組第5部分:發(fā)電機(jī)組
評(píng)論
0/150
提交評(píng)論