數(shù)據(jù)庫(kù)與信息系統(tǒng)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書_第1頁(yè)
數(shù)據(jù)庫(kù)與信息系統(tǒng)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書_第2頁(yè)
數(shù)據(jù)庫(kù)與信息系統(tǒng)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書_第3頁(yè)
數(shù)據(jù)庫(kù)與信息系統(tǒng)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書_第4頁(yè)
數(shù)據(jù)庫(kù)與信息系統(tǒng)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)與信息系統(tǒng)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書指導(dǎo)老師:張華中國(guó)礦業(yè)大學(xué)測(cè)繪與地理信息工程系2012 年 9 月目 錄簡(jiǎn) 介3實(shí)驗(yàn)14實(shí)驗(yàn)2 數(shù)據(jù)庫(kù)的創(chuàng)建與管理14實(shí)驗(yàn)3 表的創(chuàng)建與管理23實(shí)驗(yàn)4 數(shù)據(jù)操縱27實(shí)驗(yàn)5 數(shù)據(jù)查詢30實(shí)驗(yàn)6 數(shù)據(jù)庫(kù)系統(tǒng)開發(fā)34簡(jiǎn) 介一、適用專業(yè)地理信息系統(tǒng),測(cè)繪工程二、實(shí)驗(yàn)?zāi)康呐c任務(wù)通過實(shí)驗(yàn)教學(xué),使學(xué)生進(jìn)一步加深理解數(shù)據(jù)庫(kù)系統(tǒng)的基本理論,學(xué)會(huì)數(shù)據(jù)庫(kù)設(shè)計(jì)方法、DBMS的使用,數(shù)據(jù)庫(kù)系統(tǒng)的管理和維護(hù),熟悉數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用。三、實(shí)驗(yàn)配套的主要儀器設(shè)備幾臺(tái)(套)數(shù)裝有WIN2000及SQL SERVER 2000的電腦60臺(tái)四、主要教材及參考書教材:數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用 賀利堅(jiān) 宇航出版社

2、參考書目:數(shù)據(jù)庫(kù)系統(tǒng)概論(第三版) 薩師煊 高等教育出版社五、考核形式 1、平時(shí)實(shí)驗(yàn)完成情況 20% 2、分組開發(fā)一套數(shù)據(jù)庫(kù)管理系統(tǒng)程序 80%六、實(shí)驗(yàn)開出率實(shí)驗(yàn)開出率100%七、實(shí)驗(yàn)項(xiàng)目與要求序號(hào)實(shí) 驗(yàn) 項(xiàng) 目 名 稱實(shí)驗(yàn)課學(xué)時(shí)數(shù)儀器組數(shù)每組人數(shù)實(shí)驗(yàn)類型開出要求指導(dǎo)實(shí)驗(yàn)人員材料消耗費(fèi)(元)計(jì)劃實(shí)際1實(shí)驗(yàn)1 SQL語(yǔ)言初步22601驗(yàn)證必開教師2實(shí)驗(yàn)2 數(shù)據(jù)庫(kù)的創(chuàng)建與管理22601驗(yàn)證必開教師3實(shí)驗(yàn)3 表的創(chuàng)建與管理22601設(shè)計(jì)必開教師4實(shí)驗(yàn)4 數(shù)據(jù)操縱22601設(shè)計(jì)必開教師5實(shí)驗(yàn)5 數(shù)據(jù)查詢24601驗(yàn)證必開教師6實(shí)驗(yàn)6 數(shù)據(jù)庫(kù)系統(tǒng)開發(fā)44601設(shè)計(jì)必開教師789實(shí) 驗(yàn) 1實(shí)驗(yàn)項(xiàng)目:建立數(shù)

