《數據庫原理及應用》實驗指導書
《《數據庫原理及應用》實驗指導書》由會員分享,可在線閱讀,更多相關《《數據庫原理及應用》實驗指導書(26頁珍藏版)》請在裝配圖網上搜索。
1、 《數據庫原理及應用》 編撰 閩江學院計算機實驗教學中心印制 二零零五年 九 月 實驗一 表的創(chuàng)建與修改 【實驗目的】 1. 學會使用企業(yè)管理器創(chuàng)建和修改表結構 2. 學會使用查詢分析器 3. 學會使用SQL語句創(chuàng)建和修改表結構 【實驗內容】 1. 使用企業(yè)管理器建立和修改班級表、成績表 2. 使用查詢分析器建立和修改課程表、學生表 【實驗準備】 1. 復習與本次實驗內容相關知識 2. 對本次實驗中要求自己完成的部分做好準備 【實驗步驟】 1. 用企業(yè)管理器
2、建立學生表 o 啟動企業(yè)管理器(使用上次實驗建立的帳號注冊連接服務器) o 展開服務器(下圖中(LOCAL))-->展開數據庫-->展開自己學號所對應的數據庫(下圖中的5102201101在實驗中應為你的學號)。 o 在"表"上右擊,在快捷菜單中單擊"新建表...",如下圖所示 o o 在表結構窗口內建立如下圖所示的班級表(ID含義為"班號",NAME含義為"班名",DEPARTMENT含義為所在 系,各字段類型及是否允許為空按圖中設置),如下圖所示,左側三角形標志為當前列,下方的列屬性即為該列的。 o o 在第一行上右擊,在彈出的快捷菜單中單擊"設置主鍵",如下圖所示
3、, 則ID字段被設置為主鍵,在ID列屬性中將標識改為:是,則ID字段在新增行時,從標識種子(當前為1)開始,逐行以標識遞增量(當前為1)自動遞增(即此列在新增行時不用輸入數據而自動生成)。 o o 要插入和刪除列,請使用類似方法--在快捷菜單中使用"插入列(M)"和"刪除列(D)"。 o 并在工具欄上單擊保存圖標,在彈出的保存對話框中輸入"U_CLASSES",單擊"確定",然后關閉表結構設計窗口 o 依照上面設計學生表的步驟,設計如下圖所示的成績表(STUDENT_ID含義為學號,COURSE_ID含義為課程號,SCORE為成績,各字段類型 和是否允許為空,按圖中設置),表名保
4、存為"U_SCORES"(注意設置主鍵時,先按住Shift,分別單擊第一、第二行 左側--選中這兩行,再右擊,在快捷菜單單擊中設置主鍵--該操作可設置和取消主鍵)。 o o 關閉表設計窗口。 2. 用企業(yè)管理器修改表 o 如果要修改表,請展開你的數據庫,單擊其下的"表" o 在右邊的窗格中,找到要修改的表,在其上右擊 o 在彈出的快捷菜單中,單擊"設計表(S)"則打找開表設計窗口進行修改,具體如下圖所示 o 3. 用SQL語句建立班級表、課程表 o 依照啟動企業(yè)管理器的方法,啟動查詢分析器,在"連接到SQL Server"對話框中,設置"SQL Server(S
5、)"為local,選擇SQL Server身份驗證,在登錄名中輸入你的學號,密碼中輸入你的密碼,單擊"確定"。 o o 啟動查詢分析器后,注意右上角當前數據庫處是否為你的數據庫(如果不是,說明登錄的名稱有問題,或該登錄的默認數據庫設置不正確).若不是請重新選擇.按照下圖輸入SQL語句(藍色和黑色部分,其中第一條為建表語句,第二條為設置主鍵的語句)建立課程表(U_COURSES)(其中ID表示課程編號,該字段自動 遞增,COURSE為課程名稱),單擊"分析查詢"("√"按鈕)按鈕,檢查語句的正確性。如果檢查正確,單擊"分析查詢"按鈕的右邊的執(zhí)行按鈕(右向的三角形按鈕)執(zhí)行(或按F5).
6、 o o 右擊左側數據庫圖標,在快捷菜單擊"刷新".展開數據庫(你的學號),再展開"用戶表",查看是否已存在班級表(U_COURSES),如下圖所示。 o o 依照上述方法輸入SQL語句(技巧:在查詢命令窗口內,要執(zhí)行的命令可先選中,再執(zhí)行,則未選中的語句不會執(zhí)行)建立學生表(U_STUDENTS),表結構如下: 序號 字段 類型(長度) 主鍵 含義 1 ID char(10) 是 學號 2 NAME varchar(16) 姓名 3 CLASS_ID tinyint 所在班級編號 4. 用SQL語句修改表結構 o 用SQL語句,
7、給課程表添加一個學時字段(字段名:period,類型:tinyint)。 ALTER TABLE [dbo].[U_COURSES] ADD period tinyint o 用SQL語句,給課程表添加一個學分字段(字段名:CREDIT,類型:tinyint)。 請參照上面SQL命令自行進行 o 用SQL語句,刪除課程表學時字段(字段名:period)。 ALTER TABLE [dbo].[U_COURSES] DROP COLUMN period o 用SQL語句,修改成績表,使SCORE字段類型為tinyint。 ALTER TABLE [dbo].[
8、U_SCORES] ALTER COLUMN SCORE tinyint 5. 用企業(yè)管理器檢查各表,如果和上面要求的相同,則你的實驗就完成了 實驗2 數據庫的更新實驗 一. 實驗目的 本實驗的目的是要求學生熟練掌握使用SQL 和通過SQL Server企業(yè)管理器向數據庫輸入數據、修改數據和刪除數據的操作。 二. 相關知識 SQL Server提供了很多方法更新表中數據。以插入記錄為例,可以使用INSERT語句、VALUES子句將特定值集合插入一行;可以使用數據庫接口API(ADO、OLE DB、ODBC和DB-Library)中的函數進行數據插入等。本實驗主要掌握I
9、NSERT、UPDATE和DELETE語句的基本用法。 1. 插入操作,其語句的一般格式為 INSERT INTO table_or_view [(colum_list)] VALUES (date_values); 此語句是使date_values作為一行數據記錄插入已命名的表或視圖table_or_view中。 Column_list是由逗號分隔的table_or_view的列名列表,用來指定為其提供數據的列。如果沒有指定column_list,表或視圖中的所有列都將接收數據。 如果column_list沒有為表或視圖中的所有列命名,將在列表中沒有命名的任何列中插入一個N
10、ULL值(或者在默認情況下為這些列定義的默認值)。在列的列表中沒有指定的所有列都必須允許NULL值或者指定的默認值。否則SQL Server將返回一個錯誤。 2. 修改操作語句的一般格式為 UPDATE 表名 SET <列名>=<表達式>[,<列名>=<表達式>]…… [where <條件>]; 其功能是修改指定表中滿足WHERE子句條件的元組。其中SET子句用于指定修改方法,即用<表達式>的值取代相應的屬性列值。如果省略WHERE子句,則表示要修改表中的所有元組。 3. 刪除語句的一般格式為 DELETE FROM <表名> [WHERE <條件>];
11、其功能是從指定表中刪除滿足WHERE子句條件的所有元組。如果省略WHERE子句,則表示要刪除表中的所有元組,但表的定義仍在字典中。 三. 實驗內容 1. 通過企業(yè)管理器,在學生選課數據庫的學生、課程和選課3個表中各輸入10條記錄。要求記錄不僅滿足數據約束要求,還要有表間關聯的記錄。 2. 具體完成以下例題。將它們轉換為SQL語句表示,在學生選課庫中實現其數據更新操作。 例1 將一新學生記錄(學號:95050;姓名:陳冬;性別:男;年齡:18;所在系:計算機科學系)插入學生表中。 例2 插入一條選課記錄(‘95020’,’C1’)。 例3 對每一個系,求學
12、生的平均年齡,并把結果存入數據庫。對于這道題,首先要在數據庫中建立一個有兩個屬性列的新表,其中一列存放系名,另一列存放相應系的學生平均年齡。 CREATE TABLE Deptage(所在系 CHAR(20),平均年齡SMALLINT); 然后對數據庫的學生表按所在系分組求平均年齡,再把所在系和平均年齡存入新表中。 例4 將學生95001的年齡改為22歲。 例5 將所有學生的年齡增加一歲。 例6 將計算機科學系全體學生的成績置零。 例7 刪除學號為95006的學生記錄 例8 刪除所有的學生選課記錄 例9 刪除計算機科學系所有學生的選課記
13、錄 四. 實驗步驟 將查詢需求用SQL語言表示;在SQL Server查詢分析器的輸入區(qū)中輸入SQL查詢語句;設置查詢分析器的結果區(qū)為Standard Execute(標準執(zhí)行)或Execute to Grid(網格執(zhí)行)方式;發(fā)布執(zhí)行命令,并在結果區(qū)中查看查詢結果;如果結果不正確,要進行修改,直到正確為止。 實驗3 數據庫查詢實驗 一. 實驗目的 本實驗的目的是使學生掌握SQL Server查詢分析器的使用方法,加深對SQL和SQL語言的查詢語句的理解。熟練掌握簡單表的數據查詢、數據排序和數據連接查詢的操作方法。 二. 實驗內容 1. 簡單查詢操作。該實
14、驗包括投影、選擇條件表達,數據排序,使用臨時表等。 具體完成以下題目,將它們轉換為SQL語句表示,在學生選課數據庫中實現其數據查詢操作。 1. 求數學系學生的學號和姓名 2. 求選修了課程的學生學號 3. 求選修課程號為‘C1’的學生號和成績,并要求對查詢結果按成績的降序排列,如果成績相同按學號的升序排列。 4. 求選修課程號為‘C1’且成績在80~90之間的學生學號和成績,并成績乘以0.8輸出。 5. 求數學系或計算機系姓張的學生的信息。 6. 求缺少了成績的學生的學號和課程號 2. 連接查詢操作。該實驗包括等值連接、自然連接、求笛卡兒積、一般連接、外連接、內連接、左連接
15、、右連接和自連接等。 7. 查詢每個學生的情況以及他所選修的課程 8. 求學生的學號、姓名、選修的課程及成績 9. 求選修課程號為‘C1’且成績在90以上的學生學號、姓名和成績 10. 查詢每一門課程的間接先行課(即先行課的先行課) 3 .嵌套查詢操作。實驗的主要內容是:在SQL Server查詢分析器中使用IN、比較符、ANY或ALL和EXISTS操作符進行嵌套查詢操作。 具體完成以下例題。將它們用SQL語句表示,在學生選課中實現其數據嵌套查詢操作。 例1 求選修了高等數學的學號和姓名 例2 求C1課程的成績高于劉晨的學生學號和成績 例3 求其他系中比計算機系某一學生年
16、齡小的學生(即年齡小于計算機系年齡最大者的學生) 例4 求其他系中比計算機系學生年齡都小的學生 例5 求選修了C2課程的學生姓名 例6 求沒有選修C2課程的學生姓名 例7 查詢選修了全部課程的學生姓名 例8 求至少選修了學號為“95002”的學生所選修全部課程的學生學號和姓名 4.分組、統(tǒng)計、計算和集合的操作 1) 分組查詢實驗。該實驗包括分組條件表達、選擇組條件表達的方法。 2) 使用函數查詢的實驗。該實驗包括統(tǒng)計函數和分組統(tǒng)計函數的使用方法。 3) 集合查詢實驗。該實驗并操作UNION、交操作INTERSECT和差操作MINUS的實現方法。 具體完成以下例題,將它們
17、用SQL語句表示,在學生選課中實現其數據查詢操作。 例1 求學生的總人數 例2 求選修了課程的學生人數 例3 求課程和選修了該課程的學生人數 例4 求選修超過3門課的學生學號 例5 查詢計算機科學系的學生及年齡不大于19歲的學生 例6 查詢計算機科學系的學生與年齡不大于19歲的學生的交集 例7 查詢計算機科學系的學生與年齡不大于19歲的學生的差集 例8 查詢選修課程‘C1’的學生集合與選修課程‘C2’的學生集合的交集 例9 查詢選修課程‘C1’的學生集合與選修課程‘C2’的學生集合的差集 三. 實驗方法 將查詢需求用SQL語言表示;在SQL Server查詢分析器的輸
18、入區(qū)中輸入SQL查詢語句;設置查詢分析器的結果區(qū)為Standard Execute(標準執(zhí)行)或Execute to Grid(網格執(zhí)行)方式;發(fā)布執(zhí)行命令,并在結果區(qū)中查看查詢結果;如果結果不正確,要進行修改,直到正確為止。 實驗4 數據庫視圖實驗 一. 實驗目的 本實驗的目的是使學生掌握視圖的定義與維護操作,加深對視圖在關系數據庫中的作用的理解。 二. 相關知識 視圖是根據子模式建立的虛擬表。一個視圖可以由一個表構造,也可以由多個表構造。利用企業(yè)管理器和視圖創(chuàng)建向導進行創(chuàng)建,查看和修改視圖就如同對表的操作一樣,非常容易。 三. 實驗內容 本實驗的主要內容是:
19、1) 創(chuàng)建和刪除視圖 2) 查詢和更新視圖 具體完成以下例題。 例1 建立信息系學生的視圖 例2 建立信息系學生的視圖,并要求進行修改和插入操作時仍須保證該視圖只有信息系的學生。 例3 建立信息系選修了’C1’號課程的學生視圖 例4 建立信息系選修了’C1’號課程且成績在90分以上的學生視圖 例5 定義一個反映學生出生年份的視圖 四. 實驗步驟 1. 創(chuàng)建視圖 下面利用了SQL Server中提供的視圖創(chuàng)建向導,來實現例3(建立信息系選修了1號課程的學生視圖)。 1) 打開企業(yè)管理器窗口,確認服務器,打開數據庫文件夾,選中新視圖所在的數據庫(此例為學生
20、選課數據庫)。 2) 選擇菜單:[工具]|[向導] 3) 在如圖1所示的向導選擇對話框中,單擊數據庫左邊的“+”號,使之展開。選擇“創(chuàng)建數據庫向導”項,單擊“確定”按鍵。 圖1 向導選擇對話框 4) 進入創(chuàng)建視圖向導后,首先出現的是歡迎使用創(chuàng)建視圖向導對話框,其中簡單介紹了該向導的功能。單擊“下一步”后,就會出現選擇數據庫對話框。 5) 在選擇數據庫對話框中,選擇視圖所屬的數據庫。本例的數據庫為“學生選課”。單擊“下一步”按鍵,則進入選擇表對話框。 6) 在選擇表對話框中,列出了指定數據庫中所有用戶定義的表。用戶可以從中選擇構造視圖所需的一個表
21、或者多個表,被選中的表成為構造視圖的參考表。選擇構造視圖參考表的方法是:用鼠標單擊表后的“包含在視圖中”列,使復選框為選中狀態(tài)。本例的數據庫中只有學生表和選課表,它們都應當被選中。 單擊“下一步”按鍵,則進入選擇對話框。 7) 列選擇對話框中以表格形式列出了創(chuàng)建視圖參考表的全部屬性,每個屬性占表的一行,創(chuàng)建視圖參考屬性可以在表格中選出。選擇視圖參考屬性的方法是用鼠標單擊屬性名后邊的“選擇列”列,使復選框為選中狀態(tài)。本例中學生.學號,學生.姓名和選課.成績屬性要被選中。 單擊“下一步”按鍵,進入創(chuàng)建視圖的定義限制對話框,如圖2所示。 圖2 定義限制對話
22、框 8) 在定義限制對話框中,輸入表的連接和元組選擇條件。本例輸入“所在系=’信息系’ AND 學生.學號 = 選課.學號 AND 選課.課程號 = ‘C1’”。 單擊“下一步”按鍵,出現視圖名對話框。 9) 在輸入視圖名對話框中輸入所建視圖的標識名。本例的視圖名為“信息系—選課1”。單擊“下一步”按鍵,則出現視圖創(chuàng)建完成對話框。 在完成對話框中給出了根據前面對話框輸入的內容譯成的SQL語句。您可以認真閱讀該SQL語句,如果發(fā)現與要求有不符合之處可以直接進行修改。 確認無誤后單擊“完成”按鈕。隨后出現一個通知用戶已成功創(chuàng)建視圖的信息框,單擊“確認”按鈕后,整個創(chuàng)建視圖工作就完成了。
23、 2. 查看和修改視圖 視圖創(chuàng)建好后,就可以利用它進行查詢信息了。如果發(fā)現視圖的結構不能很好地滿足要求,還可以在企業(yè)管理器對它進行修改。 在企業(yè)管理器中修改視圖結構需要首先選擇服務器,數據庫,并使數據庫展開,然后用鼠標右擊要修改的視圖,在彈出的菜單上選擇“設計視圖”項,則彈出一個視圖設計對話框,如圖3所示。當對其修改完畢后關閉窗口,新的視圖結構就會取代原先的結構。 實驗5 數據庫保護 數據安全性實驗 一. 實驗目的 本實驗的目的是通過實驗使學生加深對數據安全性的理解,并掌握SQL Server中有關用戶,角色及操作權限的管理方法。 二. 相關知識
24、 SQL Server提供以下四種防線: 1. Windows NT操作系統(tǒng)的安全防線 Windows NT的網絡管理員負責建立用戶組,設置帳號并注冊,同時決定不同的用戶對不同的系統(tǒng)資源的訪問級別。用戶只有擁有了一個有效的Windows NT登錄帳號,才能對網絡資源進行訪問。 2. SQL Server的運行安全防線 SQL Server 通過另外一種帳號設置來創(chuàng)建附加安全層。SQL Server具有標準登錄和集成登錄兩種用戶登錄方式,用戶只有登錄成功,才能與SQL Server建立一次連接。 3. SQL Server數據庫的安全防線 SQL Server的特定數據庫
25、都有自己的用戶和角色(用戶組),該數據庫只能由它的用戶或角色訪問,其他用戶無權訪問其數據,數據庫系統(tǒng)可以通過創(chuàng)建和管理特定的數據庫的用戶和角色來保證數據庫不被非法用戶訪問。 4. SQL Server數據庫對象的安全防線 SQL Server可以對權限進行管理,SQL的DCL功能保證合法用戶即使進了數據庫也不能有超越權限的數據操作,即合法用戶必須在自己的權限范圍內進行數據操作。 三. 實驗內容 本實驗的實驗內容為: 1. 在SQL Server企業(yè)管理器中,設置SQL Server的安全認證模式。 2. 通過SQL Server企業(yè)管理器,實現對SQL Server的用戶
26、和角色管理。 3. 分別通過SQL Server企業(yè)管理器和SQL的數據控制功能,設置和管理數據操作權限。 四. 實驗步驟 1. 在SQL Server企業(yè)管理器中為所屬的SQL 服務器設置為SQL Server和Windows NT混合安全認證模式。其步驟如下: 1) 在企業(yè)管理器窗口中展開服務器組,用鼠標右擊需要設置的SQL服務器,在彈出的菜單中選擇“屬性”項,則出現SQL Server屬性對話框,如圖1所示。 圖1 SQL Server屬性對話框 2) 在SQL Server屬性對話框中選擇“安全性”選項卡。 3) 身份驗證選擇“SQL Server
27、和Windows”單選項。 2. 在SQL Server企業(yè)管理器中為自己建立一個服務器用戶、數據庫用戶和數據庫角色。 1) 在企業(yè)管理器窗口中展開服務器組,展開服務器,用鼠標單擊“安全性”文件夾右側的‘+’,用鼠標右擊“登錄”,在彈出的菜單中選擇“新建登錄”項,則出現新建登錄對話框,如圖2所示。 圖2 新建登錄對話框 2) 在新建登錄對話框中有常規(guī),服務器角色和數據庫訪問三個選項卡。 在常規(guī)選項卡中,輸入用戶名(本例為王平),選擇SQL Server安全驗證,輸入用戶口令。 在服務器角色選項卡中,需要確定用戶所屬的服務器角色,在本例中采用缺省值即可。 在數據
28、庫訪問選項卡中,需要指定此登錄可以訪問的數據庫(本例選中學生選課數據庫)和“學生選課”的數據庫角色(在本例中采用缺省值即可)。 單擊“確定”按鈕,既完成了創(chuàng)建登錄用戶的工作。 3. 關閉SQL Server企業(yè)管理器,打開SQL查詢分析器。選擇SQL Server安全驗證,用戶名為王平,輸入用戶口令,連接到SQL Server。在“查詢”窗口中可以輸入SQL語句。如“SELECT * FROM 學生”。運行后,得到消息“拒絕了對對象‘學生’(數據庫‘學生選課’,所有者‘dbo’)的SELECT權限?!薄?梢娪脩敉跗經]有對學生表的SELECT權限。 4. 要想將學生選課數據庫的操作權限
29、賦予數據庫用戶王平,有兩種方法。 方法一:通過企業(yè)管理器 1) 在企業(yè)管理器窗口中展開服務器組,展開服務器,用鼠標單擊“數據庫”文件夾右側的‘+’,用鼠標單擊學生選課數據庫文件夾右側的‘+’,用鼠標右擊“用戶”。在屏幕右側的“用戶”窗口中選擇“王平”項,用鼠標右擊,在彈出的菜單中選擇“屬性”項,則出現數據庫用戶屬性對話框,如圖3所示。 圖3 數據庫用戶屬性對話框 2) 單擊圖3中的權限按鈕,則出現數據庫用戶權限對話框,如圖4所示。對話框的下面是有關數據庫用戶和角色所對應的權限表。這些權限均以復選框的形式表示。復選框有三種狀態(tài):
30、“√”為授權;“”為廢除權;空為撤權。在表中可以對用戶或角色的各種對象操作權(SELECT,INSERT,UPDATE,DELETE,EXEC和DRI)進行授予或撤消。 圖4 數據庫用戶權限對話框 3) 在圖4中找到學生表,授予SELECT權限,即讓學生表與SELECT列交叉的復選框為“√”即可。 方法二:通過SQL的數據控制功能 對用戶王平授權,必須是數據庫對象擁有者以上用戶授予。我們可以以系統(tǒng)管理員或sa用戶登錄進入查詢分析器。在查詢分析器中輸入授權語句“GRANT SELECT ON 學生 TO 王平;”,然后執(zhí)行即可。 數據庫備份和恢復
31、實驗 一. 實驗目的 本實驗的目的是通過實驗使學生了解SQL Server的數據備份和恢復機制,掌握SQL Server中數據庫備份和恢復的方法。 二. 相關知識 1、 SQL Server的三種備份形式 SQL Server具有三種備份形式:完全備份、事務日志和差異備份。 1) 完全備份:將數據庫完全復制到備份文件中。 2) 事務日志備份:備份發(fā)生在數據庫上的事務。 3) 差異備份:備份最近一次完全備份以后數據庫發(fā)生變化的數據。 2、 數據庫進行備份和恢復操作的方式 1) 靜態(tài)的備份和恢復方式。該方式在進行數據備份或恢復操作時,SQL服務器不接受任何應用程序的訪問
32、請求,只執(zhí)行備份或恢復操作。 2) 動態(tài)的備份和恢復方式。該方式在進行數據備份或恢復操作時,SQL服務器同時接受應用程序的訪問請求。 三. 實驗內容 本實驗的內容是: 1. 用企業(yè)管理器創(chuàng)建一個備份設備。 2. 利用向導為學生選課數據庫生成一個完全備份。 3. 在企業(yè)管理器中恢復學生選課數據庫 四. 實驗步驟 1、 在企業(yè)管理器中創(chuàng)建一個備份設備 1) 在企業(yè)管理器中擴展服務器,在管理文件夾中找到備份文件夾。用鼠標右鍵單擊該文件夾,在彈出的菜單中選擇“新建備份設備”項,則出現“備份設備屬性”對話框,如圖所示。在名稱文本框中輸入設備名(本例為學生選課設備1)。
33、單擊“確定”按鈕,備份設備就創(chuàng)建成功了。 圖 “備份設備屬性”對話框 2) 在備份文件夾的窗口中出現了新創(chuàng)建的設備。選中該設備,用鼠標右鍵單擊,在彈出的菜單中選擇“屬性”項,則出現“備份設備屬性”對話框。 2、 利用向導為學生選課數據庫生成一個完全備份。 1) 在企業(yè)管理器中擴展服務器,在數據庫文件夾中選中要備份的數據庫文件夾(學生選課數據庫)。選擇菜單[工具]|[向導],則出現向導選擇對話框。在向導選擇對話框中,單擊管理左邊的“+”號,使之展開。選擇“備份向導”項,單擊“確定”按鍵。 2) 進入創(chuàng)建備份向導后,首先出現的是歡迎使用創(chuàng)建
34、數據庫備份向導對話框,其中簡單介紹了該向導的功能。單擊“下一步”后,就會出現“選擇要備份數據庫”對話框。選擇好要備份數據庫后,單擊“下一步”,就會出現“鍵入備份的名稱和描述”對話框。鍵入備份名稱為“學生選課備份”,單擊“下一步”,就會出現“選擇備份類型”對話框。這里我們選擇“數據庫備份”,單擊“下一步”,就會出現“備份驗證和調度”對話框。這里我們選擇默認狀態(tài),單擊“下一步”,就會出現“正在完成備份數據庫向導”對話框。單擊“完成”按鈕,完成備份數據庫向導,生成數據庫備份。 3、 在企業(yè)管理器中恢復學生選課數據庫。 1) 打開學生選課數據庫,刪除其中一個表(如選課表),即當前的學生選課數據
35、庫中沒有選課表。 2) 恢復學生選課數據庫。步驟如下:在企業(yè)管理器中擴展服務器,在數據庫文件夾中選中要備份的數據庫文件夾(學生選課數據庫)。用鼠標右鍵單擊,在彈出的菜單中選擇“所有任務”項,在隨之出現的級聯菜單中選擇“還原數據庫”項,則出現還原數據庫對話框。在此例中按“確定”按鈕即可完成恢復工作。 3) 再打開學生選課數據庫,看一看當前的學生選課數據庫中有沒有選課表 4) 修改學生選課數據庫備份計劃,要求每月1號進行數據庫備份,重復步驟2、3。 用其他方法生成備份。 實驗6 數據完整性、觸發(fā)器和存儲過程
36、實驗 五. 實驗目的 本實驗的目的是通過實驗使學生加深對數據完整性的理解,學會創(chuàng)建和使用觸發(fā)器。熟悉使用存儲過程來進行數據庫應用程序的設計。 六. 相關知識 SQL Server實現數據完整性的具體方法有4種:約束、缺省、規(guī)則和觸發(fā)器。其中約束和缺省在實驗一中已接觸過。本實驗重點學會創(chuàng)建和使用觸發(fā)器。 觸發(fā)器是實施復雜完整性的特殊類型的存儲類型。觸發(fā)器不需要專門語句調用,當對它所保護數據進行修改時自動激活,以防止對數據進行不正確,未授權或不一致的修改。 創(chuàng)建觸發(fā)器的語法為: CREATE TRIGGER < 觸發(fā)器> ON <表名> [WITH ENCRYPTI
37、ON]
FOR {[DELETE][,][INSERT][,][UPDATE]}
[WITH APPEND]
[NOT FOR REPLICATION]
AS
38、表中執(zhí)行插入數據操作時激活,激活后將插入表中的數據拷貝并送入一個特殊的邏輯表(inserted 表)中,觸發(fā)器會根據INSERT表中的值決定如何處理。 4) UPDATE選項為創(chuàng)建UPDATE觸發(fā)器。UPDATE觸發(fā)器僅在對指定表中進行更新數據操作時激活。UPDATE觸發(fā)器激活后把將要被更新的原數據移入delete表中再將要被更新后的新數據的備份送入insert表中,UPDATE觸發(fā)器對delete和inserted表進行檢查,并決定如何處理。 5) NOT FOR REPLICATION 選項說明當一個復制過程在修改一個觸發(fā)器表時,與該表相關聯的觸發(fā)器不能被執(zhí)行。 一個觸發(fā)器只適用
39、于一個表,每個表最多只能有三個觸發(fā)器,它們分別是INSERT、UPDATE和DELETE觸發(fā)器。觸發(fā)器僅在實施數據完整性和處理業(yè)務規(guī)則時使用。 七. 實驗內容 本實驗的內容為: 使用SQL設計觸發(fā)器,通過SQL Server企業(yè)管理器定義它們。 具體完成下面例題:利用觸發(fā)器來保證學生選課庫中選課表的參照完整性,以維護其外碼與參照表中的主碼一致。 CREATE TRIGGER SC_inserted ON 選課 FOR INSERT AS IF(SELECT COUNT(*) FROM 學生,inserted,課程 WHERE 學生.學號 = inserted.學號 AN
40、D inserted.課程號 = 課程.課程號)=0 ROLLBACK TRANSACTION 八. 實驗步驟 4、 在企業(yè)管理器中創(chuàng)建觸發(fā)器 3) 在企業(yè)管理器中,由服務器開始逐步擴展到觸發(fā)器所屬表的數據庫(本例為學生選課數據庫),打開表文件夾,在表窗口中用鼠標右擊觸發(fā)器所屬的表(本例為選課表)。 4) 在彈出菜單上選擇“所有任務”“管理觸發(fā)器”項,則彈出如圖所示的觸發(fā)器屬性對話框。 圖 觸發(fā)器屬性對話框 如果要新建觸發(fā)器,在文本[T]的文本框中輸入創(chuàng)建觸發(fā)器的SQL語句(見實驗內容),單擊“檢查語法”按鈕進行語法的檢查,檢
41、查無誤后,單擊確定按鈕。 5) 如果要修改觸發(fā)器,則在名字彈出項中選擇要修改的觸發(fā)器名(本例為SC_inserted),然后在文本[T]的文本框中對已有的內容進行修改,檢查無誤后單擊“確定”按鈕。 6) 如果要刪除觸發(fā)器,則在名字彈出項中選擇要刪除的觸發(fā)器名(本例為SC_inserted),并檢查文本[T]的文本框中的內容,看是否選得正確,最后單擊“刪除”按鈕。 5、 驗證觸發(fā)器 1) 在企業(yè)管理器中,由服務器開始逐步擴展到觸發(fā)器所屬表的數據庫(本例為學生選課數據庫)。此時,可在選課表中輸入一條記錄(學號:’96001’,課程號:’C8’,成績:88)。顯然,這條記錄是不符合參照完
42、整性的。通過企業(yè)管理器輸入時,會出現錯誤提示,違反了數據庫的約束(如果約束C5和C6同時存在的話)。 2) 如果約束C5和C6存在,則刪除之(參見實驗一) 3) 打開SQL查詢分析器,輸入語句“INSERT INTO 選課 VALUES(‘96001’,‘C8’,88)”,查看執(zhí)行結果。 4) 刪除觸發(fā)器(本例為SC_inserted),重復步驟3。 3.對學生課程數據庫,編寫存儲過程,完成下面功能: 1)統(tǒng)計離散數學的成績分布情況,即按照各分數段統(tǒng)計人數; 2)統(tǒng)計任意一門課的平均成績。 3)將學生選課成績從百分制改為等級制(即A、B、C、D、E); 要求:提
43、交源程序并標識必要的注釋。保證程序能正確編譯和運行。 實驗7 數據庫編程實驗 九. 實驗目的 學會配置ODBC數據源。熟悉使用ODBC來進行數據庫應用程序的設計,熟悉通過ODBC接口訪問異構數據庫并對異構數據庫進行操作。 使用Java語言編程實現對數據庫的訪問,所有的SQL操作均在自己建立的新庫里進行,數據庫建議選用學生課程數據庫,讀者可以選擇進行創(chuàng)建、插入、查詢、刪除和更新等操作。 2 實驗平臺和實驗工具 實驗平臺:sql server 2000數據庫管理系統(tǒng), ODBC Driver。 通過C語言編寫訪問數據庫的應用程序。編程工具自選。 JDBC來訪問和操縱數據庫
44、的流程。 3 實驗內容和要求 在sql server 2000數據庫管理系統(tǒng)上,通過ODBC Driver,使用ODBC編寫應用程序來對異構數據庫進行各種數據操作。 配置兩個不同的數據源,編寫程序連接兩個不同RDBMS的數據源,對異構數據庫進行操作。例如,將sql server 2000數據庫的某個表中的數據備份到SQL Server數據庫的表中。 要認真填寫實驗報告,并且提交源程序,保證可正確編譯和運行。 配置環(huán)境變量。使用Java語言編程實現對數據庫的訪問,所有的SQL操作均在自己建立的新庫里進行,數據庫建議選用學生課程數據庫,讀者可以選擇進行創(chuàng)建、插入、查詢、刪除和更新
45、等操作。 JDBC來訪問和操縱數據庫的流程。 ->建立與數據庫的連接; ->創(chuàng)建語句對象; ->執(zhí)行查詢并返回結果集對象; ->處理結果集對象; ->關閉結果集和語句對象; ->提交更新; ->關閉與數據庫的連接。 3.1 知識預備 ■什么是ODBC ODBC(OpenDatabaseConnectivity,開放數據庫互連)是微軟公司開放服務結構(WOSA,WindowsOpenServicesArchitecture)中有關數據庫的一個組成部分,這一技術為訪問不同種類的 SQL 數據庫提供了通用接口。 ODBC是基于結構查詢語言(SQ
46、L)的,并以此作為訪問數據的標準。該接口提供了互操作性,即一個應用程序可以通過一組公用代碼訪問不同的DBMS。 ■配置ODBC數據源的方式 配置數據源共有兩種方法: 方法一:運行數據源管理工具來進行配置。 方法二:使用Driver Manager 提供的ConfigDsn函數來增加、修改或刪除數據源。這種方法特別適用于在應用 程序中創(chuàng)建的臨時使用的數據源。 ■什么是JDBC? JDBC技術事實上是一種能通過JAVA語言訪問任何結構化數據庫的應用程序接口(API)。相對于ODBC(Open Database Connectivity開放數據庫連接)的解釋,可以把JDB
47、C看作Java Database Connectivity(Java數據庫連接)。 JDBC是由一組用Java語言編寫的類與接口組成?,F在,JDBC已成為一種供工具/數據庫開發(fā)者使用的標準API,用戶可以用純Java API來編寫數據庫的應用程序。 使用JDBC可以很容易地把SQL語句傳送到任何關系型數據庫中。換言之,用戶不需要為每一個關系數據庫單獨寫一個程序。用JDBC API寫出唯一的程序,能夠將SQL語句發(fā)送到相應的任何一種數據庫。Java與JDBC的結合,使程序員可以只寫一次數據庫應用軟件后,就能在各種數據庫系統(tǒng)上運行。 3.2 實驗要求 給出配置兩個不同的數據源的過
48、程。提交應用程序源代碼,并標識必要的注釋,盡可能清楚明白地說明程序的功能,實現的方法,關鍵數據結構、變量、函數的定義。
49、 實驗8 數據庫初步開發(fā)實驗 一、實驗目的 初步掌握數據庫應用系統(tǒng)的開發(fā)。 二、實驗內容(任選1題) 題目一:人事管理系統(tǒng) 1、系統(tǒng)功能的基本要求: (1) 員工各種信息的輸入,包括員工的基本信息、學歷信息、婚姻狀況信息、職稱等。 (2) 員工各種信息的修改; (3) 對于轉出、辭職、辭退、退休員工信息的刪除;
50、 (4) 按照一定的條件,查詢、統(tǒng)計符合條件的員工信息;至少應該包括每個員工詳細信息的查詢、按婚姻狀況查詢、按學歷查詢、按工作崗位查詢等,至少應該包括按學歷、婚姻狀況、崗位、參加工作時間等統(tǒng)計各自的員工信息; (5) 對查詢、統(tǒng)計的結果打印輸出。 2、數據庫要求:在數據庫中至少應該包含下列數據表: (1) 員工基本信息表; (2) 員工婚姻情況表,反映員工的配偶信息; (3) 員工學歷信息表,反映員工的學歷、專業(yè)、畢業(yè)時間、學校、外語情況等; (4) 企業(yè)工作崗位表; (5) 企業(yè)部門信息表。 題目二:工資管理系統(tǒng) 1、系統(tǒng)功能的基本要求: (1) 員工每個工種基本工資的
51、設定 (2) 加班津貼管理,根據加班時間和類型給予不同的加班津貼; (3) 按照不同工種的基本工資情況、員工的考勤情況產生員工的每月的月工資; (4) 員工年終獎金的生成,員工的年終獎金計算公式=(員工本年度的工資總和+津貼的總和)/12; (5) 企業(yè)工資報表。能夠查詢單個員工的工資情況、每個部門的工資情況、按月的工資統(tǒng)計,并能夠打?。? 2、數據庫要求:在數據庫中至少應該包含下列數據表: (1) 員工考勤情況表; (2) 員工工種情況表,反映員工的工種、等級,基本工資等信息; (3) 員工津貼信息表,反映員工的加班時間,加班類別、加班天數、津貼情況等; (4) 員工基本信息表 (5) 員工月工資表。 三、實驗基本要求 (1) 系統(tǒng)的源程序,包括數據庫腳本程序。 (2) 開發(fā)工具不限,可自己選擇VB、PB、Delphi、VC都可以。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 110中國人民警察節(jié)(筑牢忠誠警魂感受別樣警彩)
- 2025正字當頭廉字入心爭當公安隊伍鐵軍
- XX國企干部警示教育片觀后感筑牢信仰之基堅守廉潔底線
- 2025做擔當時代大任的中國青年PPT青年思想教育微黨課
- 2025新年工作部署會圍繞六個干字提要求
- XX地區(qū)中小學期末考試經驗總結(認真復習輕松應考)
- 支部書記上黨課筑牢清廉信念為高質量發(fā)展營造風清氣正的環(huán)境
- 冬季消防安全知識培訓冬季用電防火安全
- 2025加強政治引領(政治引領是現代政黨的重要功能)
- 主播直播培訓直播技巧與方法
- 2025六廉六進持續(xù)涵養(yǎng)良好政治生態(tài)
- 員工職業(yè)生涯規(guī)劃方案制定個人職業(yè)生涯規(guī)劃
- 2024年XX地區(qū)黨建引領鄉(xiāng)村振興工作總結
- XX中小學期末考試經驗總結(認真復習輕松應考)
- 幼兒園期末家長會長長的路慢慢地走