《數(shù)據(jù)庫(kù)原理及應(yīng)用》實(shí)驗(yàn)指導(dǎo)書(shū)

上傳人:仙*** 文檔編號(hào):27893442 上傳時(shí)間:2021-08-21 格式:DOC 頁(yè)數(shù):26 大?。?47.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
《數(shù)據(jù)庫(kù)原理及應(yīng)用》實(shí)驗(yàn)指導(dǎo)書(shū)_第1頁(yè)
第1頁(yè) / 共26頁(yè)
《數(shù)據(jù)庫(kù)原理及應(yīng)用》實(shí)驗(yàn)指導(dǎo)書(shū)_第2頁(yè)
第2頁(yè) / 共26頁(yè)
《數(shù)據(jù)庫(kù)原理及應(yīng)用》實(shí)驗(yàn)指導(dǎo)書(shū)_第3頁(yè)
第3頁(yè) / 共26頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《數(shù)據(jù)庫(kù)原理及應(yīng)用》實(shí)驗(yàn)指導(dǎo)書(shū)》由會(huì)員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫(kù)原理及應(yīng)用》實(shí)驗(yàn)指導(dǎo)書(shū)(26頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 《數(shù)據(jù)庫(kù)原理及應(yīng)用》 編撰 閩江學(xué)院計(jì)算機(jī)實(shí)驗(yàn)教學(xué)中心印制 二零零五年 九 月 實(shí)驗(yàn)一 表的創(chuàng)建與修改 【實(shí)驗(yàn)?zāi)康摹? 1. 學(xué)會(huì)使用企業(yè)管理器創(chuàng)建和修改表結(jié)構(gòu) 2. 學(xué)會(huì)使用查詢分析器 3. 學(xué)會(huì)使用SQL語(yǔ)句創(chuàng)建和修改表結(jié)構(gòu) 【實(shí)驗(yàn)內(nèi)容】 1. 使用企業(yè)管理器建立和修改班級(jí)表、成績(jī)表 2. 使用查詢分析器建立和修改課程表、學(xué)生表 【實(shí)驗(yàn)準(zhǔn)備】 1. 復(fù)習(xí)與本次實(shí)驗(yàn)內(nèi)容相關(guān)知識(shí) 2. 對(duì)本次實(shí)驗(yàn)中要求自己完成的部分做好準(zhǔn)備 【實(shí)驗(yàn)步驟】 1. 用企業(yè)管理器

2、建立學(xué)生表 o 啟動(dòng)企業(yè)管理器(使用上次實(shí)驗(yàn)建立的帳號(hào)注冊(cè)連接服務(wù)器) o 展開(kāi)服務(wù)器(下圖中(LOCAL))-->展開(kāi)數(shù)據(jù)庫(kù)-->展開(kāi)自己學(xué)號(hào)所對(duì)應(yīng)的數(shù)據(jù)庫(kù)(下圖中的5102201101在實(shí)驗(yàn)中應(yīng)為你的學(xué)號(hào))。 o 在"表"上右擊,在快捷菜單中單擊"新建表...",如下圖所示 o o 在表結(jié)構(gòu)窗口內(nèi)建立如下圖所示的班級(jí)表(ID含義為"班號(hào)",NAME含義為"班名",DEPARTMENT含義為所在 系,各字段類型及是否允許為空按圖中設(shè)置),如下圖所示,左側(cè)三角形標(biāo)志為當(dāng)前列,下方的列屬性即為該列的。 o o 在第一行上右擊,在彈出的快捷菜單中單擊"設(shè)置主鍵",如下圖所示

3、, 則ID字段被設(shè)置為主鍵,在ID列屬性中將標(biāo)識(shí)改為:是,則ID字段在新增行時(shí),從標(biāo)識(shí)種子(當(dāng)前為1)開(kāi)始,逐行以標(biāo)識(shí)遞增量(當(dāng)前為1)自動(dòng)遞增(即此列在新增行時(shí)不用輸入數(shù)據(jù)而自動(dòng)生成)。 o o 要插入和刪除列,請(qǐng)使用類似方法--在快捷菜單中使用"插入列(M)"和"刪除列(D)"。 o 并在工具欄上單擊保存圖標(biāo),在彈出的保存對(duì)話框中輸入"U_CLASSES",單擊"確定",然后關(guān)閉表結(jié)構(gòu)設(shè)計(jì)窗口 o 依照上面設(shè)計(jì)學(xué)生表的步驟,設(shè)計(jì)如下圖所示的成績(jī)表(STUDENT_ID含義為學(xué)號(hào),COURSE_ID含義為課程號(hào),SCORE為成績(jī),各字段類型 和是否允許為空,按圖中設(shè)置),表名保

4、存為"U_SCORES"(注意設(shè)置主鍵時(shí),先按住Shift,分別單擊第一、第二行 左側(cè)--選中這兩行,再右擊,在快捷菜單單擊中設(shè)置主鍵--該操作可設(shè)置和取消主鍵)。 o o 關(guān)閉表設(shè)計(jì)窗口。 2. 用企業(yè)管理器修改表 o 如果要修改表,請(qǐng)展開(kāi)你的數(shù)據(jù)庫(kù),單擊其下的"表" o 在右邊的窗格中,找到要修改的表,在其上右擊 o 在彈出的快捷菜單中,單擊"設(shè)計(jì)表(S)"則打找開(kāi)表設(shè)計(jì)窗口進(jìn)行修改,具體如下圖所示 o 3. 用SQL語(yǔ)句建立班級(jí)表、課程表 o 依照啟動(dòng)企業(yè)管理器的方法,啟動(dòng)查詢分析器,在"連接到SQL Server"對(duì)話框中,設(shè)置"SQL Server(S

5、)"為local,選擇SQL Server身份驗(yàn)證,在登錄名中輸入你的學(xué)號(hào),密碼中輸入你的密碼,單擊"確定"。 o o 啟動(dòng)查詢分析器后,注意右上角當(dāng)前數(shù)據(jù)庫(kù)處是否為你的數(shù)據(jù)庫(kù)(如果不是,說(shuō)明登錄的名稱有問(wèn)題,或該登錄的默認(rèn)數(shù)據(jù)庫(kù)設(shè)置不正確).若不是請(qǐng)重新選擇.按照下圖輸入SQL語(yǔ)句(藍(lán)色和黑色部分,其中第一條為建表語(yǔ)句,第二條為設(shè)置主鍵的語(yǔ)句)建立課程表(U_COURSES)(其中ID表示課程編號(hào),該字段自動(dòng) 遞增,COURSE為課程名稱),單擊"分析查詢"("√"按鈕)按鈕,檢查語(yǔ)句的正確性。如果檢查正確,單擊"分析查詢"按鈕的右邊的執(zhí)行按鈕(右向的三角形按鈕)執(zhí)行(或按F5).

6、 o o 右擊左側(cè)數(shù)據(jù)庫(kù)圖標(biāo),在快捷菜單擊"刷新".展開(kāi)數(shù)據(jù)庫(kù)(你的學(xué)號(hào)),再展開(kāi)"用戶表",查看是否已存在班級(jí)表(U_COURSES),如下圖所示。 o o 依照上述方法輸入SQL語(yǔ)句(技巧:在查詢命令窗口內(nèi),要執(zhí)行的命令可先選中,再執(zhí)行,則未選中的語(yǔ)句不會(huì)執(zhí)行)建立學(xué)生表(U_STUDENTS),表結(jié)構(gòu)如下: 序號(hào) 字段 類型(長(zhǎng)度) 主鍵 含義 1 ID char(10) 是 學(xué)號(hào) 2 NAME varchar(16)   姓名 3 CLASS_ID tinyint   所在班級(jí)編號(hào) 4. 用SQL語(yǔ)句修改表結(jié)構(gòu) o 用SQL語(yǔ)句,