3、據(jù)庫(kù)及基本表,數(shù)據(jù)查詢。實(shí)驗(yàn)?zāi)康模菏褂肧QL查詢分析器用CREATE語(yǔ)句創(chuàng)建基本表,使用SQL查詢分析器用SELECT語(yǔ)句進(jìn)行數(shù)據(jù)查詢。步驟:1、利用查詢分析器創(chuàng)建學(xué)生課程數(shù)據(jù)庫(kù)。 用鼠標(biāo)單擊“開始”,將鼠標(biāo)分別指向程序、microsoft SQL server,在microsoft SQL server下單擊“查詢分析器”;在“查詢分析器”窗口下鍵入CREATE DATABASE SC命令并保存,文件名為SC.sql 用鼠單擊任務(wù)欄的綠色向右箭頭運(yùn)行該命令。這樣,SC數(shù)據(jù)庫(kù)就建成了。如下列圖所示步驟 1) 步驟 2) 選擇此選項(xiàng)步驟 2)2、利用查詢分析器創(chuàng)建基本表student(sno,s

4、name,ssex,sage,sdept)course(cno,cname,ccredit)sc(sno,cno,grade)在查詢分析器任務(wù)欄的數(shù)據(jù)庫(kù)選為SC。在窗體下鍵入如下命令: CREATE TABLE Student (sno CHAR(10) NOT NULL UNIQUE, sname CHAR(8), ssex CHAR(2),sage INT,sdept CHAR(20) 保存,文件名為student.sql.,用鼠單擊任務(wù)欄的綠色向右箭頭運(yùn)行.在窗體下鍵入如下命令:CREATE TABLE Course (cno CHAR(10) NOT NULL ,cname CHAR(

5、20),Ccredit INT)用鼠單擊任務(wù)欄的綠色向右箭頭運(yùn)行,觀察結(jié)果。CREATE TABLE SC(sno CHAR(10) NOT NULL ,cno CHAR(10) NOT NULL,grade INT) 保存,文件名為sc.sql,用鼠單擊任務(wù)欄的綠色向右箭頭運(yùn)行.這樣在SC數(shù)據(jù)庫(kù)中建成了三個(gè)表:Student,Course,SC.3、利用企業(yè)管理器向表中輸入數(shù)據(jù)。Student表snosnamessexSageSdept張明男19計(jì)算機(jī)系 王強(qiáng)男20信息系 李華女18數(shù)學(xué)系 秦永男19計(jì)算機(jī)系 course表CnoCnameCcreditCno1 數(shù)據(jù)庫(kù) 31 2 數(shù)學(xué) 42

6、 3 信息系統(tǒng) 33 4 操作系統(tǒng) 34 5 數(shù)據(jù)結(jié)構(gòu) 45 6 PASCAL語(yǔ)言 36 S_c表SnoCnoGrade1 922 853 882 903 804、使用SQL查詢分析器用SELECT語(yǔ)句進(jìn)行數(shù)據(jù)查詢(1)簡(jiǎn)單查詢例1查詢?nèi)w學(xué)生的姓名、學(xué)號(hào)、所在系。Select sname,sno,sdeptFROM student本例查詢結(jié)果為:Sname Sno 張明 計(jì)算機(jī)系 王強(qiáng) 信息系 李華 數(shù)學(xué)系秦永 計(jì)算機(jī)系例2 查詢學(xué)生的詳細(xì)記錄Select * from student本例查詢結(jié)果為Sno Sname Sage Ssex Sdept 張明 19 男 計(jì)算機(jī)系 王強(qiáng) 18 一男

7、 信息系 李華 20 女 數(shù)學(xué)系 秦永 19 男 計(jì)算機(jī)系 例3 查詢學(xué)校有哪些系。Select distinct sdeptFrom student;本例查詢結(jié)果為:Sdept 計(jì)算機(jī)系數(shù)學(xué)系例4 查詢計(jì)算機(jī)系全體學(xué)生的學(xué)號(hào)與姓名SELECT sno,snameFrom studentWhere sdept=計(jì)算機(jī)系本例查詢結(jié)果為:Sno Sname 張明 秦永例5 查詢選修一號(hào)課程且成績(jī)90分以上的學(xué)生的學(xué)號(hào)Select sno From sc Where grade90 and cno=1本例查詢結(jié)果為:Sno (2) 連接查詢等值與非等值連接查詢例6查詢每個(gè)學(xué)生及其選修課程的情況Sel

8、ect student.*,sc.*From student,scWhere student.sno=sc.sno執(zhí)行結(jié)果為:Sno Sname Sage Ssex Sdept Sno20010l 張明 19 男 計(jì)算機(jī)系 200lOl20010l 張明 19 男 計(jì)算機(jī)系 20010l 張明 19 男 計(jì)算機(jī)系 20010l 王強(qiáng) 18 男 信息系 王強(qiáng) 18 男 信息系 復(fù)合條件連接例7查詢每個(gè)學(xué)生的學(xué)號(hào)、姓名、選修的課程名及成績(jī)。Select student.sno,sname,cname,gradeFrom student,sc.courseWhere student.sno=sc.s

