【文章內(nèi)容簡介】
為臨時表ST添加記錄。把Student表的所有行一次性地加到臨時表ST中。在ST表中把所有學生的成績加2分。在ST表中把所有學生的年齡增加1。在ST表中把“李平”的所在系改為“計算機”。在ST表中將選修課程“數(shù)據(jù)庫原理”的學生成績加2分。在SC表中刪除所有成績?yōu)榭罩档倪x修記錄。刪除計算機系選修成績不及格的選課記錄。(二)、在已建立的數(shù)據(jù)庫和數(shù)據(jù)表的基礎(chǔ)上,完成下列操作。建立數(shù)學系學生的視圖MAST。建立計算機系選修課程名為“數(shù)據(jù)庫原理”的學生視圖,視圖名:CSTVIEW,該視圖中應(yīng)包括屬性列:學號、姓名、成績。創(chuàng)建一個名為STSUMVIEW的視圖,包括所有學生的學號和總成績。建立學生選課視圖SCVIEW,包括所有學生的學號、姓名、課程號、課程名和成績。通過MAST視圖查詢學生基本信息。通過SCVIEW查詢成績大于90分的學生的學號和成績。查詢計算機系選修課程名為“數(shù)據(jù)庫原理”并且成績大于85分的學生的學號和成績。通過MAST視圖將學號為“01008”學生的年齡修改為21歲。通過MAST視圖將學號為“01009”學生所在系改為“經(jīng)濟”,是否能成功執(zhí)行?若不能成功請說明理由;若修改成功,請再次通過MAST視圖查詢學生基本信息,是否能查詢到該生?若不能查詢請說明理由。通過SCVIEW視圖將學號為“01004”學生的總成績修改為380分,是否能成功執(zhí)行?若不能成功請說明理由。實驗5 數(shù)據(jù)庫的安全與保護一、實驗?zāi)康睦斫釹QL 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)限回收成功。五、實驗步驟使用對象資源管理器創(chuàng)建兩個服務(wù)器登錄帳號。以系統(tǒng)管理員身份登錄SQL Server。打開“SQL Server Management Studio”窗口,在對象資源管理器列表中,打開展開“安全性”文件夾,選擇“登錄名”圖標,單擊鼠標右鍵,在彈出的菜單中選擇“新建登錄名”。在打開的對話框中依次建立Test1和Test2,選擇“SQL Server身份驗證”,同時還要輸入密碼,默認數(shù)據(jù)庫為“sample_st”。(2)在“用戶映射”中列出了當前登錄帳號可以選擇訪問的數(shù)據(jù)庫如“sample_st”,在其左側(cè)的復(fù)選框中打勾,表示當前登錄帳號可以訪問對應(yīng)的數(shù)據(jù)庫,默認用戶名與登錄帳號相同。(3)單擊“確定”按鈕完成創(chuàng)建。創(chuàng)建新的數(shù)據(jù)庫用戶。在對象資源管理器中選中要訪問操作的數(shù)據(jù)庫,展開“安全性”文件夾,在“用戶”文件夾中查找是否已建立與登錄名Test1和Test2同名的數(shù)據(jù)庫用戶,若已建立,則在屬性中修改其默認架構(gòu)為guest;否則右擊鼠標在菜單中選擇“新建用戶”選項,出現(xiàn)“數(shù)據(jù)庫用戶新建”對話框,建立相應(yīng)的用戶。最后,在sample_st數(shù)據(jù)庫的“安全性232。架構(gòu)232。guest232。屬性232。權(quán)限”中,為test1和test2用戶分配相應(yīng)權(quán)限。用Grant、Revoke命令實現(xiàn)對用戶的授權(quán)和收權(quán)。用Create命令創(chuàng)建數(shù)據(jù)表驗證授權(quán)和收權(quán)是否成功。以系統(tǒng)管理員身份登錄SQL Server。使用:“GRANT SELECT ON SC TO Test1 WITH GRANT OPTION”命令,再分別以Test1和Test2身份登錄,進行授權(quán)及查詢數(shù)據(jù)表,驗證“WITH GRANT OPTION”能否成功執(zhí)行。以系統(tǒng)管理員身份使用“REVOKE”命令回收上述授權(quán)。實驗6 數(shù)據(jù)庫的完整性一、實驗?zāi)康耐ㄟ^實驗掌握數(shù)據(jù)庫完整性概念,掌握利用SQL Server 2005實現(xiàn)數(shù)據(jù)庫完整性的基本方法和步驟。二、實驗環(huán)境Windows XP操作系統(tǒng),SQL Server 2005軟件。三、實驗課時2課時。四、實驗內(nèi)容建立關(guān)系模式。完成教材P164第6題,用SQL語言定義“職工”和“部門”兩個關(guān)系模式: 職工(職工號,姓名,年齡,職務(wù),工資,部門號),職工號為主碼 部門(部門號,名稱,經(jīng)理名,電話), 部門號為主碼 要求在模式中完成以下完整性約束條件的定義:(1)定義每個模式的主碼;(2)定義參照完整性;(3)定義職工年齡不得超過60歲;(4)定義部門名稱必須取值唯一。驗證完整性約束。使用Insert Values語句向兩個表中各插入5~10條記錄,對下列內(nèi)容進行驗證。(1)驗證主鍵約束:“職工”和“部門”兩個表中是否能接受主碼值相同的記錄,通過實例驗證。(2)驗證唯一約束:“部門”表中是否能接受名稱相同的兩個不同記錄?為什么?(3)驗證檢查約束:“職工”表中能否接受年齡不滿足條件的記錄?為什么?(4)驗證參照完整性:若“部門”表中不存在部門號為“008”的記錄,是否能在“職工”表中插入部門號為“008”的職工記錄?若刪除“001”部門的所有信息,正確的操作步驟是什么?實驗7 數(shù)據(jù)庫設(shè)計實驗一、實驗?zāi)康耐ㄟ^實驗掌握數(shù)據(jù)庫設(shè)計的基本方法和步驟。二、實驗環(huán)境Windows XP操作系統(tǒng),SQL Server 2005軟件。三、實驗課時2課時。四、實驗內(nèi)容選定實驗題目,為某個單位或部門設(shè)計數(shù)據(jù)庫應(yīng)用系統(tǒng),比如:學生成績管理、機房上機管理、職工檔案管理、商品庫存管理、圖書管理、工資管理等。根據(jù)選定的題目進行需求分析,重點分析數(shù)據(jù)需求和功能需求。概念結(jié)構(gòu)設(shè)計:畫出ER圖。邏輯結(jié)構(gòu)設(shè)計:設(shè)計數(shù)據(jù)庫和數(shù)據(jù)表的具體結(jié)構(gòu),指出各表的屬性名稱、數(shù)據(jù)類型;說明各表的主碼及表之間的關(guān)聯(lián)情況;說明本設(shè)計是否已達到3NF要求。簡要評價系統(tǒng)設(shè)計的優(yōu)點和不足。五、實驗要求提交設(shè)計報告,涵蓋實驗內(nèi)容的全部信息,不低于1000字。提交建立應(yīng)用系統(tǒng)數(shù)據(jù)庫的代碼,所有數(shù)據(jù)表中的記錄總數(shù)不低于50條。(請參照實驗2的附錄建立數(shù)據(jù)庫)實驗8 存儲過程實驗一、實驗?zāi)康耐ㄟ^實驗熟悉使用存儲過程進行數(shù)據(jù)庫應(yīng)用程序設(shè)計的方法二、實驗環(huán)境Windows XP操作系統(tǒng),SQL Server 2005軟件。三、實驗課時2課時。四、實驗內(nèi)容對sample_st數(shù)據(jù)庫,編寫存儲過程,完成下面功能統(tǒng)計任意一門課程的平均成績統(tǒng)計所有課程的平均成績統(tǒng)計任意一門課程的成績分布情況,即按照分數(shù)段統(tǒng)計人數(shù)(即第三篇:數(shù)據(jù)庫原理實驗教案《數(shù)據(jù)庫原理》課程實驗實驗1 創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表一、實驗?zāi)康氖煜QL Server Management Studio界面;掌握通過圖形化向?qū)Ш蛨?zhí)行TransactSQL語句創(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í)行TransactSQL語句創(chuàng)建。(一)向?qū)Х绞絼?chuàng)建從“開始”菜單選擇“所有程序”→“Microsoft SQL Server 2005”,打開“SQL Server Management Studio”窗口,使用Windows或SQL Server身份驗證建立連接。在“對象資源管理器”窗格中展開服務(wù)器,選擇“數(shù)據(jù)庫”節(jié)點右擊,從彈出的快捷菜單中選擇“新建數(shù)據(jù)庫”命令,打開“新建數(shù)據(jù)庫”窗口。該窗口中有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ù)文件。l 邏輯名稱:指定該文件的文件名。l 文件類型:用于區(qū)別當前文件是數(shù)據(jù)文件還是日志文件。l 文件組:顯示當前數(shù)據(jù)庫文件所屬的文件組。l 初始大?。褐付ㄔ撐募某跏既萘俊T赟QL Server 2005中數(shù)據(jù)文件的默認值為3MB,日志文件的默認值為1MB。l 自動增長:用于設(shè)置在文件容量不夠用時,文件根據(jù)何種增長方式自動增長。l 路徑:指定存放在文件的目錄。默認情況下,SQL Server 2005將存放路徑設(shè)置為其安裝目錄下的data子目錄,單擊該列中的按鈕可以在打開的“定位文件夾”對話框中更改數(shù)據(jù)庫的存儲路徑。完成上述操作后,單擊“確定”按鈕關(guān)閉“新建數(shù)據(jù)庫”窗口,即完成了數(shù)據(jù)庫的創(chuàng)建,可以在“對象資源管理器”窗格中看到新建的數(shù)據(jù)庫。(二)語言方式創(chuàng)建SQL Server 2005使用的TransactSQL語言是標準SQL的增強版本,使用它提供的Create Database語句同樣可以完成對數(shù)據(jù)庫的建立(參考內(nèi)容見附錄)。單擊“新建查詢”按鈕,創(chuàng)建一個查詢輸入窗口將附錄中的語句復(fù)制到該窗口。選擇創(chuàng)建數(shù)據(jù)庫的命令,單擊工具欄中的“分析”按鈕,可以檢查語法錯誤;單擊“執(zhí)行”按鈕即可執(zhí)行語句,在查詢窗口內(nèi)的“查詢”窗格中可以看到“命令已成功完成”的提示消息。在“對象資源管理器”窗格中刷新,即可看到新建的數(shù)據(jù)庫。繼續(xù)執(zhí)行Create Database之后的語句,在“sample_st”數(shù)據(jù)庫中用Create Table命令依次建立Student、Course和SC這三個數(shù)據(jù)表,并建立各自的約束及它們之間的聯(lián)系(外鍵),利用Insert命令為各數(shù)據(jù)表添加數(shù)據(jù)。(三)知識鞏固用SQLDDL語言創(chuàng)建“產(chǎn)品訂購”數(shù)據(jù)庫,包含四個數(shù)據(jù)表S、P、J和SPJ,表結(jié)構(gòu)及內(nèi)容見教材P122。實驗2 數(shù)據(jù)庫的簡單查詢一、實驗?zāi)康恼莆諉伪聿樵冎懈鱾€子句(Select、From、Where、Group、Having、Order)的用法,特別要掌握比較運算符和邏輯運算符的使用。二、實驗環(huán)境Windows XP操作系統(tǒng),SQL Server 2005軟件。三、實驗課時2課時。四、實驗內(nèi)容在已建立的數(shù)據(jù)庫和數(shù)據(jù)表的基礎(chǔ)上,用Select語句完成下列查詢操作。查詢?nèi)w學生的學號和姓名。查詢?nèi)w學生的所有基本信息(僅針對Student表)。對SC表查詢?nèi)w學生的選課記錄,在顯示結(jié)果中為“Grade”列增加5分。查詢?nèi)w學生的學號和姓名,將原來的英文列名設(shè)置中文別名。顯示所有選課學生的學號,去掉重復(fù)結(jié)果。查詢成績在80分以上的學生選課記錄。查詢經(jīng)濟系所有學生的學號和姓名。查詢成績在80~90分的學生選課記錄。查詢年齡不在22~25的學生記錄。查詢所有姓“劉”的學生記錄。1查詢無考試成績(成績?yōu)榭罩担┑膶W號、課程號。1查詢考試成績非空值的學號、課程號。1查詢數(shù)學系年齡小于20歲的學生記錄。1查詢選修了“101”或“102”課程的選課記錄。1查詢學生總?cè)藬?shù)。1查詢選修了課程的學生人數(shù)。1查詢選修了“101”課程的學生的平均成績。1查詢學號為“01003”的學生的考試總成績。1查詢“101”課程的最高分和最低分。查詢每門課程的選課人數(shù)。2查詢每個學生的學號、選課數(shù)、平均成績和總成績。2查詢選課數(shù)超過2的學生學號及其選課數(shù)。2查詢所有學生信息,查詢結(jié)果按年齡降序排列。(針對Student表操作)2查詢所有學生信息,查詢結(jié)果按系名升序,同系學生按年齡降序排列。2查詢選課數(shù)超過2的學生學號及其選課數(shù),查詢結(jié)果按選課數(shù)降序排列。實驗3 數(shù)據(jù)庫的多表查詢一、實驗?zāi)康睦^續(xù)熟練SQLSELECT語句的使用;理解多表查詢的概念;掌握多表連接查詢中各個子句的用法,特別要比較內(nèi)連接和外連接的結(jié)果。掌握非相關(guān)子查詢、相關(guān)子查詢的用法,理解它們的執(zhí)行過程;學會在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語句的連接查詢完成下列操作。查詢每個學生的基本信息及其選課情況。查詢選修“101”課程的學生學號、姓名和成績。查詢與“李平”在同一個系學習的學生記錄。查詢與“李平”年齡相同的學生記錄。查詢選修課程名為“數(shù)據(jù)庫原理”的選課記錄。查詢選修課程名為“數(shù)據(jù)庫原理”的學生記錄。查詢選修“101”課程且成績≥90的學號、姓名和成績。查詢“李平”的所有選課記錄。查詢數(shù)學系學生選修的課程號,要求結(jié)果中去掉重復(fù)記錄。查詢計算機系選修課程數(shù)≥2的學號、姓名及平均成績,查詢結(jié)果按平均成績降序。1查詢每個學生的學號、選修課程