7、給課程表添加一個(gè)學(xué)時(shí)字段(字段名:period,類型:tinyint)。 ALTER TABLE [dbo].[U_COURSES] ADD period tinyint o 用SQL語(yǔ)句,給課程表添加一個(gè)學(xué)分字段(字段名:CREDIT,類型:tinyint)。 請(qǐng)參照上面SQL命令自行進(jìn)行 o 用SQL語(yǔ)句,刪除課程表學(xué)時(shí)字段(字段名:period)。 ALTER TABLE [dbo].[U_COURSES] DROP COLUMN period o 用SQL語(yǔ)句,修改成績(jī)表,使SCORE字段類型為tinyint。 ALTER TABLE [dbo].[

8、U_SCORES] ALTER COLUMN SCORE tinyint 5. 用企業(yè)管理器檢查各表,如果和上面要求的相同,則你的實(shí)驗(yàn)就完成了 實(shí)驗(yàn)2 數(shù)據(jù)庫(kù)的更新實(shí)驗(yàn) 一. 實(shí)驗(yàn)?zāi)康? 本實(shí)驗(yàn)的目的是要求學(xué)生熟練掌握使用SQL 和通過(guò)SQL Server企業(yè)管理器向數(shù)據(jù)庫(kù)輸入數(shù)據(jù)、修改數(shù)據(jù)和刪除數(shù)據(jù)的操作。 二. 相關(guān)知識(shí) SQL Server提供了很多方法更新表中數(shù)據(jù)。以插入記錄為例,可以使用INSERT語(yǔ)句、VALUES子句將特定值集合插入一行;可以使用數(shù)據(jù)庫(kù)接口API(ADO、OLE DB、ODBC和DB-Library)中的函數(shù)進(jìn)行數(shù)據(jù)插入等。本實(shí)驗(yàn)主要掌握I

9、NSERT、UPDATE和DELETE語(yǔ)句的基本用法。 1. 插入操作,其語(yǔ)句的一般格式為 INSERT INTO table_or_view [(colum_list)] VALUES (date_values); 此語(yǔ)句是使date_values作為一行數(shù)據(jù)記錄插入已命名的表或視圖table_or_view中。 Column_list是由逗號(hào)分隔的table_or_view的列名列表,用來(lái)指定為其提供數(shù)據(jù)的列。如果沒(méi)有指定column_list,表或視圖中的所有列都將接收數(shù)據(jù)。 如果column_list沒(méi)有為表或視圖中的所有列命名,將在列表中沒(méi)有命名的任何列中插入一個(gè)N

10、ULL值(或者在默認(rèn)情況下為這些列定義的默認(rèn)值)。在列的列表中沒(méi)有指定的所有列都必須允許NULL值或者指定的默認(rèn)值。否則SQL Server將返回一個(gè)錯(cuò)誤。 2. 修改操作語(yǔ)句的一般格式為 UPDATE 表名 SET <列名>=<表達(dá)式>[,<列名>=<表達(dá)式>]…… [where <條件>]; 其功能是修改指定表中滿足WHERE子句條件的元組。其中SET子句用于指定修改方法,即用<表達(dá)式>的值取代相應(yīng)的屬性列值。如果省略WHERE子句,則表示要修改表中的所有元組。 3. 刪除語(yǔ)句的一般格式為 DELETE FROM <表名> [WHERE <條件>];

11、其功能是從指定表中刪除滿足WHERE子句條件的所有元組。如果省略WHERE子句,則表示要?jiǎng)h除表中的所有元組,但表的定義仍在字典中。 三. 實(shí)驗(yàn)內(nèi)容 1. 通過(guò)企業(yè)管理器,在學(xué)生選課數(shù)據(jù)庫(kù)的學(xué)生、課程和選課3個(gè)表中各輸入10條記錄。要求記錄不僅滿足數(shù)據(jù)約束要求,還要有表間關(guān)聯(lián)的記錄。 2. 具體完成以下例題。將它們轉(zhuǎn)換為SQL語(yǔ)句表示,在學(xué)生選課庫(kù)中實(shí)現(xiàn)其數(shù)據(jù)更新操作。 例1 將一新學(xué)生記錄(學(xué)號(hào):95050;姓名:陳冬;性別:男;年齡:18;所在系:計(jì)算機(jī)科學(xué)系)插入學(xué)生表中。 例2 插入一條選課記錄(‘95020’,’C1’)。 例3 對(duì)每一個(gè)系,求學(xué)

12、生的平均年齡,并把結(jié)果存入數(shù)據(jù)庫(kù)。對(duì)于這道題,首先要在數(shù)據(jù)庫(kù)中建立一個(gè)有兩個(gè)屬性列的新表,其中一列存放系名,另一列存放相應(yīng)系的學(xué)生平均年齡。 CREATE TABLE Deptage(所在系 CHAR(20),平均年齡SMALLINT); 然后對(duì)數(shù)據(jù)庫(kù)的學(xué)生表按所在系分組求平均年齡,再把所在系和平均年齡存入新表中。 例4 將學(xué)生95001的年齡改為22歲。 例5 將所有學(xué)生的年齡增加一歲。 例6 將計(jì)算機(jī)科學(xué)系全體學(xué)生的成績(jī)置零。 例7 刪除學(xué)號(hào)為95006的學(xué)生記錄 例8 刪除所有的學(xué)生選課記錄 例9 刪除計(jì)算機(jī)科學(xué)系所有學(xué)生的選課記

13、錄 四. 實(shí)驗(yàn)步驟 將查詢需求用SQL語(yǔ)言表示;在SQL Server查詢分析器的輸入?yún)^(qū)中輸入SQL查詢語(yǔ)句;設(shè)置查詢分析器的結(jié)果區(qū)為Standard Execute(標(biāo)準(zhǔn)執(zhí)行)或Execute to Grid(網(wǎng)格執(zhí)行)方式;發(fā)布執(zhí)行命令,并在結(jié)果區(qū)中查看查詢結(jié)果;如果結(jié)果不正確,要進(jìn)行修改,直到正確為止。 實(shí)驗(yàn)3 數(shù)據(jù)庫(kù)查詢實(shí)驗(yàn) 一. 實(shí)驗(yàn)?zāi)康? 本實(shí)驗(yàn)的目的是使學(xué)生掌握SQL Server查詢分析器的使用方法,加深對(duì)SQL和SQL語(yǔ)言的查詢語(yǔ)句的理解。熟練掌握簡(jiǎn)單表的數(shù)據(jù)查詢、數(shù)據(jù)排序和數(shù)據(jù)連接查詢的操作方法。 二. 實(shí)驗(yàn)內(nèi)容 1. 簡(jiǎn)單查詢操作。該實(shí)