9、noAnd o=o執(zhí)行結(jié)果為:Sno Sname Cname Grade 張明 數(shù)據(jù)庫(kù) 92 張明 數(shù)學(xué) 85 張明 信息系統(tǒng) 88 王強(qiáng) 數(shù)學(xué) 90 王強(qiáng) 信息系統(tǒng) 80例8查詢計(jì)算機(jī)系同學(xué)的各科成績(jī),要求輸出姓名、課名和成績(jī)Select sname,cname,gradeFrom student,course,scWhere student.sno=sc.snoAnd o=oAnd student.sdept=計(jì)算機(jī)系執(zhí)行結(jié)果為:Sname Cname Grade 張明 數(shù)據(jù)庫(kù) 92 張明 數(shù)學(xué) 85 張明 信息系統(tǒng) 88例9查詢選修

10、了數(shù)學(xué)課且成績(jī)及格的所有學(xué)生的學(xué)號(hào)、姓名和成績(jī)Select student.sno,sname,gradeForm student,sc,courseWhere student.sno=sc.snoAnd =oAnd ame= 數(shù)學(xué)And sc.grade60執(zhí)行結(jié)果為:Sno sname Grade 張明 85 王強(qiáng) 90自身連接例10查詢和張明在同一個(gè)系的學(xué)號(hào)和姓名select s1.sno,s1.snamefrom student s1,student s2where s1.sdept=s2.sdeptand s2.sname=張明執(zhí)行結(jié)果為

11、:Sno sname張明 秦永 外連接如例10的結(jié)果中沒有和兩個(gè)學(xué)生的信息,原因在于他們沒有選課,在SC表中沒有相應(yīng)的元組。但是有時(shí)我們想以Student表為主體列出每個(gè)學(xué)生的基本情況及其選課情況,當(dāng)然要反映出學(xué)生選修了什么課或是否沒有選課。若某個(gè)學(xué)生沒有選課,只輸出其基本情況信息,其選課信息為空值即可,這時(shí)就需要使用外連接(Outer Join)??梢詫⒗?改寫為Select student.sno,sname,ssex,sage,sdept,cno,gradeFrom student,scWhere student.sno*=sc.sno執(zhí)行結(jié)果如下: Sno Sname Ssex Sag

12、e Sdept Cno Grade 20010l 張明 男 19 計(jì)算機(jī)系 1 92 張明 男 19 計(jì)算機(jī)系 2 85 20010l 張明 男 19 計(jì)算機(jī)系 3 88 王強(qiáng) 男 18 信息系 2 90 王強(qiáng) 男 18 信息系 3 80 李華 女 20 數(shù)學(xué)系 NULL NULL 秦永 男 19 計(jì)算機(jī)系NULL NULL(3) 嵌套查詢例11查詢與“張明”在同一個(gè)系的學(xué)生學(xué)號(hào)與姓名SELECT Sno,Sname,Sdept FROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname= 張明)執(zhí)行結(jié)果如下:Sno S

13、name Sdept張明 計(jì)算機(jī)系 秦永 計(jì)算機(jī)系 例12查詢選修了信息系統(tǒng)學(xué)生學(xué)號(hào)與姓名SELECT Sno,Sname FROM Student WHERE SNO IN (SELECT Sno FROM Sc WHERE cno in (select cno From course Where cname=信息系統(tǒng))執(zhí)行結(jié)果如下:Sno sname張明 王強(qiáng) (4) 謂詞查詢between . and .例13查詢選修了2號(hào)課程,成績(jī)?cè)?0-90之間學(xué)生學(xué)號(hào)SELECT Sno FROM Sc WHERE cno=2and grade between 80 and 90執(zhí)行結(jié)果如下:Sn

14、o In 、not in例14 查詢數(shù)學(xué)系和計(jì)算機(jī)系學(xué)生的姓名和性別select sname,ssexfrom studentwhere sdept in(數(shù)學(xué)系,計(jì)算機(jī)系 )執(zhí)行結(jié)果為:Sname Ssex 張明 男李華 女秦永 男Like ,not like例15查詢學(xué)號(hào)為200l0l的學(xué)生的詳細(xì)情況。Select *From student Where sno like 執(zhí)行結(jié)果為:Sno Sname Sage Ssex Sdept 張明 19 男 計(jì)算機(jī)系例16 查詢所有姓李的學(xué)生的姓名、學(xué)號(hào)和性別。Select sname,sno,ssexFrom studentWhere snam

