數(shù)據(jù)庫實驗報告)
《數(shù)據(jù)庫實驗報告)》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫實驗報告)(32頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、. . 工程學(xué)院 管理學(xué)院實驗報告 實驗課程名稱 : 數(shù)據(jù)庫原理及應(yīng)用 實 驗 地 點: 經(jīng)濟(jì)管理實驗教學(xué)中心 2021—2021學(xué)年〔一〕學(xué)期 2021 年 9月至 2021 年 12 月 專 業(yè) 信息管理與信息系統(tǒng) 班 級 10信管 學(xué)生 ** 學(xué) 號 20211511215 指導(dǎo)教師 **x 實驗一 實驗名稱: 熟悉SQL Server 2021的工作環(huán)境
2、 成績: 實驗?zāi)康? 1.熟悉企業(yè)管理器、查詢管理器的使用。 2.熟悉SQL Server 2021給出的樣例數(shù)據(jù)庫的容。 實 驗 容 和 步 驟 1. 練習(xí)企業(yè)管理器的使用。 熟練掌握SQL Server效勞管理器和企業(yè)管理器的啟動及參數(shù)配置等方法。 2. 熟悉樣例數(shù)據(jù)庫。 在企業(yè)管理器中,依次翻開兩個樣例數(shù)據(jù)庫:Pubs、Northwind,查看其所擁有的數(shù)據(jù)對象,主要包括表、試圖、存儲過程、角色、規(guī)那么、默認(rèn)值、定義的數(shù)據(jù)類型、定義的函數(shù)等。 3. 練習(xí)查詢分析器的使用。 〔1〕翻開企業(yè)管理器的工具菜單,如以下圖
3、所示: 4. 熟悉系統(tǒng)數(shù)據(jù)庫的構(gòu)造。 〔1〕在企業(yè)管理器中展開Master數(shù)據(jù)庫節(jié)點。 〔2〕熟悉Master數(shù)據(jù)庫中的所有表。 〔3〕找知名為sysservers的表,右擊該表名,選擇"翻開表〞—"返回所有行〞命令。 〔4〕按照此方法查看其他表的容。 如:sysusers 實驗二 實驗名稱: 創(chuàng)立數(shù)據(jù)庫和數(shù)據(jù)表 成績: 實驗?zāi)康? 1. 了解SQL Server 2021數(shù)據(jù)庫的邏輯構(gòu)造和物理構(gòu)造。 2. 了解表的構(gòu)造特點。 3. 熟悉SQLServer的根本數(shù)據(jù)類型。 4. 了解數(shù)據(jù)庫、數(shù)據(jù)表、約束等
4、相關(guān)的概念。 5. 實現(xiàn)在企業(yè)管理器中創(chuàng)立數(shù)據(jù)庫和表。 6. 掌握使用Transact-SQL語句創(chuàng)立數(shù)據(jù)庫和表的方法。 實 驗 容 和 步 驟 練習(xí)創(chuàng)立數(shù)據(jù)庫和數(shù)據(jù)表。 (1) 翻開"我的電腦〞或"資源管理器〞,在磁盤中以自己的或?qū)W號建立文件夾。 (2) 創(chuàng)立名為"學(xué)生-選課〞〔即名為JWGL〕的數(shù)據(jù)庫,并存儲在地〔1〕步建立的文件下。 (3) 在建立的JWGL數(shù)據(jù)庫中按照表9-1~表9-3所示創(chuàng)立student、course和sc 表9-1 student 表9-2 course 表9-3 sc (4)在數(shù)
5、據(jù)表中輸入數(shù)據(jù)。為表1和表3建立主鍵約束。 實驗三 實驗名稱: 根本數(shù)據(jù)查詢 成績: 實驗 目的 1. 掌握SELECT-From-Where語句的構(gòu)造及使用,實現(xiàn)在數(shù)據(jù)庫上進(jìn)展簡單查詢。 2. 掌握各種查詢操作方法。 實 驗 容 和 步 驟 數(shù)據(jù)表中輸入的數(shù)據(jù) Student Course SC 練習(xí)1:簡單查詢 (1) 查詢?nèi)w學(xué)生的學(xué)號與。 Select Sno,Sn FROM Student; (2) 查詢?nèi)w學(xué)生的及年齡。 Select Sn,Age FROM S
6、tudent; (3) 查詢?nèi)w學(xué)生的、年齡及所在的系別〔要用小寫字母表示系名,并用"系名〞來表示列名〕 Select Sn,Age,Dept AS 系名 FROM Student; (4) 查詢選修了課程的學(xué)生學(xué)號。 Select Sno FROM SC; 練習(xí)2:條件查詢 〔1〕查詢所有年齡在20歲以下的學(xué)生的及其年齡 Select Sn,Age FROM Student WHERE Age<20; 〔2〕查詢年齡在20到23歲之間的學(xué)生的系別及年齡 Select Sn,Dept,Age FROM Student WHERE Age BETWE
7、EN 20 AND 23; 〔3〕查詢年齡不在20~23歲之間的學(xué)生的、系別及年齡。 Select Sn,Dept,Age FROM Student WHERE Age NOT BETWEEN 20 AND 23; 〔4〕查詢所有姓"〞的學(xué)生的、學(xué)號和性別 Select Sn,Sno,Sex FROM Student WHERE Sn LIKE ‘%’; 〔5〕查詢?nèi)w學(xué)生情況,結(jié)果按所在系的編號升序排列,同一系的學(xué)生按年齡降序排列 Select *FROM Student Order BY Dno ASC,Age DESC; 〔6〕查詢所有不姓的學(xué)
8、生的 Select Sn FROM Student WHERE Sn NOT LIKE ‘%’; 實驗四 實驗名稱: 數(shù)據(jù)分組與匯總 成績: 實驗?zāi)康? 1. 掌握數(shù)據(jù)分組查詢的方法。 2. 掌握統(tǒng)計函數(shù)的使用。 2. 使用GROUP BY和HAVING子句對數(shù)據(jù)分組查詢。 4. 使用相應(yīng)的運算符或子句生成匯總數(shù)據(jù)。 實 驗 容 和 步 驟 練習(xí)1:使用統(tǒng)計函數(shù) 〔1〕查詢學(xué)生的總?cè)藬?shù) Select COUNT(Sno)AS 總?cè)藬?shù) FROM S
9、tudent; 〔2〕查詢選修課程的人數(shù) Select COUNT(Sno)AS 總?cè)藬?shù) FROM SC; 〔3〕計算選修了2門課程的學(xué)生的平均成績 Select AVG(Grade) AS 平均成績 FROM SC WHERE (Cno=’2’); 〔4〕查詢選修了3號課程的學(xué)生的最高分 Select MAX(Grade) AS MXS FROM SC WHERE (Cno=’3’); 練習(xí)2:分組查詢 〔1〕求有成績的每個學(xué)生的平均成績 Select Sno,AVG(Grade) AS 平均成績 FROM SC GROUP BY Sno; 〔2
10、〕求有成績的每個學(xué)生的總成績 Select Sno,SUM(Grade) AS 總成績 FROM SC GROUP BY Sno; 〔3〕求每門課程的平均成績 Select Cno,AVG(Grade)AS 平均成績 FROM SC GROUP BY Cno; 〔4〕求平均成績大于85分的學(xué)生的學(xué)號及平均成績 Select Sno,AVG(Grade)AS Grade FROM SC GROUP BY Sno HAVING AVG(Grade)>85; 〔5〕求平均成績大于85分的課程的課程號及課程平均成績。 Select Cno,AVG(Grade)AS G
11、rade FROM SC GROUP BY Cno HAVING AVG(Grade)>85; 〔6〕求各個課程號及相應(yīng)的選課人數(shù) 程序:Select Cno,COUNT(Cno)AS 選課人數(shù) FROM SC GroupBY Cno; 〔7〕查詢?nèi)藬?shù)多于2人〔含2人〕的系的編號及人數(shù) Select Dno,COUNT(Dno) AS 人數(shù) FROM Student GROUP BY Dno HAVING COUNT(Dno)>=2; 實驗五 實驗名稱: 多表連接 成績: 實驗 目的 1. 了解多表連接的作用。 2. 掌握使用不
12、同類型的連接方式進(jìn)展表的連接操作的方法。 實 驗 容 和 步 驟 1. 查詢選修"數(shù)據(jù)構(gòu)造〞課程的學(xué)生的學(xué)號 Select Sno AS 學(xué)號,Cn AS 選課 FROM Course,SC WHERE SC.Cno=Course.Cno AND Course.Cn=’數(shù)據(jù)構(gòu)造’; 2. 查詢學(xué)生‘珊’選修的課程的平均分 Select AVG(Grade)AS 平均分 FROM Student,SC WHERE Student.Sno=SC.Sno AND Sn=’珊’; 3. 查詢選修"數(shù)據(jù)庫原理〞課程的學(xué)生的平均分
13、 Select AVG(Grade) AS 平均分 FROM Course,SC WHERE Course.Cno=SC.Cno AND Cn=’數(shù)據(jù)庫原理’; 4. 查詢學(xué)生"斌〞的所有成績,顯示的列包括,成績 Select Sn,Grade AS 成績 FROM Student,SC WHERE Student.Sno=SC.Sno AND Sn=’ 斌’; 5. 查詢學(xué)生選修課的考試情況,顯示的列名包括學(xué)生,課程名稱,成績 Select Sn AS 學(xué)生,Cno AS課程名稱,Grade AS成績 FROM Student,SC WHERE Student.Sno=
14、SC.Sno; 6. 查詢成績大于70分的學(xué)生 Select DISTINCT Sn FROM Student,SC WHERE Student.Sno=SC.Sno AND Grade>70; 實驗六 實驗名稱: 數(shù)據(jù)更新操作 成績: 實驗?zāi)康? 1. 掌握在企業(yè)管理器中對數(shù)據(jù)表進(jìn)展插入、修改、刪除的數(shù)據(jù)操作。 2. 掌握使用Transact-SQL語句對數(shù)據(jù)庫表進(jìn)展插入、修改和刪除的數(shù)據(jù)操作。 3.
15、 了解Transact-SQL語句對表數(shù)據(jù)操作的靈活控制能力。 實 驗 容 和 步 驟 1. 向?qū)W生表中插入學(xué)生"**X〞的根本信息 INSERT INTO Student(Sno,Sn,Sex,Age,Dept,IDCard,Dno) VALUES(‘07’,’丹’,’女’,20,’管理學(xué)院’,07,04); Select * FROM Student; 2. 修改學(xué)生"**X〞的信息 UPDATE Student SET Age=20 WHERE Sno=’02’; Select * FROM Student;
16、 3. 刪除課程中"數(shù)據(jù)庫原理〞的課 DELETE FROM Course WHERE Cn=’數(shù)據(jù)庫原理’; 實驗七 實驗名稱: 索引及其應(yīng)用 成績: 實驗 目的 1. 掌握使用企業(yè)管理器和Transact-SQL語句創(chuàng)立索引的方法。 2. 了解不同索引對查詢性能的影響。 實 驗 容 和 步 驟 1. 給S建立一個唯一索引 CREATE unique index SCI on Student(Sno,Sn);
17、 實驗八 實驗名稱: 實現(xiàn)視圖 成績: 實驗 目的 1.掌握使用企業(yè)管理器和Transact-SQL語句創(chuàng)立視圖的方法。 2.握視圖加密技術(shù)。 3.學(xué)會通過視圖來修改數(shù)據(jù)。 實 驗 容 和 步 驟 1. 創(chuàng)立和檢驗試圖 CREATE VIEW ST AS Select Sno,Sn,Dept FROM Student 2. 創(chuàng)立一個新的學(xué)生信息表的視圖,并插入一行新數(shù)據(jù)。 CREATE VIEW St AS Select Sno,Sn,
18、Sex,Age,Dept,IDCard,Dno From Student INSERT INTO St(Sno,Sn,Sex,Age,Dept,IDCard,Dno) VALUES(‘08’,’徐謹(jǐn)’,’男’,21,’人文學(xué)院’,03,3); 實驗九 實驗名稱:實現(xiàn)存儲過程 成績: 實驗 目的 1. 掌握使用企業(yè)管理器和Transact-SOL語句創(chuàng)立存儲過程的方法。 2. 掌握帶參數(shù)和不帶參數(shù)的存儲過程的創(chuàng)立方法。 3. 掌握顯示存儲過程信息的方法。 實 驗 容 1. 創(chuàng)立如下不帶參數(shù)的簡單存儲過程。 查詢成績
19、在60~84分之間的學(xué)上的學(xué)號和課程號。 CREATE PROCEDURE Student_info AS Select Sno,Cno FROM SC WHERE Grade BETWEEN 60 AND 84; 2. 創(chuàng)立如下帶輸入?yún)?shù)的存儲過程。 〔1〕根據(jù)輸入的學(xué)號,刪除該學(xué)生的選課成績記錄。 CREATE PROCEDURE Grade_info Sno char(5) AS Delete FROM SC WHERE Sno=Sno; 〔2〕向SC表中插入數(shù)據(jù)。 CREATE PROCEDURE SC_info Sno char(5),Cno
20、 char(1),Grade decimal(9) AS INSERT INTO SC VALUES(Sno,Cno,Grade); 3. 創(chuàng)立如下帶輸出參數(shù)的存儲過程,并寫出一個調(diào)用該過程的例子。 根據(jù)輸入的學(xué)號、課程號,輸出其成績。 CREATE PROCEDURE there_info Sno char(5),Cno char(1), Grade char (9) output AS Select Grade FROM SC WHERE SC.Sno=Sno AND SC.Cno=Cno;
21、 實驗十 實驗名稱: 實現(xiàn)觸發(fā)器 成績: 實驗 目的 1.創(chuàng)立維護(hù)數(shù)據(jù)完整性的觸發(fā)器 2.創(chuàng)立強(qiáng)制復(fù)雜業(yè)務(wù)規(guī)那么的觸發(fā)器 實 驗 容 針對學(xué)生表〔Student〕、課程表〔Course〕、學(xué)生選課表〔SC〕和表9-4,實現(xiàn)如下實驗: 創(chuàng)立一個名為stu_insert的觸發(fā)器,向?qū)W生表Student插入記錄時,自動更新班級表中的class中的學(xué)生人數(shù)Number。 表9-4 班級表〔Class〕 Clno Speciality Number 95311 計算機(jī)軟件
22、2 95312 計算機(jī)應(yīng)用 2 CREATE TRIGGER stu_insertON Student FOR INSERT,UPDATE AS Select *FROM Student,inserted BEGIN UPDATE Class SET Number=Number+1 WHERE Clno=(SELECT Clno FROM inserted) END 觸發(fā)器前的Class表 在Student表中插入數(shù)據(jù) 觸發(fā)后Class表 實驗十一 實驗名稱:SQL Server的平安管理 成績: 實驗 目的 1. 掌握的SQL
23、 Server平安性機(jī)制。 2. 熟練掌握實現(xiàn)權(quán)限授予和回收的方法。 3. 掌握設(shè)計和實現(xiàn)平安保護(hù)機(jī)制的方法。 實 驗 容 1. 在企業(yè)管理器中設(shè)置SQL Server2000登錄身份驗證模式。 步驟為:翻開"企業(yè)管理器〞→展開"SQL Server組〞→選中"數(shù)據(jù)庫效勞器〞→單擊鼠標(biāo)右鍵,選擇"屬性〞命令→"平安性〞選項卡設(shè)置身份驗證模式為"SQL Server和Windows〞。 2. 添加SQL Server身份驗證登錄賬戶。 (1) 分別使用SQL語句和圖形化界面方式添加以下兩個SQL Server驗證登錄賬戶。 ① 賬戶1名為Te
24、stDB,密碼為123456; 語句:exec sp_addlogin ’TestDB’,’123456’ ② 賬戶2為CreateDB,密碼為654321。 語句:exec sp_addlogin ’CreateDB’,’654321’ (2) 寫出添加賬戶1的SQL語句。 exec sp_addlogin ’TestDB’,’123456’ 3. 效勞器角色的管理。 (1) 在企業(yè)管理器中查找所有效勞器角色。 (2) 嘗試添加或刪除效勞器角色。 (3) 嘗試修改效勞器角色的權(quán)限。 (4) 將賬戶CreateDB參加到Dbceator角色成員中(寫
25、出其SQL語句)。 語句:EXEC sp_grantdbaccess'CreateDB' ,'Dbcreator' 4. 添加或刪除數(shù)據(jù)庫用戶角色。 (1) 使用圖形化工具盒SQL語句兩種方法,為JWGL數(shù)據(jù)庫添加TestDB,并在默認(rèn)狀態(tài)下查看數(shù)據(jù)庫角色類型。 (2) 授予CreateDB操作JWGL數(shù)據(jù)庫的所有權(quán)限。 (3) 嘗試為數(shù)據(jù)庫新增數(shù)據(jù)庫角色。 (4) 了解效勞器角色和數(shù)據(jù)庫角色的區(qū)別。 5. 授權(quán)和回收權(quán)限。 (1) 授予TestDB對Student表執(zhí)行SELECT的權(quán)限。 語句:GRANT SELECT ON TABLE Student
26、 TO TestDB; (2) 授予TestDB對SC表執(zhí)行SELECT、INSERT的權(quán)限,并允許其將該權(quán)限授予其他用戶。 語句: GRANT SELECT,INSERT ON TABLE SC TO TestDB WITH GRANT OPTION; (3) 收回TestDB的SELECT和INSERT權(quán)限。 語句:REVOKE SELECT,INSERT ON TABLE SC FROM TestDB; 實驗十二 實驗名稱: 備份與恢復(fù) 成績: 實驗 目的 1.掌握使用企業(yè)管理
27、器規(guī)劃和執(zhí)行備份操作的方法 2.掌握使用企業(yè)管理器執(zhí)行恢復(fù)操作的方法 實 驗 容 1.創(chuàng)立備份設(shè)備 在本練習(xí)中,利用SQL server企業(yè)管理器和Transact-SQL語句,創(chuàng)立包含 數(shù)據(jù)庫和事務(wù)日志備份的備份設(shè)備。 (1) 企業(yè)管理器備份數(shù)據(jù)庫。 利用SQL server企業(yè)管理器,對JWGL數(shù)據(jù)庫執(zhí)行完全數(shù)據(jù)庫備份,并且將其存儲到磁盤文件中。 在企業(yè)管理器中,選擇"管理〞→"備份〞 →"備份數(shù)據(jù)庫〞命令,利用表9-5所示信息修改相應(yīng)的備份選項,單擊"確定〞按鈕執(zhí)行備份工作。 表9-5 備份信息 字段
28、 值 數(shù)據(jù)庫 JWGL 名稱 JWGLFull 描述 學(xué)生選課數(shù)據(jù)庫第1個全備 備份類型 數(shù)據(jù)庫—完全 目的 Jwgll 重寫 重寫現(xiàn)有媒體 〔2〕利用Transact-SQL語句將后續(xù)備份追加到某個備份文件中。 編寫并執(zhí)行Transact-SQL腳本,實現(xiàn)對數(shù)據(jù)庫JWGL的再次完全數(shù)據(jù)庫備份,并將該備份追加到Jwgll備份文件中。需要的信息如表9-6所示。 表9-6 備份所需信息 選項 值 數(shù)據(jù)庫名稱 JWGL 備份文件〔邏輯設(shè)備〕 Jwgll 追加、重寫成初始化 追加〔NOINT〕 描述 JWGL數(shù)據(jù)庫第2個全備 語句:BAC
29、KUP DATABASE JWGL TODISK='d:\sql2000\MSSQL\BACKUP\Jwgl1.BAK' WITH NOINIT,NAME='JWGL BACKUP', DESCRIPTION='JWGL數(shù)據(jù)庫第2個全備' 〔3〕備份設(shè)備的容。 在此實驗中,利用SQL Server企業(yè)管理器,查看備份文件Jwgll中的容,進(jìn)而確認(rèn)兩個完全數(shù)據(jù)庫備份是否存在。 翻開"企業(yè)管理器〞 →選擇"管理"→〞備份"命令→在右邊的細(xì)節(jié)面板中右擊Jwgll→選擇〞屬性"命令→單擊查看容→確認(rèn)備份文件中是否包括兩個完全數(shù)據(jù)庫備份。 〔4〕Transact-SQL語句重寫
30、現(xiàn)有備份和備份日志文件。 在此實驗中,編寫并執(zhí)行Transact-SQL腳本,實現(xiàn)對數(shù)據(jù)庫JWGL的再次完全數(shù)據(jù)庫備份,并重寫文件Jwgll中的現(xiàn)有備份。 語句:BACKUP DATABASE JWGL TODISK=' d:\sql2000\MSSQL\BACKUP\Jwgl1.BAK ' 語句:BACKUP DATABASE JWGL TODISK=' d:\sql2000\MSSQL\BACKUP\Jwgl1.BAK ' WITH INIT,NAME='JWGL BACKUP' 教育之通病是教用腦的人不用手,不教用手的人用腦,所以一無所能。教育革命的對策是手腦聯(lián)盟,結(jié)果是手與腦的力量都可以大到不可思議。 優(yōu)選
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇教版五上《小數(shù)乘整數(shù)》ppt課件
- 蘇教版一年級數(shù)學(xué)上冊《數(shù)一數(shù)》ppt課件
- 江南1優(yōu)秀課件
- 提高印字質(zhì)量課件
- 服務(wù)分銷策略課件
- 數(shù)學(xué)必修蘇教版互斥事件課件3(共32張PPT)
- 第三章要素費用的核算PPT優(yōu)秀資料
- 元素的質(zhì)量分?jǐn)?shù)計算答案
- 圖形的欣賞與設(shè)計
- 八年級下期Uuit10SectionA課件
- 部編七年級語文下冊4孫權(quán)勸學(xué)課件
- 部編一年級語文下冊端午粽課件
- 超市防損的技能課件
- 表彰班會教學(xué)課件教學(xué)課件
- 第17講中考數(shù)學(xué)專題復(fù)習(xí) 函數(shù)的綜合應(yīng)用中考數(shù)學(xué)專題復(fù)習(xí)課件課件各版通用