14、驗(yàn)包括投影、選擇條件表達(dá),數(shù)據(jù)排序,使用臨時(shí)表等。 具體完成以下題目,將它們轉(zhuǎn)換為SQL語(yǔ)句表示,在學(xué)生選課數(shù)據(jù)庫(kù)中實(shí)現(xiàn)其數(shù)據(jù)查詢操作。 1. 求數(shù)學(xué)系學(xué)生的學(xué)號(hào)和姓名 2. 求選修了課程的學(xué)生學(xué)號(hào) 3. 求選修課程號(hào)為‘C1’的學(xué)生號(hào)和成績(jī),并要求對(duì)查詢結(jié)果按成績(jī)的降序排列,如果成績(jī)相同按學(xué)號(hào)的升序排列。 4. 求選修課程號(hào)為‘C1’且成績(jī)?cè)?0~90之間的學(xué)生學(xué)號(hào)和成績(jī),并成績(jī)乘以0.8輸出。 5. 求數(shù)學(xué)系或計(jì)算機(jī)系姓張的學(xué)生的信息。 6. 求缺少了成績(jī)的學(xué)生的學(xué)號(hào)和課程號(hào) 2. 連接查詢操作。該實(shí)驗(yàn)包括等值連接、自然連接、求笛卡兒積、一般連接、外連接、內(nèi)連接、左連接

15、、右連接和自連接等。 7. 查詢每個(gè)學(xué)生的情況以及他所選修的課程 8. 求學(xué)生的學(xué)號(hào)、姓名、選修的課程及成績(jī) 9. 求選修課程號(hào)為‘C1’且成績(jī)?cè)?0以上的學(xué)生學(xué)號(hào)、姓名和成績(jī) 10. 查詢每一門(mén)課程的間接先行課(即先行課的先行課) 3 .嵌套查詢操作。實(shí)驗(yàn)的主要內(nèi)容是:在SQL Server查詢分析器中使用IN、比較符、ANY或ALL和EXISTS操作符進(jìn)行嵌套查詢操作。 具體完成以下例題。將它們用SQL語(yǔ)句表示,在學(xué)生選課中實(shí)現(xiàn)其數(shù)據(jù)嵌套查詢操作。 例1 求選修了高等數(shù)學(xué)的學(xué)號(hào)和姓名 例2 求C1課程的成績(jī)高于劉晨的學(xué)生學(xué)號(hào)和成績(jī) 例3 求其他系中比計(jì)算機(jī)系某一學(xué)生年

16、齡小的學(xué)生(即年齡小于計(jì)算機(jī)系年齡最大者的學(xué)生) 例4 求其他系中比計(jì)算機(jī)系學(xué)生年齡都小的學(xué)生 例5 求選修了C2課程的學(xué)生姓名 例6 求沒(méi)有選修C2課程的學(xué)生姓名 例7 查詢選修了全部課程的學(xué)生姓名 例8 求至少選修了學(xué)號(hào)為“95002”的學(xué)生所選修全部課程的學(xué)生學(xué)號(hào)和姓名 4.分組、統(tǒng)計(jì)、計(jì)算和集合的操作 1) 分組查詢實(shí)驗(yàn)。該實(shí)驗(yàn)包括分組條件表達(dá)、選擇組條件表達(dá)的方法。 2) 使用函數(shù)查詢的實(shí)驗(yàn)。該實(shí)驗(yàn)包括統(tǒng)計(jì)函數(shù)和分組統(tǒng)計(jì)函數(shù)的使用方法。 3) 集合查詢實(shí)驗(yàn)。該實(shí)驗(yàn)并操作UNION、交操作INTERSECT和差操作MINUS的實(shí)現(xiàn)方法。 具體完成以下例題,將它們

17、用SQL語(yǔ)句表示,在學(xué)生選課中實(shí)現(xiàn)其數(shù)據(jù)查詢操作。 例1 求學(xué)生的總?cè)藬?shù) 例2 求選修了課程的學(xué)生人數(shù) 例3 求課程和選修了該課程的學(xué)生人數(shù) 例4 求選修超過(guò)3門(mén)課的學(xué)生學(xué)號(hào) 例5 查詢計(jì)算機(jī)科學(xué)系的學(xué)生及年齡不大于19歲的學(xué)生 例6 查詢計(jì)算機(jī)科學(xué)系的學(xué)生與年齡不大于19歲的學(xué)生的交集 例7 查詢計(jì)算機(jī)科學(xué)系的學(xué)生與年齡不大于19歲的學(xué)生的差集 例8 查詢選修課程‘C1’的學(xué)生集合與選修課程‘C2’的學(xué)生集合的交集 例9 查詢選修課程‘C1’的學(xué)生集合與選修課程‘C2’的學(xué)生集合的差集 三. 實(shí)驗(yàn)方法 將查詢需求用SQL語(yǔ)言表示;在SQL Server查詢分析器的輸

18、入?yún)^(qū)中輸入SQL查詢語(yǔ)句;設(shè)置查詢分析器的結(jié)果區(qū)為Standard Execute(標(biāo)準(zhǔn)執(zhí)行)或Execute to Grid(網(wǎng)格執(zhí)行)方式;發(fā)布執(zhí)行命令,并在結(jié)果區(qū)中查看查詢結(jié)果;如果結(jié)果不正確,要進(jìn)行修改,直到正確為止。 實(shí)驗(yàn)4 數(shù)據(jù)庫(kù)視圖實(shí)驗(yàn) 一. 實(shí)驗(yàn)?zāi)康? 本實(shí)驗(yàn)的目的是使學(xué)生掌握視圖的定義與維護(hù)操作,加深對(duì)視圖在關(guān)系數(shù)據(jù)庫(kù)中的作用的理解。 二. 相關(guān)知識(shí) 視圖是根據(jù)子模式建立的虛擬表。一個(gè)視圖可以由一個(gè)表構(gòu)造,也可以由多個(gè)表構(gòu)造。利用企業(yè)管理器和視圖創(chuàng)建向?qū)нM(jìn)行創(chuàng)建,查看和修改視圖就如同對(duì)表的操作一樣,非常容易。 三. 實(shí)驗(yàn)內(nèi)容 本實(shí)驗(yàn)的主要內(nèi)容是:

19、1) 創(chuàng)建和刪除視圖 2) 查詢和更新視圖 具體完成以下例題。 例1 建立信息系學(xué)生的視圖 例2 建立信息系學(xué)生的視圖,并要求進(jìn)行修改和插入操作時(shí)仍須保證該視圖只有信息系的學(xué)生。 例3 建立信息系選修了’C1’號(hào)課程的學(xué)生視圖 例4 建立信息系選修了’C1’號(hào)課程且成績(jī)?cè)?0分以上的學(xué)生視圖 例5 定義一個(gè)反映學(xué)生出生年份的視圖 四. 實(shí)驗(yàn)步驟 1. 創(chuàng)建視圖 下面利用了SQL Server中提供的視圖創(chuàng)建向?qū)?,?lái)實(shí)現(xiàn)例3(建立信息系選修了1號(hào)課程的學(xué)生視圖)。 1) 打開(kāi)企業(yè)管理器窗口,確認(rèn)服務(wù)器,打開(kāi)數(shù)據(jù)庫(kù)文件夾,選中新視圖所在的數(shù)據(jù)庫(kù)(此例為學(xué)生

20、選課數(shù)據(jù)庫(kù))。 2) 選擇菜單:[工具]|[向?qū) 3) 在如圖1所示的向?qū)нx擇對(duì)話框中,單擊數(shù)據(jù)庫(kù)左邊的“+”號(hào),使之展開(kāi)。選擇“創(chuàng)建數(shù)據(jù)庫(kù)向?qū)А表?xiàng),單擊“確定”按鍵。 圖1 向?qū)нx擇對(duì)話框 4) 進(jìn)入創(chuàng)建視圖向?qū)Ш螅紫瘸霈F(xiàn)的是歡迎使用創(chuàng)建視圖向?qū)?duì)話框,其中簡(jiǎn)單介紹了該向?qū)У墓δ堋螕簟跋乱徊健焙?,就?huì)出現(xiàn)選擇數(shù)據(jù)庫(kù)對(duì)話框。 5) 在選擇數(shù)據(jù)庫(kù)對(duì)話框中,選擇視圖所屬的數(shù)據(jù)庫(kù)。本例的數(shù)據(jù)庫(kù)為“學(xué)生選課”。單擊“下一步”按鍵,則進(jìn)入選擇表對(duì)話框。 6) 在選擇表對(duì)話框中,列出了指定數(shù)據(jù)庫(kù)中所有用戶定義的表。用戶可以從中選擇構(gòu)造視圖所需的一個(gè)表