15、e like 李%本例查詢結(jié)果為:Sname Sno Ssex李華 女例17查詢名字中第2個(gè)字為“明”字的學(xué)生的姓名和學(xué)號(hào)。Select sname,snoFrom studentWhere sname like _明% 本例查詢結(jié)果為: Sno Sname20010l 張明Is null ,Is not null例18 查詢?nèi)鄙俪煽?jī)的學(xué)生的學(xué)號(hào)和相應(yīng)的課程號(hào)select sno,cnofrom scwhere grade is null本例查詢結(jié)果為空值例19 查詢所有有成績(jī)的學(xué)生學(xué)號(hào)和課程號(hào)select sno,cnofrom scwhere grade is not null本例查詢結(jié)果

16、為 Sno CnO 20010l l 2 3 2 3謂詞ANY和ALL及比較運(yùn)算符例20 查詢其他系中比計(jì)算機(jī)系某一學(xué)生年齡小的學(xué)生姓名和年齡。 select sname,sagefrom studentwhere sdept計(jì)算機(jī)系and sageany(select sage from student where sdept=計(jì)算機(jī)系)執(zhí)行結(jié)果為: Sname Sage 王強(qiáng) 18例21查詢其他系中比計(jì)算機(jī)系所有學(xué)生年齡都小的學(xué)生姓名及年齡。select sname,sagefrom studentwhere sdept計(jì)算機(jī)系and sageall(select sage from st

17、udent where sdept=計(jì)算機(jī)系)本例執(zhí)行結(jié)果。Sname Sage王強(qiáng) 18謂詞EXISTS和NOT EXISTS例22查詢所有選修了3號(hào)課程的學(xué)生姓名select snamefrom studentwhere EXISTS (select* from SC where SNO=STUDENT.SNO AND CNO=3)本例執(zhí)行結(jié)果SNAME張明 王強(qiáng) 例22查詢沒有選修l號(hào)課程的學(xué)生姓名。select snamefrom studentwhere not EXISTS (select* from SC where SNO=STUDENT.SNO AND CNO=1) 執(zhí)行結(jié)果

18、為: Sname 王強(qiáng) 李華(5)查詢結(jié)果排序例23查詢選修了3號(hào)課程的學(xué)生的學(xué)號(hào)及其成績(jī),查詢結(jié)果按分?jǐn)?shù)的降序排列select sno,gradefrom scwhere cno=3order by grade desc執(zhí)行結(jié)果為:Sn0 Grade 200lUl 88 80例24查詢?nèi)w學(xué)生情況,查詢結(jié)果按所在系的系名升序排列,同一系中的學(xué)生按年齡降序排列.select *from studentorder by sdept,sage desc執(zhí)行結(jié)果為:sno sname ssex sage sdept張明 男19計(jì)算機(jī)系 秦永 男19計(jì)算機(jī)系 李華 女18數(shù)學(xué)系 王強(qiáng) 男20信息系 (

19、6)統(tǒng)計(jì)查詢例25 查詢學(xué)生總?cè)藬?shù)select count(*)from student 執(zhí)行結(jié)果為:4例26 查詢選修了課程的學(xué)生人數(shù)select count(distinct sno)from sc執(zhí)行結(jié)果為:2例27 計(jì)算數(shù)學(xué)課的學(xué)生平均成績(jī)select avg(grade)from scwhere cno in(select cnofrom coursewhere cname=數(shù)學(xué))執(zhí)行結(jié)果為:87例28 計(jì)算數(shù)學(xué)課的學(xué)生最高分select max(grade)from scwhere cno in(select cnofrom coursewhere cname=數(shù)學(xué)).執(zhí)行結(jié)果為:

20、90例29 計(jì)算各門課的平均成績(jī)select cno,avg(grade)from scgroup by cno執(zhí)行結(jié)果為:CNO 無列名1 922 873 84實(shí)驗(yàn)2 數(shù)據(jù)庫(kù)的創(chuàng)建與管理目的和要求1鞏固數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí);2掌握創(chuàng)建數(shù)據(jù)庫(kù)的兩種方法;3掌握查看、修改數(shù)據(jù)庫(kù)屬性的方法;4掌握縮小、更名與刪除數(shù)據(jù)庫(kù)的方法。內(nèi)容和步驟一、建數(shù)據(jù)庫(kù)在SQL Server2000 下創(chuàng)建數(shù)據(jù)庫(kù)有兩種方法:1使用企業(yè)管理器直接創(chuàng)建數(shù)據(jù)庫(kù)1) 打開企業(yè)管理器。2) 左鍵雙擊“數(shù)據(jù)庫(kù)”后,右鍵單擊空白區(qū)并選擇【新建數(shù)據(jù)庫(kù)】。3) 會(huì)彈出窗體如圖1-1所示,在常規(guī)標(biāo)簽中輸入數(shù)據(jù)庫(kù)名稱。 圖1-1 新建數(shù)據(jù)庫(kù)4)

21、然后單擊【數(shù)據(jù)文件】標(biāo)簽,可以輸入文件名、文件位置、文件大小以及文件組。在這個(gè)對(duì)話框中還提供了在數(shù)據(jù)文件需要更多空間時(shí)自動(dòng)擴(kuò)展的選項(xiàng)以及數(shù)據(jù)文件大小的最大值。5)單擊【事務(wù)日志】標(biāo)簽,在此鍵入日志文件的名字、位置、大小。在這個(gè)標(biāo)簽中還提供了讓日志文件在日志需要更多空間時(shí)自動(dòng)擴(kuò)展選項(xiàng)和日志文件大小的最大值。 2使用Transact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)使用Transact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)的語(yǔ)法如下:CREATE DATABASE database_name ONPRIMARY( NAME = logical_file_name, FILENAME = os_file_name ,SIZE

22、= size ,MAXSIZE = max_size|UNLIMITED ,FILEGROWTH = growth_increment),n:=FILEGROUP filegroup_name ,nLOG ON(NAME = logical_file_name,FILENAME = os_file_nameSIZE = size,MAXSIZE = max_size | UNLIMITED,FILEGROWTH = growth_increment)例1 創(chuàng)建一個(gè)student數(shù)據(jù)庫(kù),其中主文件組包含主要數(shù)據(jù)文件student1_dat和次要數(shù)據(jù)文件student2_dat。有2個(gè)次要文件組:

23、studentGroup1包含2個(gè)次要數(shù)據(jù)文件student1Fi1_dat 和 studentFi2_dat, studentGroup2包含student2Fi1_dat和student2Fi2_dat兩個(gè)次要數(shù)據(jù)文件。日志的邏輯文件名為student_log,此日志文件存儲(chǔ)在c:mssqldatastudentlog.ldf中。CREATE DATABASE studentON PRIMARY(NAME = student1_dat, FILENAME = c:student1_dat.mdf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 15%), (N

24、AME = student2_dat, FILENAME = c:student2_dat.ndf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 15%), FILEGROUP studentGroup1 ( NAME = student1Fi1_dat, FILENAME = c:student1Fildt.ndf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5) ,( NAME = student1Fi2_dat, FILENAME = c:student2Fildt.ndf, SIZE = 10, MAXSIZE = 50

25、, FILEGROWTH = 5), FILEGROUP studentGroup2(NAME = student2Fil_dat, FILENAME = c:SG1Fi1dt.ndf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5),(NAME = student2Fi2_dat, FILENAME = c:SG2Fi1dt.ndf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5)LOG ON (NAME = student_log, FILENAME = c:studentlog.ldf, SIZE = 5MB, MAXS

26、IZE = 25MB, FILEGROWTH = 5MB)二、查看、修改數(shù)據(jù)庫(kù)屬性 1利用企業(yè)管理器(1)SQL Server2000 有許多選項(xiàng)可以改變數(shù)據(jù)庫(kù)的行為。因此,在使用數(shù)據(jù)庫(kù)之前,可以考慮其中一些選項(xiàng)的設(shè)置。 進(jìn)入企業(yè)管理器,用鼠標(biāo)右鍵單擊數(shù)據(jù)庫(kù)student,再單擊“屬性”,然后選擇“選項(xiàng)”標(biāo)簽即可進(jìn)入如圖1-2所示student數(shù)據(jù)庫(kù)的選項(xiàng)窗體。 圖1-2 student數(shù)據(jù)庫(kù)的選項(xiàng)窗體屬性說明如下:訪問控制:用于控制哪些用戶能訪問該數(shù)據(jù)庫(kù)。只讀:這個(gè)選項(xiàng)使數(shù)據(jù)庫(kù)只能讀取不能寫入。模型:指定數(shù)據(jù)庫(kù)的恢復(fù)模型類型。ANSI NULL默認(rèn)設(shè)置:指定將數(shù)據(jù)庫(kù)列默認(rèn)定義為NULL還是N

