欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      數(shù)據(jù)庫原理與應(yīng)用實驗教案

      時間:2019-05-12 18:20:08下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《數(shù)據(jù)庫原理與應(yīng)用實驗教案》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《數(shù)據(jù)庫原理與應(yīng)用實驗教案》。

      第一篇:數(shù)據(jù)庫原理與應(yīng)用實驗教案

      實驗報告格式 《數(shù)據(jù)庫原理》實驗報告

      ?(實驗名稱:)?

      ? 專業(yè)

      ? 班級級()班 ? 學(xué)號 ? 學(xué)生姓名 ? 指導(dǎo)老師

      ? 攀枝花計算機學(xué)院 年月日

      ?

      一、實驗?zāi)康?/p>

      ? 本次實驗所涉及并要求掌握的知識點。根據(jù)老師實驗前的講授自行撰寫。(小四號字,宋體)?

      二、實驗內(nèi)容:

      ? 本次實驗的內(nèi)容及相關(guān)題目描述(小四號字,宋體)?

      三、SQL語句及運行結(jié)果 ? 創(chuàng)建數(shù)據(jù)庫:

      在數(shù)據(jù)庫節(jié)點右鍵新建數(shù)據(jù)庫,增加和修改數(shù)據(jù)文件名,設(shè)置增長方式以及數(shù)據(jù)庫邏輯名稱

      文件組添加Slave文件組 ? 修改數(shù)據(jù)庫:

      利用SQL語句修改,刪除,添加數(shù)據(jù)庫文件

      ? 刪除數(shù)據(jù)庫:

      ? ?

      ? 按照實驗內(nèi)容編寫的SQL語句或程序代碼與結(jié)果顯示(小四號字,宋體)?

      四、實驗總結(jié)

      ? 1 .實驗中遇到的問題及解決過程 ? 2 .實驗中產(chǎn)生的錯誤及原因分析 ? 3 .實驗體會和收獲。

      實驗一 創(chuàng)建數(shù)據(jù)庫(操作型)1.1 實驗?zāi)康?/p>

      (1)理解并掌握數(shù)據(jù)庫的基本概念;

      (2)理解并掌握數(shù)據(jù)文件、日志文件、文件組的基本概念;

      (3)熟練掌握和使用SQL Server Management Studio管理器創(chuàng)建、刪除、更改(包括文件組、文件大小、文件增長方式等參數(shù))數(shù)據(jù)庫;(4)熟練使用DDL語句來創(chuàng)建、刪除、更改(包括文件組、文件大小、文件增長方式等參數(shù))數(shù)據(jù)庫。

      1.2 實驗內(nèi)容

      件組,分別是主文件組和“Slave”文件組。數(shù)據(jù)庫包含兩個數(shù)據(jù)文件,分別是“mymaster.mdf”和“myslave.ndf”,其中數(shù)據(jù)文件“mymaster.mdf”屬于主文件組,存放在d:data目錄下,文件初始大小50M,文件屬性為自動增長,每次增長10%。數(shù)據(jù)文件“myslave.ndf”存放在e:data目錄下,屬于Slave文件組,文件大小固定為50M。該數(shù)據(jù)庫有一個日志文件,日志文件名稱“mylog.ldf”,文件位于c:log目錄中,日志文件初始大小為50M,文件屬性為自動增長,每次增長10M,最大文件大小為100M(實驗時一定要保證c:Log、d:data和e:data目錄存在,否則會發(fā)生錯誤,如果計算機d:盤或e:盤不存在,實驗時須將路徑調(diào)整到已存在的磁盤下);(1)創(chuàng)建數(shù)據(jù)庫:待創(chuàng)建的數(shù)據(jù)庫邏輯名稱為“MyDB”。該數(shù)據(jù)庫有兩個文(2)修改數(shù)據(jù)庫:將剛才創(chuàng)建的數(shù)據(jù)庫“MyDB”的名稱修改為“TESTDB”,并刪除數(shù)據(jù)文件“myslave.ndf”,同時增加一個數(shù)據(jù)文件,該數(shù)據(jù)文件邏輯名稱為“test“,文件名稱為“test.ndf”,數(shù)據(jù)文件位于e:data(在e盤存在的情況下,如果e盤不存在,可指定道其他磁盤位置下),其他參數(shù)默認;

      (3)刪除剛剛創(chuàng)建的“TESTDB”數(shù)據(jù)庫。

      1.3 實驗步驟

      對數(shù)據(jù)庫的管理(包括創(chuàng)建、修改、刪除)可以有兩種方式完成,使用SQL Server Management Studio管理器可以完成數(shù)據(jù)庫的日常管理,還可以通過查詢窗口輸入DDL語句完成數(shù)據(jù)庫的管理。

      1.3.1 數(shù)據(jù)庫創(chuàng)建

      (1)使用SQL Server Management Studio創(chuàng)建數(shù)據(jù)庫(2)使用SQL語句創(chuàng)建數(shù)據(jù)庫

      1.3.2 修改數(shù)據(jù)庫

      1.3.3 刪除數(shù)據(jù)庫“TESTDB”

      (1)使用Management Studio刪除“TESTDB”(2)使用SQL語句刪除數(shù)據(jù)庫

      1.4 思考與練習(xí)

      答:(1)什么是數(shù)據(jù)庫?數(shù)據(jù)庫的組成有哪些?

      (2)什么是文件組?如何創(chuàng)建文件組?主文件組可以刪除嗎?

      答:

      (3)數(shù)據(jù)文件,日志文件各有什么作用?

      答:

      (4)文件增長方式有哪些?如何設(shè)置?

      答:1)在新建數(shù)據(jù)庫的界面中設(shè)置自動增長方式

      2)利用SQL語句size設(shè)置大小,filegrowth設(shè)置增長類型,maxsize設(shè)置最大文件.(5)SQL Server Management Studio與數(shù)據(jù)庫的關(guān)系是什么

      答:

      第二篇:數(shù)據(jù)庫原理實驗教案

      《數(shù)據(jù)庫原理》課程實驗

      實驗1 創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表

      一、實驗?zāi)康?/p>

      熟悉SQL Server Management Studio界面;掌握通過圖形化向?qū)Ш蛨?zhí)行Transact-SQL語句創(chuàng)建數(shù)據(jù)庫的方法。

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      SQL Server中的一個數(shù)據(jù)庫必須至少包含一個數(shù)據(jù)文件和一個事務(wù)日志文件,所以創(chuàng)建數(shù)據(jù)庫就是建立主數(shù)據(jù)文件和日志文件。

      在SQL Server 2005中創(chuàng)建數(shù)據(jù)庫的方法主要有兩種:一是在SQL Server Management Studio窗口中使用可視化界面,通過方便的圖形化向?qū)?chuàng)建,二是通過執(zhí)行Transact-SQL語句創(chuàng)建。

      (一)向?qū)Х绞絼?chuàng)建

      1、從“開始”菜單選擇“所有程序”→“Microsoft SQL Server 2005”,打開“SQL Server Management Studio”窗口,使用Windows或SQL Server身份驗證建立連接。

      2、在“對象資源管理器”窗格中展開服務(wù)器,選擇“數(shù)據(jù)庫”節(jié)點右擊,從彈出的快捷菜單中選擇“新建數(shù)據(jù)庫”命令,打開“新建數(shù)據(jù)庫”窗口。

      3、該窗口中有3個頁,分別是“常規(guī)”、“選項”和“文件組”,完成這3個頁的內(nèi)容即可完成數(shù)據(jù)庫的創(chuàng)建。這里,我們僅設(shè)置“常規(guī)”的相應(yīng)內(nèi)容,其他2個頁的內(nèi)容按照默認設(shè)置即可。

      (1)“數(shù)據(jù)庫名稱”文本框中輸入數(shù)據(jù)庫的名稱,如“sample_st”,再輸入該數(shù)據(jù)庫的所有者,這里使用默認值即可。(也可以通過單擊文本框右邊的“瀏覽”按鈕選擇所有者。

      (2)“數(shù)據(jù)庫文件”列表中包括兩行,一個是數(shù)據(jù)文件,一個是日志文件。通過單擊下面相應(yīng)的按鈕可以添加或刪除相應(yīng)的數(shù)據(jù)文件。

      ? 邏輯名稱:指定該文件的文件名。

      ? 文件類型:用于區(qū)別當(dāng)前文件是數(shù)據(jù)文件還是日志文件。? 文件組:顯示當(dāng)前數(shù)據(jù)庫文件所屬的文件組。

      ? 初始大小:指定該文件的初始容量。在SQL Server 2005中數(shù)據(jù)文件的默認值為3MB,日志文件的默認值為1MB。? 自動增長:用于設(shè)置在文件容量不夠用時,文件根據(jù)何種增長方式自動增長。

      ? 路徑:指定存放在文件的目錄。默認情況下,SQL Server 2005將存放路徑設(shè)置為其安裝目錄下的data子目錄,單擊該列中的按鈕可以在打開的“定位文件夾”對話框中更改數(shù)據(jù)庫的存儲路徑。

      完成上述操作后,單擊“確定”按鈕關(guān)閉“新建數(shù)據(jù)庫”窗口,即完成了數(shù)據(jù)庫的創(chuàng)建,可以在“對象資源管理器”窗格中看到新建的數(shù)據(jù)庫。

      (二)語言方式創(chuàng)建

      SQL Server 2005使用的Transact-SQL語言是標準SQL的增強版本,使用它提供的Create Database語句同樣可以完成對數(shù)據(jù)庫的建立(參考內(nèi)容見附錄)。

      1、單擊“新建查詢”按鈕,創(chuàng)建一個查詢輸入窗口將附錄中的語句復(fù)制到該窗口。選擇創(chuàng)建數(shù)據(jù)庫的命令,單擊工具欄中的“分析”按鈕,可以檢查語法錯誤;單擊“執(zhí)行”按鈕即可執(zhí)行語句,在查詢窗口內(nèi)的“查詢”窗格中可以看到“命令已成功完成”的提示消息。在“對象資源管理器”窗格中刷新,即可看到新建的數(shù)據(jù)庫。

      2、繼續(xù)執(zhí)行Create Database之后的語句,在“sample_st”數(shù)據(jù)庫中用Create Table命令依次建立Student、Course和SC這三個數(shù)據(jù)表,利用Insert命令為各數(shù)據(jù)表添加數(shù)據(jù)。(參考內(nèi)容見教材P84)

      (三)知識鞏固

      仿照附錄內(nèi)容,用SQL-DDL語言創(chuàng)建“產(chǎn)品訂購”數(shù)據(jù)庫,包含四個數(shù)據(jù)表S、P、J和SPJ,表結(jié)構(gòu)及內(nèi)容見教材P122。

      實驗2 數(shù)據(jù)庫的簡單查詢

      一、實驗?zāi)康?/p>

      掌握單表查詢中各個子句(Select、From、Where、Group、Having、Order)的用法,特別要掌握比較運算符和邏輯運算符的使用。

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      在已建立的數(shù)據(jù)庫和數(shù)據(jù)表的基礎(chǔ)上,用Select語句完成下列查詢操作。

      1、查詢?nèi)w學(xué)生的學(xué)號和姓名。

      select sn,sno from s

      2、查詢?nèi)w學(xué)生的所有基本信息(僅針對Student表)。

      select * from s

      3、對SC表查詢?nèi)w學(xué)生的選課記錄,在顯示結(jié)果中為“Grade”列增加5分。select score+5 from sc

      4、查詢?nèi)w學(xué)生的學(xué)號和姓名,將原來的英文列名設(shè)置中文別名。select sn as 姓名,sno as 學(xué)號 from s

      5、顯示所有選課學(xué)生的學(xué)號,去掉重復(fù)結(jié)果。

      select distinct sno from sc

      6、查詢成績在80分以上的學(xué)生選課記錄

      select * from sc where score>80

      7、查詢經(jīng)濟系所有學(xué)生的學(xué)號和姓名。

      select sn,sno from s where dept='經(jīng)濟系'

      8、查詢成績在80~90分的學(xué)生選課記錄。

      select * from sc where score between 80 and 90

      9、查詢年齡不在22~25的學(xué)生記錄。

      select * from s where age not between 22 and 25

      10、查詢所有姓“劉”的學(xué)生記錄。

      select * from s where sn like'劉%'

      11、查詢無考試成績(成績?yōu)榭罩担┑膶W(xué)號、課程號。5

      select sno ,cno from sc where score is null

      12、查詢考試成績非空值的學(xué)號、課程號。

      select sno ,cno from sc where score is null

      13、查詢數(shù)學(xué)系年齡小于20歲的學(xué)生記錄。

      select * from s where dept ='數(shù)學(xué)系'and age <28

      14、查詢選修了“101”或“102”課程的選課記錄。select * from c where cno ='101' or cno ='102'

      15、查詢學(xué)生總?cè)藬?shù)。

      select count(sno)from s

      16、查詢選修了課程的學(xué)生人數(shù)。

      select count(distinct sno)from sc

      17、查詢選修了“101”課程的學(xué)生的平均成績。

      select AVG(score)from sc

      where cno='101'

      18、查詢學(xué)號為“01003”的學(xué)生的考試總成績。

      select sum(score)from sc

      where sno=01003

      19、查詢“101”課程的最高分和最低分。

      select max(score),MIN(score)from sc

      where cno='101'

      20、查詢每門課程的選課人數(shù)。

      select cno,COUNT(sno)from sc

      group by cno

      21、查詢每個學(xué)生的學(xué)號、選課數(shù)、平均成績和總成績。

      select sno,COUNT(cno)/*,AVG(score),sum(score)*/ from sc group by sno

      22、查詢選課數(shù)超過2的學(xué)生學(xué)號及其選課數(shù)。

      select sno,COUNT(cno)from sc

      group by sno

      having COUNT(*)>2

      23、查詢所有學(xué)生信息,查詢結(jié)果按年齡降序排列。(針對Student表操作)

      select * from s order by AGE desc

      24、查詢所有學(xué)生信息,查詢結(jié)果按系名升序,同系學(xué)生按年齡降序排列。

      select * from s order by dept,AGE desc

      25、查詢選課數(shù)超過2的學(xué)生學(xué)號及其選課數(shù),查詢結(jié)果按選課數(shù)降序排列。

      select sno,COUNT(cno)from sc group by sno having COUNT(*)>2 order by count(cno)desc

      實驗3 數(shù)據(jù)庫的多表查詢

      一、實驗?zāi)康?/p>

      繼續(xù)熟練SQL-SELECT語句的使用;理解多表查詢的概念;掌握多表連接查詢中各個子句的用法,特別要比較內(nèi)連接和外連接的結(jié)果。掌握非相關(guān)子查詢、相關(guān)子查詢的用法,理解它們的執(zhí)行過程;學(xué)會在SQL Server中用Exists實現(xiàn)交運算,用Not Exists實現(xiàn)差運算。

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      (一)、在已建立的數(shù)據(jù)庫和數(shù)據(jù)表的基礎(chǔ)上,用Select語句的連接查詢完成下列操作。

      1、查詢每個學(xué)生的基本信息及其選課情況。

      2、查詢選修“101”課程的學(xué)生學(xué)號、姓名和成績。

      3、查詢與“李平”在同一個系學(xué)習(xí)的學(xué)生記錄。

      4、查詢與“李平”年齡相同的學(xué)生記錄。

      5、查詢選修課程名為“數(shù)據(jù)庫原理”的選課記錄。

      6、查詢選修課程名為“數(shù)據(jù)庫原理”的學(xué)生記錄。

      7、查詢選修“101”課程且成績≥90的學(xué)號、姓名和成績。

      8、查詢“李平”的所有選課記錄。

      9、查詢數(shù)學(xué)系學(xué)生選修的課程號,要求結(jié)果中去掉重復(fù)記錄。

      10、查詢計算機系選修課程數(shù)≥2的學(xué)號、姓名及平均成績,查詢結(jié)果按平均成績降序。

      11、查詢每個學(xué)生的學(xué)號、選修課程號、課程名及成績。

      12、查詢所有學(xué)生的選修情況(包括選課和未選課的學(xué)生),要求顯示學(xué)號、姓名、課程號和成績。

      (二)、在已建立的數(shù)據(jù)庫和數(shù)據(jù)表的基礎(chǔ)上,用Select語句的嵌套查詢完成下列操作。

      1、查詢選修“101”課程且成績≥90的學(xué)號、姓名。

      2、查詢“李平”的所有選課記錄。

      3、查詢與“李平”在同一個系學(xué)習(xí)的學(xué)生記錄。

      4、查詢與“李平”年齡相同的學(xué)生記錄。

      5、查詢選修課程名為“數(shù)據(jù)庫原理”的選課記錄,輸出結(jié)果包括學(xué)號和成績。

      6、查詢選修課程名為“數(shù)據(jù)庫原理”的學(xué)生記錄,輸出結(jié)果包括學(xué)號、姓名和所在系。

      7、查詢學(xué)號為“01003”學(xué)生的選修課程號和課程名。

      8、查詢沒有選修“101”課程的學(xué)生學(xué)號和姓名。

      9、查詢選修“101”課程或“102”課程的學(xué)生姓名。

      10、查詢選修“101”課程和“102”課程的學(xué)生學(xué)號。

      11、查詢選修“101”課程但沒選修“102”課程的學(xué)生學(xué)號。

      12、查詢沒有選修任何課程的學(xué)生記錄,輸出結(jié)果包括學(xué)號、姓名和所在系。

      13、查詢數(shù)學(xué)系學(xué)生選修的課程號,要求結(jié)果中去掉重復(fù)記錄。

      14、查詢選修課程至少包含“01003”選修課程的學(xué)生學(xué)號。實驗4 數(shù)據(jù)庫更新、視圖定義及使用

      一、實驗?zāi)康?/p>

      掌握Insert、Update、Delete語句的使用;對于Insert語句,要求理解默認值約束、空值約束在插入記錄時所起的作用。理解視圖的概念,掌握Create View、Drop View語句的使用;掌握基于視圖的查詢語句的使用。

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      (一)、在已建立的數(shù)據(jù)庫和數(shù)據(jù)表的基礎(chǔ)上,向數(shù)據(jù)庫中添加一個臨時表ST,其結(jié)構(gòu)比Student表結(jié)構(gòu)多一個score字段。用Insert語句向臨時表輸入數(shù)據(jù),輸入有誤時用Update語句進行修改。再用三個更新語句完成下列操作。

      1、向Student表添加若干新記錄,內(nèi)容自定。(觀察已定義的表的約束情況)

      2、向SC表添加新記錄,內(nèi)容自定,不低于10條(注意不能違反參照完整性)。

      3、為臨時表ST添加記錄。

      4、把Student表的所有行一次性地加到臨時表ST中。

      5、在ST表中把所有學(xué)生的成績加2分。

      6、在ST表中把所有學(xué)生的年齡增加1。

      7、在ST表中把“李平”的所在系改為“計算機”。

      8、在ST表中將選修課程“數(shù)據(jù)庫原理”的學(xué)生成績加2分。

      9、在SC表中刪除所有成績?yōu)榭罩档倪x修記錄。

      10、刪除計算機系選修成績不及格的選課記錄。

      (二)、在已建立的數(shù)據(jù)庫和數(shù)據(jù)表的基礎(chǔ)上,完成下列操作。

      1、建立數(shù)學(xué)系學(xué)生的視圖MAST。

      2、建立計算機系選修課程名為“數(shù)據(jù)庫原理”的學(xué)生視圖,視圖名:CSTVIEW,該視圖中應(yīng)包括屬性列:學(xué)號、姓名、成績。

      3、創(chuàng)建一個名為STSUMVIEW的視圖,包括所有學(xué)生的學(xué)號和總成績。

      4、建立學(xué)生選課視圖SCVIEW,包括所有學(xué)生的學(xué)號、姓名、課程號、課程名和成績。

      5、通過MAST視圖查詢學(xué)生基本信息。

      6、通過SCVIEW查詢成績大于90分的學(xué)生的學(xué)號和成績。

      7、查詢計算機系選修課程名為“數(shù)據(jù)庫原理”并且成績大于85分的學(xué)生的學(xué)號和成績。

      8、通過MAST視圖將學(xué)號為“01008”學(xué)生的年齡修改為21歲。

      9、通過MAST視圖將學(xué)號為“01009”學(xué)生所在系改為“經(jīng)濟”,是否能成功執(zhí)行?若不能成功請說明理由;若修改成功,請再次通過MAST視圖查詢學(xué)生基本信息,是否能查詢到該生?若不能查詢請說明理由。

      10、通過SCVIEW視圖將學(xué)號為“01004”學(xué)生的總成績修改為380分,是否能成功執(zhí)行?若不能成功請說明理由。

      實驗5 數(shù)據(jù)庫的安全與保護

      一、實驗?zāi)康?/p>

      理解SQL Server的用戶與權(quán)限管理機制,掌握用對象資源管理器創(chuàng)建服務(wù)器登錄帳號,并同時建立用戶。掌握如何為給定的用戶分配權(quán)限。

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      用戶與權(quán)限管理

      (1)打開“SQL Server Management Studio”窗口,使用對象資源管理器創(chuàng)建兩個服務(wù)器登錄帳號Test1和Test2,并在“sample_st”數(shù)據(jù)庫中創(chuàng)建兩個對應(yīng)的同名用戶。設(shè)置Test1用戶和Test2用戶的默認架構(gòu)為guest。

      (2)使用Test1身份登錄,并為Test2分配創(chuàng)建數(shù)據(jù)表的權(quán)限;用Test2身份登錄來驗證權(quán)限分配成功。

      (3)使用Test1身份登錄,收回剛剛分配給Test2的創(chuàng)建數(shù)據(jù)表的權(quán)限;用Test2身份登錄來驗證權(quán)限回收成功。

      五、實驗步驟

      1、使用對象資源管理器創(chuàng)建兩個服務(wù)器登錄帳號。以系統(tǒng)管理員身份登錄SQL Server。打開“SQL Server Management Studio”窗口,在對象資源管理器列表中,打開展開“安全性”文件夾,選擇“登錄名”圖標,單擊鼠標右鍵,在彈出的菜單中選擇“新建登錄名”。在打開的對話框中依次建立Test1和Test2,選擇“SQL Server身份驗證”,同時還要輸入密碼,默認數(shù)據(jù)庫為“sample_st”。

      (2)在“用戶映射”中列出了當(dāng)前登錄帳號可以選擇訪問的數(shù)據(jù)庫如“sample_st”,在其左側(cè)的復(fù)選框中打勾,表示當(dāng)前登錄帳號可以訪問對應(yīng)的數(shù)據(jù)庫,默認用戶名與登錄帳號相同。

      (3)單擊“確定”按鈕完成創(chuàng)建。

      2、創(chuàng)建新的數(shù)據(jù)庫用戶。

      在對象資源管理器中選中要訪問操作的數(shù)據(jù)庫,展開“安全性”文件夾,在“用戶”文件夾中查找是否已建立與登錄名Test1和Test2同名的數(shù)據(jù)庫用戶,若已建立,則在屬性中修改其默認架構(gòu)為guest;否則右擊鼠標在菜單中選擇“新建用戶”選項,出現(xiàn)“數(shù)據(jù)庫用戶-新建”對話框,建立相應(yīng)的用戶。最后,在sample_st數(shù)據(jù)庫的“安全性?架構(gòu)?guest?屬性?權(quán)限”中,為test1和test2用戶分配相應(yīng)權(quán)限。

      3、用Grant、Revoke命令實現(xiàn)對用戶的授權(quán)和收權(quán)。

      4、用Create命令創(chuàng)建數(shù)據(jù)表驗證授權(quán)和收權(quán)是否成功。

      5、以系統(tǒng)管理員身份登錄SQL Server。使用:“GRANT SELECT ON SC TO Test1 WITH GRANT OPTION”命令,再分別以Test1和Test2身份登錄,進行授權(quán)及查詢數(shù)據(jù)表,驗證“WITH GRANT OPTION”能否成功執(zhí)行。

      6、以系統(tǒng)管理員身份使用“REVOKE”命令回收上述授權(quán)。

      實驗6 數(shù)據(jù)庫的完整性

      一、實驗?zāi)康?/p>

      通過實驗掌握數(shù)據(jù)庫完整性概念,掌握利用SQL Server 2005實現(xiàn)數(shù)據(jù)庫完整性的基本方法和步驟。

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      1、建立關(guān)系模式。

      完成教材P164第6題,用SQL語言定義“職工”和“部門”兩個關(guān)系模式: 職工(職工號,姓名,年齡,職務(wù),工資,部門號),職工號為主碼 部門(部門號,名稱,經(jīng)理名,電話), 部門號為主碼 要求在模式中完成以下完整性約束條件的定義:(1)定義每個模式的主碼;(2)定義參照完整性;

      (3)定義職工年齡不得超過60歲;(4)定義部門名稱必須取值唯一。

      2、驗證完整性約束。

      使用Insert Values語句向兩個表中各插入5~10條記錄,對下列內(nèi)容進行驗證。(1)驗證主鍵約束:“職工”和“部門”兩個表中是否能接受主碼值相同的記錄,通過實例驗證。

      (2)驗證唯一約束:“部門”表中是否能接受名稱相同的兩個不同記錄?為什么?

      (3)驗證檢查約束:“職工”表中能否接受年齡不滿足條件的記錄?為什么?

      (4)驗證參照完整性:若“部門”表中不存在部門號為“008”的記錄,是否能在“職工”表中插入部門號為“008”的職工記錄?若刪除“001”部門的所有信息,正確的操作步驟是什么?

      實驗7 數(shù)據(jù)庫設(shè)計實驗

      一、實驗?zāi)康?/p>

      通過實驗掌握數(shù)據(jù)庫設(shè)計的基本方法和步驟。

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      1、選定實驗題目,為某個單位或部門設(shè)計數(shù)據(jù)庫應(yīng)用系統(tǒng),比如:學(xué)生成績管理、機房上機管理、職工檔案管理、商品庫存管理、圖書管理、工資管理等。

      2、根據(jù)選定的題目進行需求分析,重點分析數(shù)據(jù)需求和功能需求。

      3、概念結(jié)構(gòu)設(shè)計:畫出E-R圖。

      4、邏輯結(jié)構(gòu)設(shè)計:設(shè)計數(shù)據(jù)庫和數(shù)據(jù)表的具體結(jié)構(gòu),指出各表的屬性名稱、數(shù)據(jù)類型;說明各表的主碼及表之間的關(guān)聯(lián)情況;說明本設(shè)計是否已達到3NF要求。

      5、簡要評價系統(tǒng)設(shè)計的優(yōu)點和不足。

      五、實驗要求

      1、提交設(shè)計報告,涵蓋實驗內(nèi)容的全部信息,不低于1000字。

      2、提交建立應(yīng)用系統(tǒng)數(shù)據(jù)庫的代碼,所有數(shù)據(jù)表中的記錄總數(shù)不低于50條。(請參照實驗2的附錄建立數(shù)據(jù)庫)

      實驗8 存儲過程實驗

      一、實驗?zāi)康?/p>

      通過實驗熟悉使用存儲過程進行數(shù)據(jù)庫應(yīng)用程序設(shè)計的方法

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      對sample_st數(shù)據(jù)庫,編寫存儲過程,完成下面功能

      1、統(tǒng)計任意一門課程的平均成績

      2、統(tǒng)計所有課程的平均成績

      3、統(tǒng)計任意一門課程的成績分布情況,即按照分數(shù)段統(tǒng)計人數(shù)(即<60、60-69、70-79、80-89、90以上)

      第三篇:數(shù)據(jù)庫原理實驗教案

      《數(shù)據(jù)庫原理》課程實驗

      實驗1 創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表

      一、實驗?zāi)康?/p>

      熟悉SQL Server Management Studio界面;掌握通過圖形化向?qū)Ш蛨?zhí)行Transact-SQL語句創(chuàng)建數(shù)據(jù)庫的方法。

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      SQL Server中的一個數(shù)據(jù)庫必須至少包含一個數(shù)據(jù)文件和一個事務(wù)日志文件,所以創(chuàng)建數(shù)據(jù)庫就是建立主數(shù)據(jù)文件和日志文件。

      在SQL Server 2005中創(chuàng)建數(shù)據(jù)庫的方法主要有兩種:一是在SQL Server Management Studio窗口中使用可視化界面,通過方便的圖形化向?qū)?chuàng)建,二是通過執(zhí)行Transact-SQL語句創(chuàng)建。

      (一)向?qū)Х绞絼?chuàng)建

      1、從“開始”菜單選擇“所有程序”→“Microsoft SQL Server 2005”,打開“SQL Server Management Studio”窗口,使用Windows或SQL Server身份驗證建立連接。

      2、在“對象資源管理器”窗格中展開服務(wù)器,選擇“數(shù)據(jù)庫”節(jié)點右擊,從彈出的快捷菜單中選擇“新建數(shù)據(jù)庫”命令,打開“新建數(shù)據(jù)庫”窗口。

      3、該窗口中有3個頁,分別是“常規(guī)”、“選項”和“文件組”,完成這3個頁的內(nèi)容即可完成數(shù)據(jù)庫的創(chuàng)建。這里,我們僅設(shè)置“常規(guī)”的相應(yīng)內(nèi)容,其他2個頁的內(nèi)容按照默認設(shè)置即可。

      (1)“數(shù)據(jù)庫名稱”文本框中輸入數(shù)據(jù)庫的名稱,如“sample_st”,再輸入該數(shù)據(jù)庫的所有者,這里使用默認值即可。(也可以通過單擊文本框右邊的“瀏覽”按鈕選擇所有者。

      (2)“數(shù)據(jù)庫文件”列表中包括兩行,一個是數(shù)據(jù)文件,一個是日志文件。通過單擊下面相應(yīng)的按鈕可以添加或刪除相應(yīng)的數(shù)據(jù)文件。

      ? 邏輯名稱:指定該文件的文件名。

      ? 文件類型:用于區(qū)別當(dāng)前文件是數(shù)據(jù)文件還是日志文件。? 文件組:顯示當(dāng)前數(shù)據(jù)庫文件所屬的文件組。

      ? 初始大小:指定該文件的初始容量。在SQL Server 2005中數(shù)據(jù)文件的默認值為3MB,日志文件的默認值為1MB。? 自動增長:用于設(shè)置在文件容量不夠用時,文件根據(jù)何種增長方式自動增長。

      ? 路徑:指定存放在文件的目錄。默認情況下,SQL Server 2005將存放路徑設(shè)置為其安裝目錄下的data子目錄,單擊該列中的按鈕可以在打開的“定位文件夾”對話框中更改數(shù)據(jù)庫的存儲路徑。

      完成上述操作后,單擊“確定”按鈕關(guān)閉“新建數(shù)據(jù)庫”窗口,即完成了數(shù)據(jù)庫的創(chuàng)建,可以在“對象資源管理器”窗格中看到新建的數(shù)據(jù)庫。

      (二)語言方式創(chuàng)建

      SQL Server 2005使用的Transact-SQL語言是標準SQL的增強版本,使用它提供的Create Database語句同樣可以完成對數(shù)據(jù)庫的建立(參考內(nèi)容見附錄)。

      1、單擊“新建查詢”按鈕,創(chuàng)建一個查詢輸入窗口將附錄中的語句復(fù)制到該窗口。選擇創(chuàng)建數(shù)據(jù)庫的命令,單擊工具欄中的“分析”按鈕,可以檢查語法錯誤;單擊“執(zhí)行”按鈕即可執(zhí)行語句,在查詢窗口內(nèi)的“查詢”窗格中可以看到“命令已成功完成”的提示消息。在“對象資源管理器”窗格中刷新,即可看到新建的數(shù)據(jù)庫。

      2、繼續(xù)執(zhí)行Create Database之后的語句,在“sample_st”數(shù)據(jù)庫中用Create Table命令依次建立Student、Course和SC這三個數(shù)據(jù)表,并建立各自的約束及它們之間的聯(lián)系(外鍵),利用Insert命令為各數(shù)據(jù)表添加數(shù)據(jù)。

      (三)知識鞏固

      用SQL-DDL語言創(chuàng)建“產(chǎn)品訂購”數(shù)據(jù)庫,包含四個數(shù)據(jù)表S、P、J和SPJ,表結(jié)構(gòu)及內(nèi)容見教材P122。

      實驗2 數(shù)據(jù)庫的簡單查詢

      一、實驗?zāi)康?/p>

      掌握單表查詢中各個子句(Select、From、Where、Group、Having、Order)的用法,特別要掌握比較運算符和邏輯運算符的使用。

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      在已建立的數(shù)據(jù)庫和數(shù)據(jù)表的基礎(chǔ)上,用Select語句完成下列查詢操作。

      1、查詢?nèi)w學(xué)生的學(xué)號和姓名。

      2、查詢?nèi)w學(xué)生的所有基本信息(僅針對Student表)。

      3、對SC表查詢?nèi)w學(xué)生的選課記錄,在顯示結(jié)果中為“Grade”列增加5分。

      4、查詢?nèi)w學(xué)生的學(xué)號和姓名,將原來的英文列名設(shè)置中文別名。

      5、顯示所有選課學(xué)生的學(xué)號,去掉重復(fù)結(jié)果。

      6、查詢成績在80分以上的學(xué)生選課記錄。

      7、查詢經(jīng)濟系所有學(xué)生的學(xué)號和姓名。

      8、查詢成績在80~90分的學(xué)生選課記錄。

      9、查詢年齡不在22~25的學(xué)生記錄。

      10、查詢所有姓“劉”的學(xué)生記錄。

      11、查詢無考試成績(成績?yōu)榭罩担┑膶W(xué)號、課程號。

      12、查詢考試成績非空值的學(xué)號、課程號。

      13、查詢數(shù)學(xué)系年齡小于20歲的學(xué)生記錄。

      14、查詢選修了“101”或“102”課程的選課記錄。

      15、查詢學(xué)生總?cè)藬?shù)。

      16、查詢選修了課程的學(xué)生人數(shù)。

      17、查詢選修了“101”課程的學(xué)生的平均成績。

      18、查詢學(xué)號為“01003”的學(xué)生的考試總成績。

      19、查詢“101”課程的最高分和最低分。20、查詢每門課程的選課人數(shù)。

      21、查詢每個學(xué)生的學(xué)號、選課數(shù)、平均成績和總成績。

      22、查詢選課數(shù)超過2的學(xué)生學(xué)號及其選課數(shù)。

      23、查詢所有學(xué)生信息,查詢結(jié)果按年齡降序排列。(針對Student表操作)

      24、查詢所有學(xué)生信息,查詢結(jié)果按系名升序,同系學(xué)生按年齡降序排列。

      25、查詢選課數(shù)超過2的學(xué)生學(xué)號及其選課數(shù),查詢結(jié)果按選課數(shù)降序排列。

      實驗3 數(shù)據(jù)庫的多表查詢

      一、實驗?zāi)康?/p>

      繼續(xù)熟練SQL-SELECT語句的使用;理解多表查詢的概念;掌握多表連接查詢中各個子句的用法,特別要比較內(nèi)連接和外連接的結(jié)果。掌握非相關(guān)子查詢、相關(guān)子查詢的用法,理解它們的執(zhí)行過程;學(xué)會在SQL Server中用Exists實現(xiàn)交運算,用Not Exists實現(xiàn)差運算。

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      (一)、在已建立的數(shù)據(jù)庫和數(shù)據(jù)表的基礎(chǔ)上,用Select語句的連接查詢完成下列操作。

      1、查詢每個學(xué)生的基本信息及其選課情況。

      2、查詢選修“101”課程的學(xué)生學(xué)號、姓名和成績。

      3、查詢與“李平”在同一個系學(xué)習(xí)的學(xué)生記錄。

      4、查詢與“李平”年齡相同的學(xué)生記錄。

      5、查詢選修課程名為“數(shù)據(jù)庫原理”的選課記錄。

      6、查詢選修課程名為“數(shù)據(jù)庫原理”的學(xué)生記錄。

      7、查詢選修“101”課程且成績≥90的學(xué)號、姓名和成績。

      8、查詢“李平”的所有選課記錄。

      9、查詢數(shù)學(xué)系學(xué)生選修的課程號,要求結(jié)果中去掉重復(fù)記錄。

      10、查詢計算機系選修課程數(shù)≥2的學(xué)號、姓名及平均成績,查詢結(jié)果按平均成績降序。

      11、查詢每個學(xué)生的學(xué)號、選修課程號、課程名及成績。

      12、查詢所有學(xué)生的選修情況(包括選課和未選課的學(xué)生),要求顯示學(xué)號、姓名、課程號和成績。

      (二)、在已建立的數(shù)據(jù)庫和數(shù)據(jù)表的基礎(chǔ)上,用Select語句的嵌套查詢完成下列操作(含EXISTS量詞)。

      1、查詢選修“101”課程且成績≥90的學(xué)號、姓名。

      2、查詢“李平”的所有選課記錄。

      3、查詢與“李平”在同一個系學(xué)習(xí)的學(xué)生記錄。

      4、查詢與“李平”年齡相同的學(xué)生記錄。

      5、查詢選修課程名為“數(shù)據(jù)庫原理”的選課記錄,輸出結(jié)果包括學(xué)號和成績。

      6、查詢選修課程名為“數(shù)據(jù)庫原理”的學(xué)生記錄,輸出結(jié)果包括學(xué)號、姓名和所在系。

      7、查詢學(xué)號為“01003”學(xué)生的選修課程號和課程名。

      8、查詢沒有選修“101”課程的學(xué)生學(xué)號和姓名。

      9、查詢選修“101”課程或“102”課程的學(xué)生姓名。

      10、查詢選修“101”課程和“102”課程的學(xué)生學(xué)號。

      11、查詢選修“101”課程但沒選修“102”課程的學(xué)生學(xué)號。

      12、查詢沒有選修任何課程的學(xué)生記錄,輸出結(jié)果包括學(xué)號、姓名和所在系。

      13、查詢數(shù)學(xué)系學(xué)生選修的課程號,要求結(jié)果中去掉重復(fù)記錄。

      14、查詢選修課程至少包含“01003”選修課程的學(xué)生學(xué)號。實驗4 數(shù)據(jù)庫更新、視圖定義及使用

      一、實驗?zāi)康?/p>

      掌握Insert、Update、Delete語句的使用;對于Insert語句,要求理解默認值約束、空值約束在插入記錄時所起的作用。理解視圖的概念,掌握Create View、Drop View等語句的使用;掌握基于視圖的查詢語句的使用。

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      (一)、在已建立的數(shù)據(jù)庫和數(shù)據(jù)表的基礎(chǔ)上,向數(shù)據(jù)庫中添加一個臨時表ST(sno,sname,dept,sage,cno,cname,score)。用Insert語句向臨時表輸入數(shù)據(jù),輸入有誤時用Update語句進行修改。再用三個更新語句完成下列操作。

      1、向Student表添加若干新記錄,內(nèi)容自定。(觀察已定義的表的約束情況)

      2、向SC表添加新記錄,內(nèi)容自定,不低于10條(注意不能違反參照完整性)。

      3、為臨時表ST添加記錄。

      4、把Student表的所有行及其對應(yīng)的選課一次性地加到臨時表ST中。

      5、在ST表中把所有學(xué)生的成績加2分。

      6、在ST表中把所有學(xué)生的年齡增加1。

      7、在ST表中把“李平”的所在系改為“計算機”。

      8、在ST表中將選修課程“數(shù)據(jù)庫原理”的學(xué)生成績加2分。

      9、在SC表中刪除所有成績?yōu)榭罩档倪x修記錄。

      10、刪除計算機系選修成績不及格的選課記錄。

      (二)、在已建立的數(shù)據(jù)庫和數(shù)據(jù)表的基礎(chǔ)上,完成下列操作。

      1、建立數(shù)學(xué)系學(xué)生的視圖MAST。

      2、建立計算機系選修課程名為“數(shù)據(jù)庫原理”的學(xué)生視圖,視圖名:CSTVIEW,該視圖中應(yīng)包括屬性列:學(xué)號、姓名、成績。

      3、創(chuàng)建一個名為STSUMVIEW的視圖,包括所有學(xué)生的學(xué)號和總成績。

      4、建立學(xué)生選課視圖SCVIEW,包括所有學(xué)生的學(xué)號、姓名、課程號、課程名和成績。

      5、通過MAST視圖查詢學(xué)生基本信息。

      6、通過SCVIEW查詢成績大于90分的學(xué)生的學(xué)號和成績。

      7、查詢計算機系選修課程名為“數(shù)據(jù)庫原理”并且成績大于85分的學(xué)生的學(xué)號和成績。

      8、通過MAST視圖將學(xué)號為“01008”學(xué)生的年齡修改為21歲。

      9、通過MAST視圖將學(xué)號為“01009”學(xué)生所在系改為“經(jīng)濟”,是否能成功執(zhí)行?若不能成功請說明理由;若修改成功,請再次通過MAST視圖查詢學(xué)生基本信息,是否能查詢到該生?若不能查詢請說明理由。

      10、通過SCVIEW視圖將學(xué)號為“01004”學(xué)生的總成績修改為380分,是否能成功執(zhí)行?若不能成功請說明理由。

      實驗5 數(shù)據(jù)庫的安全與保護

      一、實驗?zāi)康?/p>

      理解SQL Server的用戶與權(quán)限管理機制,掌握用對象資源管理器創(chuàng)建服務(wù)器登錄帳號,并同時建立用戶。掌握如何為給定的用戶分配權(quán)限。

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      用戶與權(quán)限管理

      (1)打開“SQL Server Management Studio”窗口,使用對象資源管理器創(chuàng)建兩個服務(wù)器登錄帳號Test1和Test2,并在“sample_st”數(shù)據(jù)庫中創(chuàng)建兩個對應(yīng)的同名用戶。設(shè)置Test1用戶和Test2用戶的默認架構(gòu)為guest。

      (2)使用Test1身份登錄,并為Test2分配創(chuàng)建數(shù)據(jù)表的權(quán)限;用Test2身份登錄來驗證權(quán)限分配成功。

      (3)使用Test1身份登錄,收回剛剛分配給Test2的創(chuàng)建數(shù)據(jù)表的權(quán)限;用Test2身份登錄來驗證權(quán)限回收成功。

      五、實驗步驟

      1、使用對象資源管理器創(chuàng)建兩個服務(wù)器登錄帳號。以系統(tǒng)管理員身份登錄SQL Server。打開“SQL Server Management Studio”窗口,在對象資源管理器列表中,打開展開“安全性”文件夾,選擇“登錄名”圖標,單擊鼠標右鍵,在彈出的菜單中選擇“新建登錄名”。在打開的對話框中依次建立Test1和Test2,選擇“SQL Server身份驗證”,同時還要輸入密碼,默認數(shù)據(jù)庫為“sample_st”。

      (2)在“用戶映射”中列出了當(dāng)前登錄帳號可以選擇訪問的數(shù)據(jù)庫如“sample_st”,在其左側(cè)的復(fù)選框中打勾,表示當(dāng)前登錄帳號可以訪問對應(yīng)的數(shù)據(jù)庫,默認用戶名與登錄帳號相同。

      (3)單擊“確定”按鈕完成創(chuàng)建。

      2、創(chuàng)建新的數(shù)據(jù)庫用戶。

      在對象資源管理器中選中要訪問操作的數(shù)據(jù)庫,展開“安全性”文件夾,在“用戶”文件夾中查找是否已建立與登錄名Test1和Test2同名的數(shù)據(jù)庫用戶,若已建立,則在屬性中修改其默認架構(gòu)為guest;否則右擊鼠標在菜單中選擇“新建用戶”選項,出現(xiàn)“數(shù)據(jù)庫用戶-新建”對話框,建立相應(yīng)的用戶。

      3、用Grant、Revoke命令實現(xiàn)對用戶的授權(quán)和收權(quán)。

      4、用Create命令創(chuàng)建數(shù)據(jù)表驗證授權(quán)和收權(quán)是否成功。

      5、以系統(tǒng)管理員身份登錄SQL Server。使用:“GRANT SELECT ON SC TO Test1 WITH GRANT OPTION”命令,再分別以Test1和Test2身份登錄,進行授權(quán)及查詢數(shù)據(jù)表,驗證“WITH GRANT OPTION”能否成功執(zhí)行。

      6、以系統(tǒng)管理員身份使用“REVOKE”命令回收上述授權(quán)。

      實驗6 數(shù)據(jù)庫的事務(wù)及并發(fā)控制

      一、實驗?zāi)康?/p>

      通過實驗加深學(xué)生對事務(wù)的基本概念理解語掌握;加深學(xué)生對并發(fā)控制的基本概念理解,認識不正確的并發(fā)控制所帶來的危害;加深學(xué)生對鎖的基本概念的掌握與理解,認識鎖帶來的問題;

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      1、事務(wù)的控制

      數(shù)據(jù)準備:執(zhí)行如下命令Select * into ##temp from student,將student的數(shù)據(jù)倒入到##temp表中。? 啟動事務(wù),執(zhí)行刪除后,回滾事務(wù)

      ? ? ? ? ? ? 選擇##temp的數(shù)據(jù),察看記錄總數(shù) 顯式啟動事務(wù) 刪除##temp表的數(shù)據(jù)

      選擇##temp數(shù)據(jù),察看記錄總數(shù) 回滾事務(wù)

      選擇##temp數(shù)據(jù),察看記錄總數(shù)

      ? 啟動事務(wù),執(zhí)行刪除后,提交事務(wù)

      ?

      選擇##temp數(shù)據(jù),察看記錄總數(shù) ? ? ? ? ? 顯式啟動事務(wù) 刪除##temp表的數(shù)據(jù)

      選擇##temp的數(shù)據(jù),察看記錄總數(shù) 回滾事務(wù)

      選擇##temp數(shù)據(jù),察看記錄總數(shù)

      比較這兩次執(zhí)行效果的差異,為什么會有這些差異?

      2、事務(wù)的隔離級別試驗

      數(shù)據(jù)準備:執(zhí)行如下命令Select * into ##temp from student,將student的數(shù)據(jù)倒入到##temp表中。? 臟讀

      ? 啟動兩個分析器,分別叫(A,B)

      ? 在A中,選擇##temp表中數(shù)據(jù),察看記錄總數(shù) ? 在A中,顯式啟動事務(wù) ? 在A中,刪除##temp表的數(shù)據(jù)

      ? 在B中,將事務(wù)隔離級別設(shè)為UNCOMMITTED ? 在該查詢分析器中選擇##temp表數(shù)據(jù),察看記錄總數(shù) ? 回到先前窗口,回滾事務(wù) ? 選擇##temp數(shù)據(jù),察看記錄總數(shù) ? 再次切查詢分析器窗口

      ? 選擇##temp數(shù)據(jù),察看記錄總數(shù) 觀察結(jié)果,為什么會有這些現(xiàn)象? ? 不可重復(fù)讀

      ? 啟動兩個分析器,分別叫(A,B)

      ? 在A中,顯式啟動事務(wù),察看dept = 'math'的記錄(注意地址中的數(shù)據(jù))

      ? 在B中,顯式啟動事務(wù),察看dept = 'math'的記錄。在B中,將dept = 'math’地址更新為’AAAAAA’

      ? 在B中,再次察看dept = 'math'的記錄。在B中,提交事務(wù) ? 在A中,再次察看dept = 'math'的記錄。? 在A中,提交事務(wù)

      觀察結(jié)果,為什么會有這些現(xiàn)象? ? 丟失修改

      ? 啟動兩個查詢分析器,分別叫(A,B)

      ? 在A中,顯式啟動事務(wù),察看dept = 'math'的記錄(注意地址中的數(shù)據(jù))

      ? 在B中,顯式啟動事務(wù),察看dept = 'math'的記錄。? 在B中,將dept = 'math’地址更新為’AAAAAA’ ? 在B中,再次察看dept = 'math'的記錄。? 在B中,提交事務(wù)

      ? 在A中,再次察看dept = 'math'的記錄。? 在A中,將dept = 'math’地址更新為’BBBBBB’ ? 在A中,提交事務(wù)

      ? 在A,B窗口分別察看dept = 'math’的記錄,結(jié)果如何? ? 鎖的模擬

      ? 啟動兩個分析器,分別叫(A,B)

      ? 在A中,顯式啟動事務(wù),察看dept = 'math'的記錄 ? 在B中,顯式啟動事務(wù),察看dept = 'math'的記錄 ? 在B中,將dept = 'math’地址更新為’AAAAAA’ ? 在A中,將dept = 'math’地址更新為’BBBBBB’ 觀察A窗口的結(jié)果,為什么?

      事務(wù)隔離級別設(shè)置:set transaction isolation level {read committed, read uncommitted, repeatable read, serializable}

      實驗7 數(shù)據(jù)庫設(shè)計實驗

      一、實驗?zāi)康?/p>

      通過實驗掌握數(shù)據(jù)庫設(shè)計的基本方法和步驟。

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      1、選定實驗題目,為某個單位或部門設(shè)計數(shù)據(jù)庫應(yīng)用系統(tǒng),比如:學(xué)生成績管理、機房上機管理、職工檔案管理、商品庫存管理、圖書管理、工資管理等。

      2、根據(jù)選定的題目進行需求分析,重點分析數(shù)據(jù)需求和功能需求。

      3、概念結(jié)構(gòu)設(shè)計:畫出E-R圖。步驟如下:

      (1)設(shè)計局部E-R圖。設(shè)計依據(jù)是需求分析階段的DFD/DD。主要內(nèi)容是確定實體集合、聯(lián)系、屬性及主關(guān)鍵字

      (2)集成局部E-R圖。集成時要解決沖突和冗余等問題。(3)合并局部E-R圖。合并局部E-R圖中相同部分,盡可能的保留特殊部分,刪除冗余部分,用累加的方式集成若干個局部E-R圖。

      (4)優(yōu)化全局E-R圖,得到最佳的全局E-R圖方案。

      4、邏輯結(jié)構(gòu)設(shè)計:設(shè)計數(shù)據(jù)庫和數(shù)據(jù)表的具體結(jié)構(gòu),指出各表的屬性名稱、數(shù)據(jù)類型;說明各表的主碼及表之間的關(guān)聯(lián)情況;說明本設(shè)計是否已達到3NF要求。

      5、簡要評價系統(tǒng)設(shè)計的優(yōu)點和不足。

      五、實驗要求

      1、提交設(shè)計報告,涵蓋實驗內(nèi)容的全部信息,不低于1000字。

      2、提交建立應(yīng)用系統(tǒng)數(shù)據(jù)庫的代碼,所有數(shù)據(jù)表中的記錄總數(shù)不低于50條。

      實驗8 存儲過程實驗

      一、實驗?zāi)康?/p>

      通過實驗熟悉使用存儲過程進行數(shù)據(jù)庫應(yīng)用程序設(shè)計的方法

      二、實驗環(huán)境

      Windows XP操作系統(tǒng),SQL Server 2005軟件。

      三、實驗課時

      2課時。

      四、實驗內(nèi)容

      對sample_st數(shù)據(jù)庫,編寫存儲過程,完成下面功能

      1、統(tǒng)計任意一門課程的平均成績

      2、統(tǒng)計所有課程的平均成績

      3、統(tǒng)計任意一門課程的成績分布情況,即按照分數(shù)段統(tǒng)計人數(shù)(即<60、60-69、70-79、80-89、90以上)

      第四篇:數(shù)據(jù)庫原理與運用實驗教案

      數(shù)據(jù)庫原理與運用

      實驗教案

      實驗班級:數(shù)媒09 實驗教師: 盧震輝

      2011年3月

      數(shù)據(jù)庫原理與運用實驗教學(xué)

      數(shù)據(jù)庫技術(shù)是計算機科學(xué)中發(fā)展最快的領(lǐng)域之一,也是應(yīng)用最廣的技術(shù)之一,它已成為計算機信息系統(tǒng)與應(yīng)用系統(tǒng)的核心技術(shù)和礎(chǔ)。本課程是計算機專業(yè)的必修課程。通過本課程的學(xué)習(xí),使學(xué)生理解數(shù)據(jù)庫系統(tǒng)的基本原理:包括數(shù)據(jù)庫的一些基本概念,各種數(shù)據(jù)模型的特點,關(guān)系數(shù)據(jù)庫基本概念,SQL語言,關(guān)系數(shù)據(jù)理論,數(shù)據(jù)庫的設(shè)計理論。掌握數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計方法、了解數(shù)據(jù)庫技術(shù)的發(fā)展動向,以指導(dǎo)今后的應(yīng)用。

      實踐方面,要求學(xué)生利用數(shù)據(jù)庫的原理知識和實用工具動手開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)。其最終目的是培養(yǎng)學(xué)生運用數(shù)據(jù)庫技術(shù)解決問題的能力,激發(fā)他們在此領(lǐng)域中繼續(xù)學(xué)習(xí)和研究的愿望。為了達到這個目的,除了對關(guān)系數(shù)據(jù)庫系統(tǒng)的基本概念、原理和方法進行介紹之外,本課程的另外一個特點是強調(diào)課程的實踐性。

      實驗的目的是為了配合課堂教學(xué),進一步強化對數(shù)據(jù)庫原理的理解。

      一、本實驗課在培養(yǎng)實驗?zāi)芰χ械牡匚患白饔?/p>

      數(shù)據(jù)庫技術(shù)是一個理論和實際緊密聯(lián)系的技術(shù),而SQL server2000則是數(shù)據(jù)庫具體應(yīng)用的一個數(shù)據(jù)庫開發(fā)系統(tǒng)。在學(xué)習(xí)過程中,除了解SQL server系統(tǒng)的設(shè)計環(huán)境及各種工具的使用方法、數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)庫應(yīng)用方法等知識外,通過實驗對相關(guān)技術(shù)加深認識,切實加強學(xué)生的實踐能力,是教學(xué)中一個重要且必要的環(huán)節(jié)。

      二、應(yīng)達到的實驗?zāi)芰藴?/p>

      本實驗的教學(xué)目標是使學(xué)生掌握如何使用SQL server2000 數(shù)據(jù)庫開發(fā)系統(tǒng),了解數(shù)據(jù)庫設(shè)計及相關(guān)操作的基本概念與方法,進而學(xué)會建立與組織、操作數(shù)據(jù)庫。上機實驗的主要目標如下:(1)通過上機操作,加深對數(shù)據(jù)庫系統(tǒng)理論知識的理解。

      (2)通過使用具體的DBMS,了解一種實際的數(shù)據(jù)庫管理系統(tǒng)并掌握其操作技術(shù)。

      (3)通過上機實驗,提高動手能力,提高分析問題和解決問題的能力。

      三、實驗主要內(nèi)容 實驗一 SQL server2000的安裝及SQL server2000常用工具的使用(學(xué)時 2)

      要求:掌握SQL server2000的安裝方法

      掌握SQL server2000常用工具的使用方法 實驗二 數(shù)據(jù)庫及表的創(chuàng)建和管理(學(xué)時 2)

      要求:掌握SQL server2000數(shù)據(jù)庫的創(chuàng)建及使用方法

      掌握SQL server2000數(shù)據(jù)庫的創(chuàng)建使用方法 實驗三 約束的創(chuàng)建及使用(學(xué)時 2)要求: 能用T—SQL語言及企業(yè)管理器創(chuàng)建約束 實驗四 表中數(shù)據(jù)的查詢及維護(學(xué)時 4)要求:掌握表中數(shù)據(jù)的查詢方法及操作方法

      實驗五 SQL Server視圖及索引的創(chuàng)建及使用(學(xué)時 4)要求:掌握視圖的創(chuàng)建及調(diào)用

      掌握索引的創(chuàng)建及調(diào)用

      實驗六 數(shù)據(jù)庫的備份及恢復(fù)(學(xué)時 2)要求:學(xué)會如何備份及恢復(fù)數(shù)據(jù)庫

      四、實驗成績考核方法

      每次實驗以百分記分,獨立完成實驗內(nèi)容達到實驗?zāi)康臑?00分,完成實驗內(nèi)容但對實驗內(nèi)容理解不清為60分,其他情況酌情定分。最后計算平均分。

      五、實驗教材、參考資料

      1. 《SQL Server學(xué)習(xí)與上機實驗指導(dǎo)》李春葆等 清華大學(xué)出版社 2. 《SQL SERVER數(shù)據(jù)庫設(shè)計與應(yīng)用案例訓(xùn)練教程》 魏茂林等 電子工業(yè)出版社

      3. 《SQL Server數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)技術(shù)實驗指導(dǎo)及習(xí)題解答》 朱如龍等編著 機械工業(yè)出版社

      實驗一 SQL server2000 的安裝及其常用工具的使用

      一、實驗?zāi)康?/p>

      SQL Server 2000是Mircosoft公司推出的關(guān)系型網(wǎng)絡(luò)數(shù)據(jù)庫管理系統(tǒng),是一個逐步成長起來的大型數(shù)據(jù)庫管理系統(tǒng)。

      本次實驗了解SQL Server 2000的安裝過程,熟悉SQL Server 2000軟件環(huán)境。學(xué)會安裝SQL Server 2000的過程。

      二、實驗內(nèi)容

      1.安裝Microsoft的數(shù)據(jù)庫服務(wù)軟件SQL Server 2000:

      運行服務(wù)器目錄SQL2000下的可執(zhí)行文件autorun.exe,進行SQL Server 2000的安裝。安裝主界面如圖1-1所示。

      圖1-1

      選擇安裝SQL Server 2000組件,出現(xiàn)組件安裝界面,如圖1-2所示。

      圖1-2

      選擇安裝數(shù)據(jù)庫服務(wù)器,進入SQL Server 2000的安裝向?qū)?,如圖1-3所示。

      圖1-3

      點擊“下一步”,到計算機名稱對話框,如圖1-4所示。

      圖1-4 “本地計算機”是默認選項,本地計算機的名稱就顯示在上面,點擊“下一步”,出現(xiàn)安裝選擇對話框,如圖1-5所示。

      圖1-5 選擇“創(chuàng)建新的SQL Server實例,或安裝客戶端工具”,點擊“下一步”,出現(xiàn)用戶信息對話框,如圖1-6所示。

      圖1-6 輸入姓名和公司名稱后,點擊“下一步”,出現(xiàn)軟件許可協(xié)議,如圖1-7所示。

      圖1-7 點“是”按鈕,出現(xiàn)安裝定義對話框,如圖1-8所示。

      圖1-8 選擇“服務(wù)器和客戶端工具”,點擊下一步,出現(xiàn)實例名對話框,如圖1-9所示。

      圖1-9 系統(tǒng)提供了“默認”復(fù)選框,點擊下一步,出現(xiàn)安裝類型選擇框,如圖1-10所示。

      圖1-10 選擇典型,點擊“下一步”,出現(xiàn)服務(wù)帳戶對話框,如圖1-11所示。

      圖1-11 接受系統(tǒng)的缺省值,點擊“下一步”,出現(xiàn)身份驗證模式窗口,如圖1-12所示。

      圖1-12 接受系統(tǒng)的缺省值,點擊“下一步”,出現(xiàn)開始拷貝文件窗口,如圖1-13所示。

      圖1-13 點擊“下一步”,開始將文件拷貝到選擇的目錄中,如圖1-14所示。

      圖1-14 文件拷貝完成后,出現(xiàn)安裝結(jié)束界面,如圖1-15所示。

      圖1-15 點擊“完成”按鈕,完成SQL Server 2000的安裝。

      三、實驗任務(wù)

      1.在計算機上安裝數(shù)據(jù)庫軟件SQL Server 2000;

      2.熟悉軟件的使用,SQL Server 2000主菜單如圖1-16所示:

      圖1-16 11 實驗二 數(shù)據(jù)庫及表的創(chuàng)建和管理

      一、實驗?zāi)康?/p>

      SQL Server 2000的啟動和管理工作由服務(wù)管理器和企業(yè)管理器來實現(xiàn)。本次實驗了解SQL Server 2000的啟動,熟悉如何在SQL Server 2000圖形環(huán)境下建立數(shù)據(jù)庫和表。學(xué)會SQL Server 2000的啟動和建庫、表的操作。

      二、實驗內(nèi)容

      1.啟動數(shù)據(jù)庫服務(wù)軟件SQL Server 2000:

      在程序菜單中選擇Microsoft SQL Server,如圖2-1所示:

      圖2-1 再選中服務(wù)管理器,如圖2-2所示:

      圖2-2 點擊服務(wù)管理器后,出現(xiàn)SQL Server服務(wù)管理器,如圖2-3所示:

      圖2-3 點擊“開始/繼續(xù)”按鈕,啟動SQL Server 2000數(shù)據(jù)庫服務(wù)。

      啟動成功后,在時鐘旁邊出現(xiàn)一個符號,如圖2-4所示。

      圖2-4 2.在SQL Server 2000中建立數(shù)據(jù)庫: 1. 使用企業(yè)管理器創(chuàng)建名為student的數(shù)據(jù)庫,并設(shè)置數(shù)據(jù)庫主文件名為student_data,大小為10MB;日志文件為student_log,大小為2MB.其他參數(shù)取默認值。步驟:a.13

      b.c.14 d.2.使用Transact—SQL語言創(chuàng)建一個student1數(shù)據(jù)庫,主文件邏輯名為student1_data,物理文件名為student1.mdf,為10MB,增長速度為10%;數(shù)據(jù)庫的日志文件邏輯名為syudent1_log, 物理文件名為student1.ldf,初始化大小為1MB,最大尺寸為5MB, 增長速度為1 MB;文件存放路徑為c:data文件夾下。Create database student1 On primry(name=student1_data, filename=c:datastudent1.mdf, size=10, maxsize=unlimited, filegrowth=10%)log on(name=student1_log, filename=c:datastudent1.ldf, size=1, maxsize=5, filegrowth=1)3.在student數(shù)據(jù)庫中創(chuàng)建一個名為pupil的表,要求:

      (sno char(6)not null,sname char(10)not null,ssex char(2)not null,birthday datetime not null, polity char(20))步驟:

      a.b.c.保存并命名為pupil即可。

      實驗三 約束的創(chuàng)建及使用

      實驗?zāi)康模?能用T—SQL語言及企業(yè)管理器創(chuàng)建約束

      1.將pupil表的sno設(shè)置為主鍵。

      2. 為sname字段設(shè)置惟一性約束。

      步驟:

      3. 為ssex和birthday設(shè)置檢查性約束,要求ssex只能為‘男’或‘女’,birthday應(yīng)該大于‘1987-1-1’。步驟:

      ?

      4.為polity字段設(shè)置默認約束,值為‘群眾’。

      5.再創(chuàng)建一個學(xué)生選課表sc(sno char(6)not null,cno char(10)not null,grade real).為sc表創(chuàng)建外鍵約束,把sc表的sno和pupil表的sno關(guān)聯(lián)起來,在這兩個表之間創(chuàng)建一種制約關(guān)系。步驟:

      最后保存該關(guān)系圖即可。實驗四 表中數(shù)據(jù)的查詢及維護

      1.已知一個名為pupil的表:

      (sno char(6)not null,sname char(10)not null,ssex char(2)not null,birthday datetime not null, polity char(20),sdept char(20)not null)a.利用insert語句向其中插入一條新的記錄:(‘0007’,‘張三’,‘男’,‘1982-3-21’,‘團員’,’計算機系’)insert into pupil values(‘0007’,‘張三’,‘男’,‘1982-3-21’,‘團員’,‘計算機系’)b.利用update語句將編號為‘0004’的學(xué)生polity改為‘黨員’: update pupil set polity=’黨員’ where sno=’0004’

      a.利用delete語句將‘1986-1-1’以后出生的女同學(xué)記錄刪除。Delete from pupil Where polity>1986-1-1 and ssex=’女’

      2.針對pupil、sc、course三張表完成以下查詢:

      a.查詢所有學(xué)生的基本信息,并按出生日期升序排列 select * from pupil order by polity b.查詢女同學(xué)的信息和女同學(xué)的人數(shù)

      select * from pupil where ssex=’女’ compute count(sno)c.查詢所有男同學(xué)的年齡

      select year(getdate())-year(birthday)as 年齡 from pupil d.所有選課學(xué)生的姓名、選修課程名及成績 select sname,cname,grade from pupil,sc,course where pupil.sno=sc.sno and course.cno=sc.cno e.不及格學(xué)生的姓名

      select distinct sname from pupil,sc,course where pupil.sno=sc.sno and course.cno=sc.cno and grade<60 f.查詢‘劉’姓學(xué)生的信息

      select * from pupil where sname like ‘劉%’ g.查詢polity為’團員’或’黨員’的學(xué)生信息

      select * from pupil where polity in(‘團員’,’ 黨員’)h.查詢各門課程的選課人數(shù)

      select cno ,count(sno)from sc group by cno i.查詢?nèi)鄙俪煽兊膶W(xué)生的學(xué)號及課程號

      select sno,cno from sc where grade is null j.查詢與‘劉成’同一個系的學(xué)生情況

      select * from pupil where sdept in(select sdept from pupil where sname=’ 劉成’))k.查詢選修了課程名為‘MIS’的學(xué)生的學(xué)號和姓名

      select sno,sname from pupil where sno in(select sno from sc where cno in(select cno from course wnere cname=’MIS’))

      編寫一個用戶自定義函數(shù)fun_avggrade,要求根據(jù)輸入的班級號和課程號,求此班級此課程的平均分。

      Create function fun_avggrade(@classnumber as char(10),@coursenumber as char(10))returns real begin declare @avgresult select @avgresult=avg(grade)from sc where substring(sno,1,len(sno)-2)= @classnumber and cno=@coursenumber return @avgresult end 編寫一個用戶自定義函數(shù),完成以下功能:根據(jù)兩個 輸入?yún)?shù)(成績上限和成績下限),求sc數(shù)據(jù)表中滿足輸 入條件的學(xué)生人數(shù)。

      Create function fun_sumren(@maxline real,@minline real)returns int begin declare @personcount as int select @personcount=(select count(distinct sno)from sc)from sc where grade<=@maxline real and grade>=@minline return @personcount end 24 實驗五SQL Server 視圖及索引的創(chuàng)建及使用

      實驗?zāi)康模和ㄟ^企業(yè)管理器和Transact_SQL語句對視圖進行創(chuàng)建、修改和刪除

      通過企業(yè)管理器: 創(chuàng)建步驟:

      最后保存該視圖即可。修改步驟:

      進入該界面重新修改該視圖即可。

      刪除步驟:

      通過Transact_SQL語句: 創(chuàng)建:create view 視圖名 [with encryption] as select_statement [with check option] 修改:利用 alter view 視圖名 刪除:利用 drop view 視圖名

      通過Transact_SQL語句創(chuàng)建一個視圖,計算各個班級的各門課程的平均分。

      Create view v_avggrade As Select substring(pupil.sno,1,len(pupil.sno)-2)as 班級,Cname as 課程名稱,Avg(grade)as平均分 From pupil,sc,grade Where pupil.sno=sc.sno and sc.cno=course.cno Group by substring(pupil.sno,1,len(pupil.sno)-2), Cname 3.通過Transact_SQL語句創(chuàng)建一個視圖,顯示‘高等數(shù)學(xué)’未過的學(xué)生的信息。Create view v_gradenotpass As Select pupil.sno,sname,cname,grade From pupil,sc,course Where pupil.sno=sc.sno and sc.cno=course.cno and grade<60 And cname=’ 高等數(shù)學(xué)’ 1.

      4.通過Transact_SQL語句創(chuàng)建一個視圖,查詢的數(shù)據(jù)為99521班學(xué)生的考試成績。

      Create view v_grade99521 As Select pupil.sno,sname,cname,grade From pupil,sc,course Where pupil.sno=sc.sno and sc.cno=course.cno and left(pupil.sno,5)=’99521’

      5.如何通過企業(yè)管理器創(chuàng)建索引?

      步驟:

      點擊‘新建’按鈕

      點擊‘確定’

      點擊‘關(guān)閉’

      6.如何刪除索引?

      選中該索引點擊‘刪除’即可 或

      利用 drop index 表名.索引名完成刪除

      實驗六 數(shù)據(jù)庫的備份及恢復(fù)

      1. 創(chuàng)建一個備份設(shè)備。

      2. 使用企業(yè)管理器對一數(shù)據(jù)庫做一次完全數(shù)據(jù)備份。

      3. 使用企業(yè)管理器恢復(fù)某一數(shù)據(jù)庫的完全數(shù)據(jù)備份

      1.導(dǎo)入一個文本文件到SQL Server數(shù)據(jù)庫當(dāng)中。

      2.將SQL Server數(shù)據(jù)庫當(dāng)中的表導(dǎo)出到access數(shù)據(jù)庫當(dāng)中。

      3.利用DTS設(shè)計器將表從一個數(shù)據(jù)庫復(fù)制到另一個數(shù)據(jù)庫當(dāng)中

      第五篇:數(shù)據(jù)庫原理實驗指導(dǎo)書

      《數(shù)據(jù)庫原理實驗指導(dǎo)書》

      河南科技大學(xué)電子信息工程學(xué)院目錄

      實驗規(guī)則..................................................................................................................................0 實驗報告要求..........................................................................................................................2 基本實驗方法..........................................................................................................................2 實驗環(huán)境..................................................................................................................................2 實驗一:數(shù)據(jù)定義及更新語句練習(xí)......................................................................................3 實驗二:簡單查詢和連接查詢..............................................................................................5 實驗三:分組查詢和嵌套查詢..............................................................................................7 實驗四:視圖操作和數(shù)據(jù)控制..............................................................................................9 實驗五:觸發(fā)器和存儲過程................................................................................................11 選作題目................................................................................................................................13

      實驗規(guī)則

      為了順利完成實驗教學(xué)任務(wù),確保人身設(shè)備安全,培養(yǎng)嚴謹、踏實、實事求是的科學(xué)作風(fēng)和愛護國家財產(chǎn)的優(yōu)良品質(zhì),特制定以下實驗規(guī)則:

      1、實驗紀律

      (1)在實驗室不得做和實驗無關(guān)的事情。(2)遵守紀律,不遲到,不曠課。

      (3)不能拆卸硬件,更不能拿走實驗設(shè)備或儀器。(4)保持實驗室安靜、整潔,愛護公物。

      2、實驗過程

      (1)預(yù)習(xí)實驗內(nèi)容。自行設(shè)計SQL語句。

      (2)上機操作。每執(zhí)行一句記錄執(zhí)行情況,主要是錯誤信息和錯誤原因。(3)檢查操作結(jié)果是否正確。

      (4)根據(jù)實驗過程的記錄書寫實驗報告。

      實驗報告要求

      1、報告用紙 采用統(tǒng)一的河南科技大學(xué)實驗報告用紙,不得用別的紙張代替。

      2、實驗報告封面內(nèi)容

      實驗名稱:(如實驗一 數(shù)據(jù)庫創(chuàng)建)班級名稱:(如計科101班)學(xué)生學(xué)號: 學(xué)生姓名: 實驗時間:

      3、實驗報告內(nèi)容

      見各具體實驗項目的要求。

      基本實驗方法

      本實驗要求熟悉SQL Server環(huán)境和數(shù)據(jù)庫的相關(guān)知識。

      實驗環(huán)境

      Microsoft SQL Server2012 2 實驗一:數(shù)據(jù)定義及更新語句練習(xí)一、二、實驗?zāi)康模菏炀氄莆沼肧QL語句實現(xiàn)數(shù)據(jù)庫和基本表的創(chuàng)建、數(shù)據(jù)的更新。預(yù)習(xí)要求:實驗前復(fù)習(xí)講授過的有關(guān)創(chuàng)建數(shù)據(jù)庫、基本表的SQL語句,預(yù)習(xí)SQL Server2000環(huán)境,特別是資源管理器和查詢分析器的相關(guān)用法。

      三、實驗內(nèi)容:

      (一)用SQL語句建立如下mySPJ數(shù)據(jù)庫,包括S,P,J,和SPJ四個基本表(教材第二章習(xí)題5中的四個表),要求實現(xiàn)關(guān)系的三類完整性。

      S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY)供應(yīng)商表S由供應(yīng)商代碼(SNO)、供應(yīng)商姓名(SNAME)、供應(yīng)商狀態(tài)(STATUS)、供應(yīng)商所在城市(CITY)組成。

      零件表P由零件代碼(PNO)、零件名(PNAME)、顏色(COLOR)、重量(WEIGHT)組成。

      工程項目表J由工程項目代碼(JNO)、工程項目名(JNAME)、工程項目所在城市(CITY)組成。

      供應(yīng)情況表SPJ由供應(yīng)商代碼(SNO)、零件代碼(PNO)、工程項目代碼(JNO)、供應(yīng)數(shù)量(QTY)組成,表示某供應(yīng)商 供應(yīng)某種零件 給某工程項目的數(shù)量為QTY。

      (二)分別使用插入、刪除、修改的方式更新基本表中的數(shù)據(jù)。

      四、實驗方法和步驟:

      (一)使用Microsoft SQL Server企業(yè)管理器和查詢分析器建立數(shù)據(jù)庫mySPJ: 1.打開“開始->程序->Microsoft SQL Server->企業(yè)管理器”;

      2.在企業(yè)管理器左邊的樹標簽中依次打開“Microsoft SQL Server-> SQL Server組->(local)(Windows NT)->數(shù)據(jù)庫”,(local)(Windows NT)前的紅色標記轉(zhuǎn)化為綠色標記表明NT服務(wù)已啟動;

      3.從企業(yè)管理器的“工具”菜單中選擇“SQL 查詢分析器”,打開查詢分析器后,在其窗口書寫創(chuàng)建數(shù)據(jù)庫mySPJ的SQL語句,點擊執(zhí)行按鈕(或F5鍵)執(zhí)行該SQL 3 語句;

      4.在企業(yè)管理器左邊的樹標簽中查看數(shù)據(jù)庫是否建立成功。

      (二)在數(shù)據(jù)庫mySPJ中建立S,P,J,和SPJ四個基本表:

      按照實驗內(nèi)容給出的基本表結(jié)構(gòu)在查詢分析器窗口中書寫SQL語句分別建立各表,并設(shè)置主鍵和外鍵約束;

      (三)更新表數(shù)據(jù):

      1.利用Insert 語句將習(xí)題中給出的示例記錄插入各表。2.利用Update更新表中的記錄:

      ①將p表中的所有紅色零件的重量增加5。

      ②將spj表中所有天津供應(yīng)商的QTY屬性值減少10。用子查詢。

      3.利用Delete語句刪除p表中的所有紅色零件的記錄。

      4.SQL語句執(zhí)行后返回基本表查看更新后的結(jié)果,如果與期望不符,分析原因并記錄在實驗報告中。

      五、思考題:

      (一)在為各表設(shè)定關(guān)鍵字時彈出的頁面中有關(guān)鍵字和索引選項,試通過給基本表設(shè)定這兩個項目并說明二者的區(qū)別。

      (二)在基本表中輸入數(shù)據(jù)時,注意數(shù)據(jù)與字段的數(shù)據(jù)類型和長度以及能否為空的屬性是否一致,保存時如有錯誤分析錯誤原因,及時改正并將錯誤報告寫在實驗報告中。

      六、實驗報告要求:

      (一)實驗?zāi)康模?二)實驗內(nèi)容:

      (三)完成情況(附上設(shè)計的SQL語句)。

      (四)實驗結(jié)果:如果是查詢語句,將查詢結(jié)果記錄列出來,其它可以不寫。(五)問題及解決:首先寫出執(zhí)行語句不成功的時候系統(tǒng)報告的錯誤信息。然后分析錯誤原因,并給出解決辦法。(六)回答思考題提出的問題,(七)實驗總結(jié):心得體會,建議等。

      實驗二:簡單查詢和連接查詢

      一、實驗?zāi)康模菏炀氄莆沼肧QL語句實現(xiàn)的簡單查詢和多個數(shù)據(jù)表連接查詢。

      二、預(yù)習(xí)要求:實驗前復(fù)習(xí)講授過的有關(guān)簡單查詢與多表查詢的知識,編寫相應(yīng)的SQL語句。

      三、實驗內(nèi)容:

      (一)完成下面的簡單查詢:

      ①查詢所有“天津”的供應(yīng)商明細; ②查詢所有“紅色”的14公斤以上的零件。③查詢工程名稱中含有“廠”字的工程明細。(二)完成下面的連接查詢:

      ①等值連接:求s表和j表的相同城市的等值連接。

      ②自然連接:查詢所有的供應(yīng)明細,要求顯示供應(yīng)商、零件和工程的名稱,并按照供應(yīng)、工程、零件排序。

      ③笛卡爾積:求s和p表的笛卡爾積 ④左連接:求j表和spj表的左連接。⑤右連接:求spj表和j表的右連接。

      四、實驗方法和步驟:

      參照實驗一中給出的使用Microsoft SQL Server企業(yè)管理器和SQL查詢分析器的方法,將實驗內(nèi)容中所要求的查詢項目依次用SQL語句實現(xiàn),并記錄下執(zhí)行結(jié)果。

      五、思考題:

      查看實驗內(nèi)容2中左連接和右連接的執(zhí)行結(jié)果是否一致,為什么?

      六、實驗報告要求:(一)實驗?zāi)康模?二)實驗內(nèi)容:

      5(三)完成情況(附上設(shè)計的SQL語句)。

      (四)實驗結(jié)果:如果是查詢語句,將查詢結(jié)果記錄列出來,其它可以不寫。(五)問題及解決:首先寫出執(zhí)行語句不成功的時候系統(tǒng)報告的錯誤信息。然后分析錯誤原因,并給出解決辦法。(六)回答思考題提出的問題,(七)實驗總結(jié):心得體會,建議等。實驗三:分組查詢和嵌套查詢

      一、實驗?zāi)康模菏炀氄莆沼肧QL語句實現(xiàn)多個數(shù)據(jù)表的分組查詢和嵌套查詢。

      二、預(yù)習(xí)要求:實驗前復(fù)習(xí)講授過的有關(guān)分組查詢和嵌套查詢的知識,編寫相應(yīng)的SQL語句。

      三、實驗內(nèi)容:(一)分組查詢:

      1.求各種顏色零件的平均重量。2.求北京供應(yīng)商和天津供應(yīng)商的總個數(shù)。3.求各供應(yīng)商供應(yīng)的零件總數(shù)。4.求各供應(yīng)商供應(yīng)給各工程的零件總數(shù)。5.求使用了100個以上P1零件的工程名稱。6.求各工程使用的各城市供應(yīng)的零件總數(shù)。

      (二)嵌套查詢:

      1.in連接謂詞查詢:

      ① 查詢沒有使用天津供應(yīng)商供應(yīng)的紅色零件的工程名稱。② 查詢供應(yīng)了1000個以上零件的供應(yīng)商名稱。(having)2.比較運算符:求重量大于所有零件平均重量的零件名稱。3.Exists連接謂詞:

      ① 查詢供應(yīng)J1的所有的零件都是紅色的供應(yīng)商名稱。② 至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號JNO。

      四、實驗方法和步驟:

      參照實驗一中給出的使用Microsoft SQL Server企業(yè)管理器和SQL查詢分析器的方法,將實驗內(nèi)容中所要求的查詢項目依次用SQL語句實現(xiàn),并記錄下執(zhí)行結(jié)果。

      五、思考題:

      (一)嵌套查詢中的in連接謂詞查詢,關(guān)鍵字in可以直接用any代替么?什么情況下in和any可以互相代替?

      (二)嵌套查詢中的內(nèi)查詢?yōu)橥獠樵兎祷氐膬?nèi)容是什么?是表達式?視圖?還是物理數(shù)據(jù)集合?

      六、實驗報告要求:(一)實驗?zāi)康模?二)實驗內(nèi)容:

      (三)完成情況(附上設(shè)計的SQL語句)。

      (四)實驗結(jié)果:如果是查詢語句,將查詢結(jié)果記錄列出來,其它可以不寫。(五)問題及解決:首先寫出執(zhí)行語句不成功的時候系統(tǒng)報告的錯誤信息。然后分析錯誤原因,并給出解決辦法。(六)回答思考題提出的問題,(七)實驗總結(jié):心得體會,建議等。

      實驗四:視圖操作和數(shù)據(jù)控制

      一、實驗?zāi)康模菏炀氄莆沼肧QL語句實現(xiàn)視圖操作和數(shù)據(jù)控制。

      二、預(yù)習(xí)要求:實驗前復(fù)習(xí)講授過的有關(guān)視圖操作和數(shù)據(jù)控制的知識,編寫相應(yīng)的SQL語句。

      三、實驗內(nèi)容:

      (一)定義如下視圖:

      ①查詢北京的供應(yīng)商的編號、名稱和城市。②查詢S1供應(yīng)商的所有供應(yīng)明細。

      ③查詢各工程名稱使用的各種顏色零件的個數(shù)。查詢上面定義的視圖。

      (二)數(shù)據(jù)控制:

      ①使用GRANT把對S表查詢的權(quán)利授予WangLi。

      ②使用GRANT把對P表查詢、插入、修改、刪除的權(quán)利授予LiMing。

      ③使用REVOKE把LiMing對P表插入、刪除的權(quán)利回收。

      四、實驗方法和步驟:

      參照實驗一中給出的使用Microsoft SQL Server企業(yè)管理器和SQL查詢分析器的方法,將實驗內(nèi)容中所要求的查詢項目依次用SQL語句實現(xiàn),并記錄下執(zhí)行結(jié)果。

      五、思考題:

      實驗內(nèi)容中的哪些視圖可以用來更新記錄?

      六、實驗報告要求:(一)實驗?zāi)康模?二)實驗內(nèi)容:

      (三)完成情況(附上設(shè)計的SQL語句)。

      (四)實驗結(jié)果:如果是查詢語句,將查詢結(jié)果記錄列出來,其它可以不寫。(五)問題及解決:首先寫出執(zhí)行語句不成功的時候系統(tǒng)報告的錯誤信息。然后 9 分析錯誤原因,并給出解決辦法。(六)回答思考題提出的問題,(七)實驗總結(jié):心得體會,建議等。

      實驗五:觸發(fā)器和存儲過程

      一、實驗?zāi)康模豪斫庥|發(fā)器和存儲過程的含義,掌握用SQL語句實現(xiàn)觸發(fā)器和存儲過程的編寫,并初步掌握什么情況下使用事務(wù)。

      二、預(yù)習(xí)要求:存儲過程和觸發(fā)器的相關(guān)概念,事務(wù)的相關(guān)概念,編寫相應(yīng)的SQL語句。

      三、實驗內(nèi)容:

      有一個小型的圖書管理數(shù)據(jù)庫,包含的表為:

      bookstore(bookid,bookname,bookauthor,purchasedate,state);--圖書庫存表

      borrowcard(cardid,ownername);--借書證表

      borrowlog(cardid,bookid,borrowdate,returndate);--借書記錄表 寫一個存儲過程,實現(xiàn)借書操作,要求有事務(wù)處理。(1)讀者借書,要先設(shè)置書籍不在庫標志state(借出),然后增加借書記錄,在同一事務(wù)中完成。(2)要求在事務(wù)執(zhí)行過程中引入錯誤觸發(fā)事件,以此體會事務(wù)的錯誤保護機制和事務(wù)編程的作用。(3)要求用觸發(fā)器實現(xiàn)表的完整性控制。

      四、實驗方法和步驟:

      (一)在查詢分析器中創(chuàng)建包含以上三張表的數(shù)據(jù)庫。

      (二)參考CREATE PROCEDURE語句和Create Trigger語句。在事務(wù)執(zhí)行過程中引入錯誤觸發(fā)事件,可以考慮在增加借書記錄時違反實體完整性或參照完整性,以此體會事務(wù)的錯誤保護機制,并用觸發(fā)器實現(xiàn)表的完整性控制。

      五、思考題:

      如何通過系統(tǒng)的設(shè)置實現(xiàn)類似的功能,而不需觸發(fā)器?

      六、實驗報告要求:(一)實驗?zāi)康模?二)實驗內(nèi)容:

      (三)完成情況(附上設(shè)計的SQL語句)。

      11(四)實驗結(jié)果:如果是查詢語句,將查詢結(jié)果記錄列出來,其它可以不寫。(五)問題及解決:首先寫出執(zhí)行語句不成功的時候系統(tǒng)報告的錯誤信息。然后分析錯誤原因,并給出解決辦法。(六)回答思考題提出的問題,實驗總結(jié):心得體會,建議等。

      選作題目

      選作題目1:用vb,delphi或者c++builder設(shè)計一個數(shù)據(jù)庫應(yīng)用程序,實現(xiàn)一個簡單的成績管理,建立三個表:學(xué)生表S,課程表C和成績表SC。要求實現(xiàn)的功能:(1)維護學(xué)生信息;(2)維護課程信息;(3)錄入成績;(4)查詢一個學(xué)生的所有課程成績;(5)查詢每門課程的平均成績。(6)打印學(xué)生成績報表;(7)打印每門課程的平均成績報表。

      選作題目2:自由結(jié)合以(5-6)人為小組完成一個數(shù)據(jù)庫系統(tǒng)設(shè)計的小課題。要求用ERWIN工具對數(shù)據(jù)庫進行建模。

      下載數(shù)據(jù)庫原理與應(yīng)用實驗教案word格式文檔
      下載數(shù)據(jù)庫原理與應(yīng)用實驗教案.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        數(shù)據(jù)庫原理實驗五

        數(shù)據(jù)庫原理及應(yīng)用實驗報告 實驗名稱:數(shù)據(jù)庫備份與恢復(fù)、數(shù)據(jù)庫的安全性 實驗類型:驗證型 實驗環(huán)境:oracle 11g 指導(dǎo)教師:陳 駿 專業(yè)班級:信安班 姓名: 學(xué)號: 聯(lián)系電話:***......

        數(shù)據(jù)庫原理實驗三

        數(shù)據(jù)庫原理及應(yīng)用實驗報告 實驗名稱:存儲過程 實驗類型:驗證型 實驗環(huán)境:oracle 11g 指導(dǎo)教師:陳 駿 專業(yè)班級:信安1505班 姓名: 學(xué)號:512015 聯(lián)系電話:電子郵件: 實驗地點:東6E501 實......

        數(shù)據(jù)庫原理與應(yīng)用課程總結(jié)

        數(shù)據(jù)庫原理與應(yīng)用課程總結(jié) 兩部分內(nèi)容組成:數(shù)據(jù)庫的理論知識、SQL Sever 2000的使用 數(shù)據(jù)庫的理論知識包括三篇,第1篇:基礎(chǔ)篇;第2篇:設(shè)計篇;第3篇:系統(tǒng)篇,三部分內(nèi)容之間的關(guān)系是基......

        數(shù)據(jù)庫原理-教案

        第一章 緒論 內(nèi)容概述 闡述數(shù)據(jù)庫的基本概念,介紹數(shù)據(jù)管理技術(shù)的進展情況、數(shù)據(jù)庫技術(shù)產(chǎn)生和發(fā)展的背景,數(shù)據(jù)模型的基本概念、組成要素和主要的數(shù)據(jù)模型,概念模型的基本概念及E......

        河北工業(yè)大學(xué)數(shù)據(jù)庫原理及應(yīng)用實驗實驗報告(五篇材料)

        《數(shù)據(jù)庫原理及應(yīng)用實驗》 姓名:徐毅民學(xué)號: 153299 實驗報告 班級:網(wǎng)絡(luò)151 實驗1數(shù)據(jù)庫定義與操作語言實驗 實驗1.4數(shù)據(jù)更新實驗 1、實驗?zāi)康?熟悉數(shù)據(jù)庫的數(shù)據(jù)更新操作,能夠......

        單片機原理與應(yīng)用課程實驗教案

        《單片機原理與應(yīng)用》實驗教案 第一章 實驗安排 共8個實驗,要求8次上機完成。這8個實驗分別為: 實驗一 利用軟件仿真器調(diào)試算術(shù)運算程序 實驗二 INT0中斷實驗 實驗三 定時器/......

        《單片機原理與應(yīng)用》實驗教案4

        實驗三基于單片機的交通燈設(shè)計 一、實驗?zāi)康模?通過本實驗使學(xué)生建立應(yīng)用電子產(chǎn)品系統(tǒng)開發(fā)思想,掌握可編程主控芯片產(chǎn)品、系統(tǒng)開發(fā)的開發(fā)原理、開發(fā)方法和開發(fā)過程。 二、實驗......

        數(shù)據(jù)庫原理實驗學(xué)期總結(jié)

        2010-2011學(xué)年第1學(xué)期《數(shù)據(jù)庫原理實驗》學(xué)期論文 數(shù)據(jù)庫原理實驗學(xué)期總結(jié) 我的題目: 班級:_______________學(xué)號:_______________姓名:_______________ 摘要 不少于100字 關(guān)鍵字......