21、或者多個(gè)表,被選中的表成為構(gòu)造視圖的參考表。選擇構(gòu)造視圖參考表的方法是:用鼠標(biāo)單擊表后的“包含在視圖中”列,使復(fù)選框?yàn)檫x中狀態(tài)。本例的數(shù)據(jù)庫(kù)中只有學(xué)生表和選課表,它們都應(yīng)當(dāng)被選中。 單擊“下一步”按鍵,則進(jìn)入選擇對(duì)話框。 7) 列選擇對(duì)話框中以表格形式列出了創(chuàng)建視圖參考表的全部屬性,每個(gè)屬性占表的一行,創(chuàng)建視圖參考屬性可以在表格中選出。選擇視圖參考屬性的方法是用鼠標(biāo)單擊屬性名后邊的“選擇列”列,使復(fù)選框?yàn)檫x中狀態(tài)。本例中學(xué)生.學(xué)號(hào),學(xué)生.姓名和選課.成績(jī)屬性要被選中。 單擊“下一步”按鍵,進(jìn)入創(chuàng)建視圖的定義限制對(duì)話框,如圖2所示。 圖2 定義限制對(duì)話

22、框 8) 在定義限制對(duì)話框中,輸入表的連接和元組選擇條件。本例輸入“所在系=’信息系’ AND 學(xué)生.學(xué)號(hào) = 選課.學(xué)號(hào) AND 選課.課程號(hào) = ‘C1’”。 單擊“下一步”按鍵,出現(xiàn)視圖名對(duì)話框。 9) 在輸入視圖名對(duì)話框中輸入所建視圖的標(biāo)識(shí)名。本例的視圖名為“信息系—選課1”。單擊“下一步”按鍵,則出現(xiàn)視圖創(chuàng)建完成對(duì)話框。 在完成對(duì)話框中給出了根據(jù)前面對(duì)話框輸入的內(nèi)容譯成的SQL語(yǔ)句。您可以認(rèn)真閱讀該SQL語(yǔ)句,如果發(fā)現(xiàn)與要求有不符合之處可以直接進(jìn)行修改。 確認(rèn)無(wú)誤后單擊“完成”按鈕。隨后出現(xiàn)一個(gè)通知用戶已成功創(chuàng)建視圖的信息框,單擊“確認(rèn)”按鈕后,整個(gè)創(chuàng)建視圖工作就完成了。

23、 2. 查看和修改視圖 視圖創(chuàng)建好后,就可以利用它進(jìn)行查詢信息了。如果發(fā)現(xiàn)視圖的結(jié)構(gòu)不能很好地滿足要求,還可以在企業(yè)管理器對(duì)它進(jìn)行修改。 在企業(yè)管理器中修改視圖結(jié)構(gòu)需要首先選擇服務(wù)器,數(shù)據(jù)庫(kù),并使數(shù)據(jù)庫(kù)展開(kāi),然后用鼠標(biāo)右擊要修改的視圖,在彈出的菜單上選擇“設(shè)計(jì)視圖”項(xiàng),則彈出一個(gè)視圖設(shè)計(jì)對(duì)話框,如圖3所示。當(dāng)對(duì)其修改完畢后關(guān)閉窗口,新的視圖結(jié)構(gòu)就會(huì)取代原先的結(jié)構(gòu)。 實(shí)驗(yàn)5 數(shù)據(jù)庫(kù)保護(hù) 數(shù)據(jù)安全性實(shí)驗(yàn) 一. 實(shí)驗(yàn)?zāi)康? 本實(shí)驗(yàn)的目的是通過(guò)實(shí)驗(yàn)使學(xué)生加深對(duì)數(shù)據(jù)安全性的理解,并掌握SQL Server中有關(guān)用戶,角色及操作權(quán)限的管理方法。 二. 相關(guān)知識(shí)

24、 SQL Server提供以下四種防線: 1. Windows NT操作系統(tǒng)的安全防線 Windows NT的網(wǎng)絡(luò)管理員負(fù)責(zé)建立用戶組,設(shè)置帳號(hào)并注冊(cè),同時(shí)決定不同的用戶對(duì)不同的系統(tǒng)資源的訪問(wèn)級(jí)別。用戶只有擁有了一個(gè)有效的Windows NT登錄帳號(hào),才能對(duì)網(wǎng)絡(luò)資源進(jìn)行訪問(wèn)。 2. SQL Server的運(yùn)行安全防線 SQL Server 通過(guò)另外一種帳號(hào)設(shè)置來(lái)創(chuàng)建附加安全層。SQL Server具有標(biāo)準(zhǔn)登錄和集成登錄兩種用戶登錄方式,用戶只有登錄成功,才能與SQL Server建立一次連接。 3. SQL Server數(shù)據(jù)庫(kù)的安全防線 SQL Server的特定數(shù)據(jù)庫(kù)

25、都有自己的用戶和角色(用戶組),該數(shù)據(jù)庫(kù)只能由它的用戶或角色訪問(wèn),其他用戶無(wú)權(quán)訪問(wèn)其數(shù)據(jù),數(shù)據(jù)庫(kù)系統(tǒng)可以通過(guò)創(chuàng)建和管理特定的數(shù)據(jù)庫(kù)的用戶和角色來(lái)保證數(shù)據(jù)庫(kù)不被非法用戶訪問(wèn)。 4. SQL Server數(shù)據(jù)庫(kù)對(duì)象的安全防線 SQL Server可以對(duì)權(quán)限進(jìn)行管理,SQL的DCL功能保證合法用戶即使進(jìn)了數(shù)據(jù)庫(kù)也不能有超越權(quán)限的數(shù)據(jù)操作,即合法用戶必須在自己的權(quán)限范圍內(nèi)進(jìn)行數(shù)據(jù)操作。 三. 實(shí)驗(yàn)內(nèi)容 本實(shí)驗(yàn)的實(shí)驗(yàn)內(nèi)容為: 1. 在SQL Server企業(yè)管理器中,設(shè)置SQL Server的安全認(rèn)證模式。 2. 通過(guò)SQL Server企業(yè)管理器,實(shí)現(xiàn)對(duì)SQL Server的用戶

26、和角色管理。 3. 分別通過(guò)SQL Server企業(yè)管理器和SQL的數(shù)據(jù)控制功能,設(shè)置和管理數(shù)據(jù)操作權(quán)限。 四. 實(shí)驗(yàn)步驟 1. 在SQL Server企業(yè)管理器中為所屬的SQL 服務(wù)器設(shè)置為SQL Server和Windows NT混合安全認(rèn)證模式。其步驟如下: 1) 在企業(yè)管理器窗口中展開(kāi)服務(wù)器組,用鼠標(biāo)右擊需要設(shè)置的SQL服務(wù)器,在彈出的菜單中選擇“屬性”項(xiàng),則出現(xiàn)SQL Server屬性對(duì)話框,如圖1所示。 圖1 SQL Server屬性對(duì)話框 2) 在SQL Server屬性對(duì)話框中選擇“安全性”選項(xiàng)卡。 3) 身份驗(yàn)證選擇“SQL Server