27、OT NULL。遞歸觸發(fā)器:?jiǎn)⒂糜|發(fā)器的遞歸觸發(fā)。自動(dòng)更新統(tǒng)計(jì)信息:指定在優(yōu)化期間自動(dòng)生成查詢優(yōu)化所需的過時(shí)統(tǒng)計(jì)信息。殘缺頁(yè)檢測(cè):指定可以檢測(cè)不完整頁(yè)。自動(dòng)關(guān)閉:指定數(shù)據(jù)庫(kù)資源被釋放以及所有用戶退出之后關(guān)閉數(shù)據(jù)庫(kù)。自動(dòng)收縮:指定數(shù)據(jù)庫(kù)文件可以周期性自動(dòng)收縮。自動(dòng)創(chuàng)建統(tǒng)計(jì)信息:指定在優(yōu)化期間自動(dòng)生成優(yōu)化查詢所需的任何缺少的統(tǒng)計(jì)信息。使用引用的標(biāo)識(shí)符:指定SQL Server2000將強(qiáng)制執(zhí)行關(guān)于引號(hào)的ANSI規(guī)則。級(jí)別:指定數(shù)據(jù)庫(kù)兼容性級(jí)別。2 調(diào)整數(shù)據(jù)庫(kù)大小點(diǎn)擊“數(shù)據(jù)文件”或“事物日志”標(biāo)簽,可以得到如圖1-3所示student數(shù)據(jù)庫(kù)的窗體 圖1-3 student數(shù)據(jù)庫(kù)的數(shù)據(jù)文件窗體屬性說明

28、:文件自動(dòng)增長(zhǎng):選中表示數(shù)據(jù)庫(kù)自動(dòng),這時(shí)可以選擇按兆增長(zhǎng)還是按百分比增長(zhǎng)。文件增長(zhǎng)不受限制:意味著數(shù)據(jù)庫(kù)沒有最大限制,可以一直充滿磁盤將文件增長(zhǎng)限制為,為數(shù)據(jù)庫(kù)選擇一個(gè)最大限制。分配空間:用戶可以直接增加數(shù)據(jù)庫(kù)文件大小擴(kuò)大數(shù)據(jù)庫(kù)的另外一個(gè)方法是增加輔助數(shù)據(jù)文件。3 增加文件組生成一輔助文件后,可將其邏輯組織到文件組中,幫助管理磁盤空間分配。增加文件組的方法是:在文件組列中輸入一個(gè)新的文件組名稱,如“next”,單擊“確定”,然后右擊數(shù)據(jù)庫(kù),選擇“屬性”,選擇“文件組”標(biāo)簽會(huì)看到增加的文件組。如圖1-4所示:圖1-4 student數(shù)據(jù)庫(kù)的文件組窗體 縮小數(shù)據(jù)文件右擊數(shù)據(jù)庫(kù),單擊“所有任務(wù)”,選

29、擇收縮數(shù)據(jù)庫(kù),會(huì)彈出圖1-5所示窗體,利用該窗體可以輸入數(shù)據(jù)庫(kù)大小,并且可以定制任務(wù),讓SQL Server2000自動(dòng)定期收縮數(shù)據(jù)庫(kù)大小。 圖1-5 收縮數(shù)據(jù)庫(kù)窗體2使用Transact-SQL語(yǔ)句查看、修改數(shù)據(jù)庫(kù)屬性使用Transact-SQL語(yǔ)句查看、修改數(shù)據(jù)庫(kù)屬性的語(yǔ)法為: sp_dboptiondbname = database,optname = option_name,optname = option_name dbname = database 設(shè)置指定選項(xiàng)的數(shù)據(jù)庫(kù)名稱optname = option_name 設(shè)置的選項(xiàng)名稱optname = option_name 可以示t