27、和Windows”單選項(xiàng)。 2. 在SQL Server企業(yè)管理器中為自己建立一個(gè)服務(wù)器用戶、數(shù)據(jù)庫(kù)用戶和數(shù)據(jù)庫(kù)角色。 1) 在企業(yè)管理器窗口中展開(kāi)服務(wù)器組,展開(kāi)服務(wù)器,用鼠標(biāo)單擊“安全性”文件夾右側(cè)的‘+’,用鼠標(biāo)右擊“登錄”,在彈出的菜單中選擇“新建登錄”項(xiàng),則出現(xiàn)新建登錄對(duì)話框,如圖2所示。 圖2 新建登錄對(duì)話框 2) 在新建登錄對(duì)話框中有常規(guī),服務(wù)器角色和數(shù)據(jù)庫(kù)訪問(wèn)三個(gè)選項(xiàng)卡。 在常規(guī)選項(xiàng)卡中,輸入用戶名(本例為王平),選擇SQL Server安全驗(yàn)證,輸入用戶口令。 在服務(wù)器角色選項(xiàng)卡中,需要確定用戶所屬的服務(wù)器角色,在本例中采用缺省值即可。 在數(shù)據(jù)

28、庫(kù)訪問(wèn)選項(xiàng)卡中,需要指定此登錄可以訪問(wèn)的數(shù)據(jù)庫(kù)(本例選中學(xué)生選課數(shù)據(jù)庫(kù))和“學(xué)生選課”的數(shù)據(jù)庫(kù)角色(在本例中采用缺省值即可)。 單擊“確定”按鈕,既完成了創(chuàng)建登錄用戶的工作。 3. 關(guān)閉SQL Server企業(yè)管理器,打開(kāi)SQL查詢分析器。選擇SQL Server安全驗(yàn)證,用戶名為王平,輸入用戶口令,連接到SQL Server。在“查詢”窗口中可以輸入SQL語(yǔ)句。如“SELECT * FROM 學(xué)生”。運(yùn)行后,得到消息“拒絕了對(duì)對(duì)象‘學(xué)生’(數(shù)據(jù)庫(kù)‘學(xué)生選課’,所有者‘dbo’)的SELECT權(quán)限?!???梢?jiàn)用戶王平?jīng)]有對(duì)學(xué)生表的SELECT權(quán)限。 4. 要想將學(xué)生選課數(shù)據(jù)庫(kù)的操作權(quán)限

29、賦予數(shù)據(jù)庫(kù)用戶王平,有兩種方法。 方法一:通過(guò)企業(yè)管理器 1) 在企業(yè)管理器窗口中展開(kāi)服務(wù)器組,展開(kāi)服務(wù)器,用鼠標(biāo)單擊“數(shù)據(jù)庫(kù)”文件夾右側(cè)的‘+’,用鼠標(biāo)單擊學(xué)生選課數(shù)據(jù)庫(kù)文件夾右側(cè)的‘+’,用鼠標(biāo)右擊“用戶”。在屏幕右側(cè)的“用戶”窗口中選擇“王平”項(xiàng),用鼠標(biāo)右擊,在彈出的菜單中選擇“屬性”項(xiàng),則出現(xiàn)數(shù)據(jù)庫(kù)用戶屬性對(duì)話框,如圖3所示。 圖3 數(shù)據(jù)庫(kù)用戶屬性對(duì)話框 2) 單擊圖3中的權(quán)限按鈕,則出現(xiàn)數(shù)據(jù)庫(kù)用戶權(quán)限對(duì)話框,如圖4所示。對(duì)話框的下面是有關(guān)數(shù)據(jù)庫(kù)用戶和角色所對(duì)應(yīng)的權(quán)限表。這些權(quán)限均以復(fù)選框的形式表示。復(fù)選框有三種狀態(tài):

30、“√”為授權(quán);“”為廢除權(quán);空為撤權(quán)。在表中可以對(duì)用戶或角色的各種對(duì)象操作權(quán)(SELECT,INSERT,UPDATE,DELETE,EXEC和DRI)進(jìn)行授予或撤消。 圖4 數(shù)據(jù)庫(kù)用戶權(quán)限對(duì)話框 3) 在圖4中找到學(xué)生表,授予SELECT權(quán)限,即讓學(xué)生表與SELECT列交叉的復(fù)選框?yàn)椤啊獭奔纯伞? 方法二:通過(guò)SQL的數(shù)據(jù)控制功能 對(duì)用戶王平授權(quán),必須是數(shù)據(jù)庫(kù)對(duì)象擁有者以上用戶授予。我們可以以系統(tǒng)管理員或sa用戶登錄進(jìn)入查詢分析器。在查詢分析器中輸入授權(quán)語(yǔ)句“GRANT SELECT ON 學(xué)生 TO 王平;”,然后執(zhí)行即可。 數(shù)據(jù)庫(kù)備份和恢復(fù)

31、實(shí)驗(yàn) 一. 實(shí)驗(yàn)?zāi)康? 本實(shí)驗(yàn)的目的是通過(guò)實(shí)驗(yàn)使學(xué)生了解SQL Server的數(shù)據(jù)備份和恢復(fù)機(jī)制,掌握SQL Server中數(shù)據(jù)庫(kù)備份和恢復(fù)的方法。 二. 相關(guān)知識(shí) 1、 SQL Server的三種備份形式 SQL Server具有三種備份形式:完全備份、事務(wù)日志和差異備份。 1) 完全備份:將數(shù)據(jù)庫(kù)完全復(fù)制到備份文件中。 2) 事務(wù)日志備份:備份發(fā)生在數(shù)據(jù)庫(kù)上的事務(wù)。 3) 差異備份:備份最近一次完全備份以后數(shù)據(jù)庫(kù)發(fā)生變化的數(shù)據(jù)。 2、 數(shù)據(jù)庫(kù)進(jìn)行備份和恢復(fù)操作的方式 1) 靜態(tài)的備份和恢復(fù)方式。該方式在進(jìn)行數(shù)據(jù)備份或恢復(fù)操作時(shí),SQL服務(wù)器不接受任何應(yīng)用程序的訪問(wèn)

32、請(qǐng)求,只執(zhí)行備份或恢復(fù)操作。 2) 動(dòng)態(tài)的備份和恢復(fù)方式。該方式在進(jìn)行數(shù)據(jù)備份或恢復(fù)操作時(shí),SQL服務(wù)器同時(shí)接受應(yīng)用程序的訪問(wèn)請(qǐng)求。 三. 實(shí)驗(yàn)內(nèi)容 本實(shí)驗(yàn)的內(nèi)容是: 1. 用企業(yè)管理器創(chuàng)建一個(gè)備份設(shè)備。 2. 利用向?qū)閷W(xué)生選課數(shù)據(jù)庫(kù)生成一個(gè)完全備份。 3. 在企業(yè)管理器中恢復(fù)學(xué)生選課數(shù)據(jù)庫(kù) 四. 實(shí)驗(yàn)步驟 1、 在企業(yè)管理器中創(chuàng)建一個(gè)備份設(shè)備 1) 在企業(yè)管理器中擴(kuò)展服務(wù)器,在管理文件夾中找到備份文件夾。用鼠標(biāo)右鍵單擊該文件夾,在彈出的菜單中選擇“新建備份設(shè)備”項(xiàng),則出現(xiàn)“備份設(shè)備屬性”對(duì)話框,如圖所示。在名稱文本框中輸入設(shè)備名(本例為學(xué)生選課設(shè)備1)。

33、單擊“確定”按鈕,備份設(shè)備就創(chuàng)建成功了。 圖 “備份設(shè)備屬性”對(duì)話框 2) 在備份文件夾的窗口中出現(xiàn)了新創(chuàng)建的設(shè)備。選中該設(shè)備,用鼠標(biāo)右鍵單擊,在彈出的菜單中選擇“屬性”項(xiàng),則出現(xiàn)“備份設(shè)備屬性”對(duì)話框。 2、 利用向?qū)閷W(xué)生選課數(shù)據(jù)庫(kù)生成一個(gè)完全備份。 1) 在企業(yè)管理器中擴(kuò)展服務(wù)器,在數(shù)據(jù)庫(kù)文件夾中選中要備份的數(shù)據(jù)庫(kù)文件夾(學(xué)生選課數(shù)據(jù)庫(kù))。選擇菜單[工具]|[向?qū),則出現(xiàn)向?qū)нx擇對(duì)話框。在向?qū)нx擇對(duì)話框中,單擊管理左邊的“+”號(hào),使之展開(kāi)。選擇“備份向?qū)А表?xiàng),單擊“確定”按鍵。 2) 進(jìn)入創(chuàng)建備份向?qū)Ш?,首先出現(xiàn)的是歡迎使用創(chuàng)建

34、數(shù)據(jù)庫(kù)備份向?qū)?duì)話框,其中簡(jiǎn)單介紹了該向?qū)У墓δ?。單擊“下一步”后,就?huì)出現(xiàn)“選擇要備份數(shù)據(jù)庫(kù)”對(duì)話框。選擇好要備份數(shù)據(jù)庫(kù)后,單擊“下一步”,就會(huì)出現(xiàn)“鍵入備份的名稱和描述”對(duì)話框。鍵入備份名稱為“學(xué)生選課備份”,單擊“下一步”,就會(huì)出現(xiàn)“選擇備份類型”對(duì)話框。這里我們選擇“數(shù)據(jù)庫(kù)備份”,單擊“下一步”,就會(huì)出現(xiàn)“備份驗(yàn)證和調(diào)度”對(duì)話框。這里我們選擇默認(rèn)狀態(tài),單擊“下一步”,就會(huì)出現(xiàn)“正在完成備份數(shù)據(jù)庫(kù)向?qū)А睂?duì)話框。單擊“完成”按鈕,完成備份數(shù)據(jù)庫(kù)向?qū)В蓴?shù)據(jù)庫(kù)備份。 3、 在企業(yè)管理器中恢復(fù)學(xué)生選課數(shù)據(jù)庫(kù)。 1) 打開(kāi)學(xué)生選課數(shù)據(jù)庫(kù),刪除其中一個(gè)表(如選課表),即當(dāng)前的學(xué)生選課數(shù)據(jù)

35、庫(kù)中沒(méi)有選課表。 2) 恢復(fù)學(xué)生選課數(shù)據(jù)庫(kù)。步驟如下:在企業(yè)管理器中擴(kuò)展服務(wù)器,在數(shù)據(jù)庫(kù)文件夾中選中要備份的數(shù)據(jù)庫(kù)文件夾(學(xué)生選課數(shù)據(jù)庫(kù))。用鼠標(biāo)右鍵單擊,在彈出的菜單中選擇“所有任務(wù)”項(xiàng),在隨之出現(xiàn)的級(jí)聯(lián)菜單中選擇“還原數(shù)據(jù)庫(kù)”項(xiàng),則出現(xiàn)還原數(shù)據(jù)庫(kù)對(duì)話框。在此例中按“確定”按鈕即可完成恢復(fù)工作。 3) 再打開(kāi)學(xué)生選課數(shù)據(jù)庫(kù),看一看當(dāng)前的學(xué)生選課數(shù)據(jù)庫(kù)中有沒(méi)有選課表 4) 修改學(xué)生選課數(shù)據(jù)庫(kù)備份計(jì)劃,要求每月1號(hào)進(jìn)行數(shù)據(jù)庫(kù)備份,重復(fù)步驟2、3。 用其他方法生成備份。 實(shí)驗(yàn)6 數(shù)據(jù)完整性、觸發(fā)器和存儲(chǔ)過(guò)程

36、實(shí)驗(yàn) 五. 實(shí)驗(yàn)?zāi)康? 本實(shí)驗(yàn)的目的是通過(guò)實(shí)驗(yàn)使學(xué)生加深對(duì)數(shù)據(jù)完整性的理解,學(xué)會(huì)創(chuàng)建和使用觸發(fā)器。熟悉使用存儲(chǔ)過(guò)程來(lái)進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用程序的設(shè)計(jì)。 六. 相關(guān)知識(shí) SQL Server實(shí)現(xiàn)數(shù)據(jù)完整性的具體方法有4種:約束、缺省、規(guī)則和觸發(fā)器。其中約束和缺省在實(shí)驗(yàn)一中已接觸過(guò)。本實(shí)驗(yàn)重點(diǎn)學(xué)會(huì)創(chuàng)建和使用觸發(fā)器。 觸發(fā)器是實(shí)施復(fù)雜完整性的特殊類型的存儲(chǔ)類型。觸發(fā)器不需要專門(mén)語(yǔ)句調(diào)用,當(dāng)對(duì)它所保護(hù)數(shù)據(jù)進(jìn)行修改時(shí)自動(dòng)激活,以防止對(duì)數(shù)據(jù)進(jìn)行不正確,未授權(quán)或不一致的修改。 創(chuàng)建觸發(fā)器的語(yǔ)法為: CREATE TRIGGER < 觸發(fā)器> ON <表名> [WITH ENCRYPTI

37、ON] FOR {[DELETE][,][INSERT][,][UPDATE]} [WITH APPEND] [NOT FOR REPLICATION] AS 其中: 1) WITH ENCRYPTION 為加密選項(xiàng)。 2) DELETE 選項(xiàng)為創(chuàng)建DELETE 觸發(fā)器。DELETE觸發(fā)器的作用是當(dāng)對(duì)表執(zhí)行DELETE操作時(shí)觸發(fā)器被激活,并從指定表中刪除元組,同時(shí)將刪除的元組放入一個(gè)特殊的邏輯表(delete表)中。觸發(fā)器的動(dòng)作可以檢查delete表中的數(shù)據(jù),以確定下一步該如何處理。 3) INSERT選項(xiàng)為創(chuàng)建INSERT觸發(fā)器。INSERT觸發(fā)器在對(duì)指定