30、ure、false、on或off 修改日志文件的最大值將student1_log日志文件的最大值更改為150M,SQL腳本程序如下:USE studentGOALTER DATABASE student MODIFY FILE(NAME=student1_log,MAXSIZE=150MB)GO 修改日志文件的初始值將student1_log日志文件的初始值由5M更改為20M,SQL腳本程序如下:USE studentGOALTER DATABASE student MODIFY FILE(NAME=student1_log,SIZE=20MB)GO 查看數(shù)據(jù)庫(kù)信息執(zhí)行系統(tǒng)存儲(chǔ)過程sp_hel

31、pdb,可以查看student數(shù)據(jù)庫(kù)信息,并驗(yàn)證數(shù)據(jù)庫(kù)是否已經(jīng)修改成功。Sp_helpdb student 更改數(shù)據(jù)庫(kù)更改數(shù)據(jù)庫(kù)student時(shí)為student添加一個(gè)輔助文件,文件名為studentfz,存儲(chǔ)在c: studentfz.ndf中,初始大小為3MB,最大值為50MB,增長(zhǎng)量為3MB。USE studentALTER DATABASE studentADD FILE(NAME = studentfz,FILENAME=c:studentfz.ndf,SIZE=3MB,MAXSIZE=50,FILEGROWTH=3)向數(shù)據(jù)庫(kù)student中添加一個(gè)含有2個(gè)文件的文件組USE stu

32、dentGOALTER DATABASE student ADD FILEGROUP studentfg1GOALTER DATABASE studentADD FILE(NAME=studentfz1, FILENAME=C:studentfz1.ndf, SIZE =5MB, MAXSIZE=50MB, FILEGROWTH =5),(NAME=studentfz2, FILENAME=C:studentfz2.ndf, SIZE =5MB, MAXSIZE=50MB, FILEGROWTH =5) TO FILEGROUP studentfg1向student數(shù)據(jù)庫(kù)中添加2個(gè)5MB的日志

33、文件USE studentGOALTER DATABASE studentADD LOG FILE(NAME =studentlog2, FILENAME=c:studentlog2.ldf, SIZE =5MB, MAXSIZE = 10MB, FILEGROWTH =5),(NAME =studentlog3, FILENAME=c:studentlog3.ldf, SIZE =5MB, MAXSIZE = 10MB, FILEGROWTH =5)刪除數(shù)據(jù)庫(kù)student中的一個(gè)文件studentfz.ndfUSE studentGOALTER DATABASE student REMOV

34、E FILE studentfz刪除student數(shù)據(jù)庫(kù)USE studentDROP DATABASE student練習(xí)題練習(xí)1:創(chuàng)建數(shù)據(jù)庫(kù) 用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫(kù)1) 1) 創(chuàng)建數(shù)據(jù)庫(kù)Student:2) 2) 右擊數(shù)據(jù)庫(kù),單擊【新建數(shù)據(jù)庫(kù)】3) 3) 輸入數(shù)據(jù)庫(kù)名稱Student4) 4) 選擇【數(shù)據(jù)文件】標(biāo)簽,增加一個(gè)文件student1,設(shè)置初始大小為5MB5) 5) 選擇【事務(wù)日志】標(biāo)簽,增加一個(gè)日志文件student1_log,初始大小為5MB6) 6) 單擊【確定】按鈕,開始創(chuàng)建數(shù)據(jù)庫(kù)練習(xí)2:用Transact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)打開查詢分析器,創(chuàng)建數(shù)據(jù)庫(kù)Student1。

35、數(shù)據(jù)庫(kù)的參數(shù)如下表所示。參數(shù)參數(shù)值數(shù)據(jù)庫(kù)名稱Student1數(shù)據(jù)庫(kù)邏輯文件名Student1_dat操作系統(tǒng)數(shù)據(jù)文件名C:mssqldataStudent1_dat.mdf數(shù)據(jù)文件的初始大小10MB數(shù)據(jù)文件最大大小50MB數(shù)據(jù)文件增長(zhǎng)量原來的20%日志邏輯文件名Student_log操作系統(tǒng)日志文件名C:mssqldataStudent1_log.ldf日志文件初始大小5MB日志文件的最大大小25MB日志文件增長(zhǎng)增量5MB1) 設(shè)置數(shù)據(jù)庫(kù)選項(xiàng):使用企業(yè)管理器修改數(shù)據(jù)庫(kù)選項(xiàng)。右擊數(shù)據(jù)庫(kù),單擊“屬性”,選擇“選項(xiàng)”標(biāo)簽,彈出如圖所示窗體,選中“只讀”復(fù)選框。這樣數(shù)據(jù)庫(kù)就變?yōu)橹蛔x數(shù)據(jù)庫(kù)。然后打開查詢