38、表中執(zhí)行插入數(shù)據(jù)操作時(shí)激活,激活后將插入表中的數(shù)據(jù)拷貝并送入一個(gè)特殊的邏輯表(inserted 表)中,觸發(fā)器會(huì)根據(jù)INSERT表中的值決定如何處理。 4) UPDATE選項(xiàng)為創(chuàng)建UPDATE觸發(fā)器。UPDATE觸發(fā)器僅在對(duì)指定表中進(jìn)行更新數(shù)據(jù)操作時(shí)激活。UPDATE觸發(fā)器激活后把將要被更新的原數(shù)據(jù)移入delete表中再將要被更新后的新數(shù)據(jù)的備份送入insert表中,UPDATE觸發(fā)器對(duì)delete和inserted表進(jìn)行檢查,并決定如何處理。 5) NOT FOR REPLICATION 選項(xiàng)說(shuō)明當(dāng)一個(gè)復(fù)制過(guò)程在修改一個(gè)觸發(fā)器表時(shí),與該表相關(guān)聯(lián)的觸發(fā)器不能被執(zhí)行。 一個(gè)觸發(fā)器只適用

39、于一個(gè)表,每個(gè)表最多只能有三個(gè)觸發(fā)器,它們分別是INSERT、UPDATE和DELETE觸發(fā)器。觸發(fā)器僅在實(shí)施數(shù)據(jù)完整性和處理業(yè)務(wù)規(guī)則時(shí)使用。 七. 實(shí)驗(yàn)內(nèi)容 本實(shí)驗(yàn)的內(nèi)容為: 使用SQL設(shè)計(jì)觸發(fā)器,通過(guò)SQL Server企業(yè)管理器定義它們。 具體完成下面例題:利用觸發(fā)器來(lái)保證學(xué)生選課庫(kù)中選課表的參照完整性,以維護(hù)其外碼與參照表中的主碼一致。 CREATE TRIGGER SC_inserted ON 選課 FOR INSERT AS IF(SELECT COUNT(*) FROM 學(xué)生,inserted,課程 WHERE 學(xué)生.學(xué)號(hào) = inserted.學(xué)號(hào) AN

40、D inserted.課程號(hào) = 課程.課程號(hào))=0 ROLLBACK TRANSACTION 八. 實(shí)驗(yàn)步驟 4、 在企業(yè)管理器中創(chuàng)建觸發(fā)器 3) 在企業(yè)管理器中,由服務(wù)器開(kāi)始逐步擴(kuò)展到觸發(fā)器所屬表的數(shù)據(jù)庫(kù)(本例為學(xué)生選課數(shù)據(jù)庫(kù)),打開(kāi)表文件夾,在表窗口中用鼠標(biāo)右擊觸發(fā)器所屬的表(本例為選課表)。 4) 在彈出菜單上選擇“所有任務(wù)”“管理觸發(fā)器”項(xiàng),則彈出如圖所示的觸發(fā)器屬性對(duì)話框。 圖 觸發(fā)器屬性對(duì)話框 如果要新建觸發(fā)器,在文本[T]的文本框中輸入創(chuàng)建觸發(fā)器的SQL語(yǔ)句(見(jiàn)實(shí)驗(yàn)內(nèi)容),單擊“檢查語(yǔ)法”按鈕進(jìn)行語(yǔ)法的檢查,檢

41、查無(wú)誤后,單擊確定按鈕。 5) 如果要修改觸發(fā)器,則在名字彈出項(xiàng)中選擇要修改的觸發(fā)器名(本例為SC_inserted),然后在文本[T]的文本框中對(duì)已有的內(nèi)容進(jìn)行修改,檢查無(wú)誤后單擊“確定”按鈕。 6) 如果要?jiǎng)h除觸發(fā)器,則在名字彈出項(xiàng)中選擇要?jiǎng)h除的觸發(fā)器名(本例為SC_inserted),并檢查文本[T]的文本框中的內(nèi)容,看是否選得正確,最后單擊“刪除”按鈕。 5、 驗(yàn)證觸發(fā)器 1) 在企業(yè)管理器中,由服務(wù)器開(kāi)始逐步擴(kuò)展到觸發(fā)器所屬表的數(shù)據(jù)庫(kù)(本例為學(xué)生選課數(shù)據(jù)庫(kù))。此時(shí),可在選課表中輸入一條記錄(學(xué)號(hào):’96001’,課程號(hào):’C8’,成績(jī):88)。顯然,這條記錄是不符合參照完

42、整性的。通過(guò)企業(yè)管理器輸入時(shí),會(huì)出現(xiàn)錯(cuò)誤提示,違反了數(shù)據(jù)庫(kù)的約束(如果約束C5和C6同時(shí)存在的話)。 2) 如果約束C5和C6存在,則刪除之(參見(jiàn)實(shí)驗(yàn)一) 3) 打開(kāi)SQL查詢分析器,輸入語(yǔ)句“INSERT INTO 選課 VALUES(‘96001’,‘C8’,88)”,查看執(zhí)行結(jié)果。 4) 刪除觸發(fā)器(本例為SC_inserted),重復(fù)步驟3。 3.對(duì)學(xué)生課程數(shù)據(jù)庫(kù),編寫(xiě)存儲(chǔ)過(guò)程,完成下面功能: 1)統(tǒng)計(jì)離散數(shù)學(xué)的成績(jī)分布情況,即按照各分?jǐn)?shù)段統(tǒng)計(jì)人數(shù); 2)統(tǒng)計(jì)任意一門(mén)課的平均成績(jī)。 3)將學(xué)生選課成績(jī)從百分制改為等級(jí)制(即A、B、C、D、E); 要求:提

43、交源程序并標(biāo)識(shí)必要的注釋。保證程序能正確編譯和運(yùn)行。 實(shí)驗(yàn)7 數(shù)據(jù)庫(kù)編程實(shí)驗(yàn) 九. 實(shí)驗(yàn)?zāi)康? 學(xué)會(huì)配置ODBC數(shù)據(jù)源。熟悉使用ODBC來(lái)進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用程序的設(shè)計(jì),熟悉通過(guò)ODBC接口訪問(wèn)異構(gòu)數(shù)據(jù)庫(kù)并對(duì)異構(gòu)數(shù)據(jù)庫(kù)進(jìn)行操作。 使用Java語(yǔ)言編程實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),所有的SQL操作均在自己建立的新庫(kù)里進(jìn)行,數(shù)據(jù)庫(kù)建議選用學(xué)生課程數(shù)據(jù)庫(kù),讀者可以選擇進(jìn)行創(chuàng)建、插入、查詢、刪除和更新等操作。 2 實(shí)驗(yàn)平臺(tái)和實(shí)驗(yàn)工具 實(shí)驗(yàn)平臺(tái):sql server 2000數(shù)據(jù)庫(kù)管理系統(tǒng), ODBC Driver。 通過(guò)C語(yǔ)言編寫(xiě)訪問(wèn)數(shù)據(jù)庫(kù)的應(yīng)用程序。編程工具自選。 JDBC來(lái)訪問(wèn)和操縱數(shù)據(jù)庫(kù)

44、的流程。 3 實(shí)驗(yàn)內(nèi)容和要求 在sql server 2000數(shù)據(jù)庫(kù)管理系統(tǒng)上,通過(guò)ODBC Driver,使用ODBC編寫(xiě)應(yīng)用程序來(lái)對(duì)異構(gòu)數(shù)據(jù)庫(kù)進(jìn)行各種數(shù)據(jù)操作。 配置兩個(gè)不同的數(shù)據(jù)源,編寫(xiě)程序連接兩個(gè)不同RDBMS的數(shù)據(jù)源,對(duì)異構(gòu)數(shù)據(jù)庫(kù)進(jìn)行操作。例如,將sql server 2000數(shù)據(jù)庫(kù)的某個(gè)表中的數(shù)據(jù)備份到SQL Server數(shù)據(jù)庫(kù)的表中。 要認(rèn)真填寫(xiě)實(shí)驗(yàn)報(bào)告,并且提交源程序,保證可正確編譯和運(yùn)行。 配置環(huán)境變量。使用Java語(yǔ)言編程實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),所有的SQL操作均在自己建立的新庫(kù)里進(jìn)行,數(shù)據(jù)庫(kù)建議選用學(xué)生課程數(shù)據(jù)庫(kù),讀者可以選擇進(jìn)行創(chuàng)建、插入、查詢、刪除和更新