36、分析器使用T-SQL語(yǔ)句更改數(shù)據(jù)庫(kù)選項(xiàng)。EXEC SP_DBOPTION student, read only, TRUE2)壓縮數(shù)據(jù)庫(kù):使用企業(yè)管理器壓縮數(shù)據(jù)庫(kù)。右擊數(shù)據(jù)庫(kù),選擇“所有任務(wù)”,單擊“收縮數(shù)據(jù)庫(kù)”,彈出圖示窗體。鍵入收縮量。使用T-SQL語(yǔ)句壓縮數(shù)據(jù)庫(kù)。打開查詢分析器鍵入DBCC SHRINKDATABASE(student,2)將student數(shù)據(jù)庫(kù)壓縮成為2M。3)更改數(shù)據(jù)庫(kù):打開查詢分析器更改數(shù)據(jù)庫(kù)student,參數(shù)如下:參數(shù)參數(shù)值數(shù)據(jù)庫(kù)名Student增加的文件組名StudentFG1增加的文件1的邏輯名Studentdat3文件1在磁盤中的目錄C:tdat3.ndf

37、文件1的初始大小5MB文件1的最大值50MB文件1的增長(zhǎng)量5MB增加的文件2邏輯名Studentdat4文件2磁盤中的目錄C:tdat3.ndf文件2初始大小5MB文件2最大值50MB文件2增長(zhǎng)量5MB新增日志邏輯文件名Studentlog2日志文件在磁盤中的目錄D:studentlog.ldf日志文件初始值5MB日志文件最大值100MB日志文件增長(zhǎng)量5MB實(shí)驗(yàn)3 表的創(chuàng)建與管理目的和要求1鞏固數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí);2掌握創(chuàng)建與刪除表的兩種方法;3掌握修改表結(jié)構(gòu)的方法。內(nèi)容和步驟一、表的創(chuàng)建1利用企業(yè)管理器創(chuàng)建表 1) 打開企業(yè)管理器。2) 選中創(chuàng)建好的數(shù)據(jù)庫(kù),單擊數(shù)據(jù)庫(kù)中的表對(duì)象,然后右擊窗口右

38、側(cè)選擇新建表,彈出如圖所示窗體。3) 在這個(gè)窗體中,列名列就示表的字段名,可以在這個(gè)窗體中為字段選擇數(shù)據(jù)類型和長(zhǎng)度以及是否可以為空值。4) 在此處可以為表選擇文件組,在表中單擊右鍵,選擇屬性,如果已經(jīng)為數(shù)據(jù)庫(kù)創(chuàng)建了一個(gè)次要組,可以在屬性窗體的表文件組中為此表選擇文件組。應(yīng)該把一些競(jìng)爭(zhēng)使用的表放于不同的文件組中,并且讓文件組屬于不同磁盤,這樣可以在表競(jìng)爭(zhēng)讀寫時(shí)提高并發(fā)性能。5) 創(chuàng)建完成后,單擊磁盤圖標(biāo),并為表取一個(gè)名字,注意,應(yīng)該為表取一個(gè)有意義的名字。2用Transact_SQL語(yǔ)句創(chuàng)建表 語(yǔ)法為: CREATE TABLE database_name.owner. table_name ( column_name data_type DEFAULT default_value| CONSTRAINT constraint_name , n IDENTITY (seed, increment ) ) ON filegroup | DEFAULT TEXTIMAGE_ON filegroup | DEFAULT 例1:生成一個(gè)表名為student的表例2 創(chuàng)建一張名為Ta1的表,此表中有3列,第一列Pid定義為主鍵,并且自動(dòng)增長(zhǎng)。第二列Name默認(rèn)值為Unknown,第三列定義一個(gè)約束(日期不能大于輸入當(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)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論