45、等操作。 JDBC來(lái)訪問(wèn)和操縱數(shù)據(jù)庫(kù)的流程。 ->建立與數(shù)據(jù)庫(kù)的連接; ->創(chuàng)建語(yǔ)句對(duì)象; ->執(zhí)行查詢并返回結(jié)果集對(duì)象; ->處理結(jié)果集對(duì)象; ->關(guān)閉結(jié)果集和語(yǔ)句對(duì)象; ->提交更新; ->關(guān)閉與數(shù)據(jù)庫(kù)的連接。 3.1 知識(shí)預(yù)備 ■什么是ODBC ODBC(OpenDatabaseConnectivity,開(kāi)放數(shù)據(jù)庫(kù)互連)是微軟公司開(kāi)放服務(wù)結(jié)構(gòu)(WOSA,WindowsOpenServicesArchitecture)中有關(guān)數(shù)據(jù)庫(kù)的一個(gè)組成部分,這一技術(shù)為訪問(wèn)不同種類的 SQL 數(shù)據(jù)庫(kù)提供了通用接口。 ODBC是基于結(jié)構(gòu)查詢語(yǔ)言(SQ

46、L)的,并以此作為訪問(wèn)數(shù)據(jù)的標(biāo)準(zhǔn)。該接口提供了互操作性,即一個(gè)應(yīng)用程序可以通過(guò)一組公用代碼訪問(wèn)不同的DBMS。 ■配置ODBC數(shù)據(jù)源的方式 配置數(shù)據(jù)源共有兩種方法: 方法一:運(yùn)行數(shù)據(jù)源管理工具來(lái)進(jìn)行配置。 方法二:使用Driver Manager 提供的ConfigDsn函數(shù)來(lái)增加、修改或刪除數(shù)據(jù)源。這種方法特別適用于在應(yīng)用 程序中創(chuàng)建的臨時(shí)使用的數(shù)據(jù)源。 ■什么是JDBC? JDBC技術(shù)事實(shí)上是一種能通過(guò)JAVA語(yǔ)言訪問(wèn)任何結(jié)構(gòu)化數(shù)據(jù)庫(kù)的應(yīng)用程序接口(API)。相對(duì)于ODBC(Open Database Connectivity開(kāi)放數(shù)據(jù)庫(kù)連接)的解釋,可以把JDB

47、C看作Java Database Connectivity(Java數(shù)據(jù)庫(kù)連接)。 JDBC是由一組用Java語(yǔ)言編寫(xiě)的類與接口組成?,F(xiàn)在,JDBC已成為一種供工具/數(shù)據(jù)庫(kù)開(kāi)發(fā)者使用的標(biāo)準(zhǔn)API,用戶可以用純Java API來(lái)編寫(xiě)數(shù)據(jù)庫(kù)的應(yīng)用程序。 使用JDBC可以很容易地把SQL語(yǔ)句傳送到任何關(guān)系型數(shù)據(jù)庫(kù)中。換言之,用戶不需要為每一個(gè)關(guān)系數(shù)據(jù)庫(kù)單獨(dú)寫(xiě)一個(gè)程序。用JDBC API寫(xiě)出唯一的程序,能夠?qū)QL語(yǔ)句發(fā)送到相應(yīng)的任何一種數(shù)據(jù)庫(kù)。Java與JDBC的結(jié)合,使程序員可以只寫(xiě)一次數(shù)據(jù)庫(kù)應(yīng)用軟件后,就能在各種數(shù)據(jù)庫(kù)系統(tǒng)上運(yùn)行。 3.2 實(shí)驗(yàn)要求 給出配置兩個(gè)不同的數(shù)據(jù)源的過(guò)

48、程。提交應(yīng)用程序源代碼,并標(biāo)識(shí)必要的注釋,盡可能清楚明白地說(shuō)明程序的功能,實(shí)現(xiàn)的方法,關(guān)鍵數(shù)據(jù)結(jié)構(gòu)、變量、函數(shù)的定義。

49、 實(shí)驗(yàn)8 數(shù)據(jù)庫(kù)初步開(kāi)發(fā)實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康? 初步掌握數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)。 二、實(shí)驗(yàn)內(nèi)容(任選1題) 題目一:人事管理系統(tǒng) 1、系統(tǒng)功能的基本要求: (1) 員工各種信息的輸入,包括員工的基本信息、學(xué)歷信息、婚姻狀況信息、職稱等。 (2) 員工各種信息的修改; (3) 對(duì)于轉(zhuǎn)出、辭職、辭退、退休員工信息的刪除;

50、 (4) 按照一定的條件,查詢、統(tǒng)計(jì)符合條件的員工信息;至少應(yīng)該包括每個(gè)員工詳細(xì)信息的查詢、按婚姻狀況查詢、按學(xué)歷查詢、按工作崗位查詢等,至少應(yīng)該包括按學(xué)歷、婚姻狀況、崗位、參加工作時(shí)間等統(tǒng)計(jì)各自的員工信息; (5) 對(duì)查詢、統(tǒng)計(jì)的結(jié)果打印輸出。 2、數(shù)據(jù)庫(kù)要求:在數(shù)據(jù)庫(kù)中至少應(yīng)該包含下列數(shù)據(jù)表: (1) 員工基本信息表; (2) 員工婚姻情況表,反映員工的配偶信息; (3) 員工學(xué)歷信息表,反映員工的學(xué)歷、專業(yè)、畢業(yè)時(shí)間、學(xué)校、外語(yǔ)情況等; (4) 企業(yè)工作崗位表; (5) 企業(yè)部門(mén)信息表。 題目二:工資管理系統(tǒng) 1、系統(tǒng)功能的基本要求: (1) 員工每個(gè)工種基本工資的

51、設(shè)定 (2) 加班津貼管理,根據(jù)加班時(shí)間和類型給予不同的加班津貼; (3) 按照不同工種的基本工資情況、員工的考勤情況產(chǎn)生員工的每月的月工資; (4) 員工年終獎(jiǎng)金的生成,員工的年終獎(jiǎng)金計(jì)算公式=(員工本年度的工資總和+津貼的總和)/12; (5) 企業(yè)工資報(bào)表。能夠查詢單個(gè)員工的工資情況、每個(gè)部門(mén)的工資情況、按月的工資統(tǒng)計(jì),并能夠打?。? 2、數(shù)據(jù)庫(kù)要求:在數(shù)據(jù)庫(kù)中至少應(yīng)該包含下列數(shù)據(jù)表: (1) 員工考勤情況表; (2) 員工工種情況表,反映員工的工種、等級(jí),基本工資等信息; (3) 員工津貼信息表,反映員工的加班時(shí)間,加班類別、加班天數(shù)、津貼情況等; (4) 員工基本信息表 (5) 員工月工資表。 三、實(shí)驗(yàn)基本要求 (1) 系統(tǒng)的源程序,包括數(shù)據(jù)庫(kù)腳本程序。 (2) 開(kāi)發(fā)工具不限,可自己選擇VB、PB、Delphi、VC都可以。

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!