狠狠干影院/欧美午夜电影在线观看/高黄文/国产精品一区二区在线观看完整版

南昌大學數據庫實驗報告

| 瀏覽次數:

  實

 驗

 報

 告

 實驗課程:

 數據庫原理與應用

  學生姓名:

 郝君

  學 學

 號:

  6104113035

 專業班級: 信息管理與信息系統 131 班

 5 2015 年 年 6 06 月

 20 日

 目 目

 錄 一、 實驗一 實驗環境的建立„„„„„„„„„„„„„„3

 二、 實驗二 數據庫及表的建立„„„„„„„„„„„„„9 三、 實驗三 表的查詢„„„„„„„„„„„„„„„„„12 四、 實驗四 數據操縱„„„„„„„„„„„„„„„„„19 五、 實驗五 數據庫完整性、安全性研究„„„„„„„„„22 六、 實驗六 簡單系統的設計„„„„„„„„„„„„„„

  南昌大學實驗報告

  學生姓名:

 學

 號:

  專業班級:

  信息管理

  實驗類型:□ 驗證 □ 綜合 □ 設計 □ 創新

 實驗日期:

  實驗成績:

 一、實驗項目名稱:實驗環境的建立 二、實驗目的: 1.了解 SQL Server 2000 常用版本與對操作系統的不同要求

 2.熟悉 SQL Server 2000 的基本性能 3.正確安裝與配置 SQL Server 2000 三、實驗基本原理 SQL 就是結構化查詢語言(Structured Query Language)的簡稱,就是一種特殊目的的編程語言,就是一種數據庫查詢與程序設計語言,用于存取數據以及查詢、更新與管理關系數據庫系統。SQL 就是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同數據庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的接口。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性與強大的功能。

 自 SQL 成為國際標準語言之后,各個數據庫廠家紛紛推出各自的 SQL 軟件或與 SQL 的接口軟件。這就使大多數數據庫均用 SQL 作為共同的數據存取語言與標準接口,使不同數據庫系統之間的互操作有了共同的基礎。

 SQL Server 就是一個關系數據庫管理系統,它最初就是由 Microsoft Sybase 與Ashton-Tate 三家公司共同開發的,于 1988 年推出了第一個 OS/2 版本。在 Windows NT 推出后,Microsoft 將 SQL Server 移植到 Windows NT 系統上,專注于開發推廣 SQL Server 的Windows NT 版本。SQL Server 2000 就是 Microsoft 公司推出的 SQL Server 數據庫管理系統的一個版本。該版本繼承了 SQL Server 7、0 版本的優點同時又比它增加了許多更先進的功能,具有使用方便,可伸縮性好與相關軟件集成程度高等優點,可跨越從運行 Microsoft Windows 98 的膝上型電腦到運行 Microsoft Windows 2000 的大型多處理器的服務器等多種平臺使用。

 四、主要儀器設備及耗材 相互連成 LAN 的計算機 2 臺以上,windows 2000 server 操作系統,SQL Server 2000 安裝標準版安裝軟件。

 五、實驗步驟 1. 安裝 SQL Server 2000:將安裝光盤放入 CD-ROM,將自動彈出“SQL Server 自動菜單”界面,如果沒有自動彈出則選擇光盤根目錄下的 autorun、exe,雙擊運行:

 選擇運行“安裝 SQL Server 2000 組件”進入安裝組件界面,選擇“安裝數據庫服務器”。進入安裝界面后,按照安裝提示進行安裝;一般需要人工進行干預的有: ? 選擇安裝類型與安裝路徑:安裝類型有:典型安裝、最小安裝、與自定義安裝。安裝路徑就是指 SQL Server 的系統文件與數據文件的安裝位置。默認情況下“安裝類型”就是典型安裝,“安裝路徑”就是操作系統設定的“Program Files”文件夾。您可以自行改變,初次安裝最好不要改變她,按默認情況使用; ? 配置啟動服務的帳號:有兩類用戶帳號:一類就是與 Windows 操作系統的集成帳號,一類就是混合帳號。選擇第一類帳號進行安裝; 2. 配置服務器端網絡庫:SQL Server支持多種網絡庫,這些網絡庫必須與操作系統的網絡協議共同工作,才能實現客戶機與數據庫服務器的通信。安裝完成后,可以通過操作系統的開始菜單操作:“開始”―>SQL Server”->“數據庫服務器網絡配置”進行配置; 3. 配置客戶端網絡庫:客戶機要與數據庫服務器通信,必須安裝有與服務器網絡庫一樣的網絡庫。可以通過操作系統的開始菜單操作:“開始”―>SQL Server”->“客戶端網絡配置”進行配置; 4. 使用“企業管理器”:(1)了解企業管理器的界面、菜單結構以及各項功能;(2)了解“數據庫服務器”的屬性配置;(3)了解“數據庫”的屬性配置;(4)初步了解數據庫、表、視圖、用戶、安全管理,復制等概念; 5. 使用查詢分析器:進入查詢分析器 ,在分析器中輸入語句: use pubs

 select * from authors

 運行觀瞧結果 六、實驗數據及處理結果

  七、思考討論題或體會或對改進實驗的建議

  1、 查詢分析器的作用就是什么?可以有幾種啟動查詢分析器的方法? 分析分析器與數據庫的關系;怎樣在分析器中選擇不同的數據庫;怎樣在分析器中查瞧數據庫的結構?

  答: 查詢分析器的作用就是: 1、 創建查詢與其它 SQL 腳本,并針對 SQL Server 數據庫執行它們。("查詢"窗口) 2、,由預定義腳本快速創建常用數據庫對象。(模板) 3、快速復制現有數據庫對象。(對象瀏覽器腳本功能) 4、在參數未知的情況下執行存儲過程。(對象瀏覽器過程執行功能) 5、調試存儲過程。(T-SQL 調試程序) 6、調試查詢性能問題。(顯示執行計劃、顯示服務器跟蹤、顯示客戶統計、索引優化向導) 7、在數據庫內定位對象(對象搜索功能),或查瞧與使用對象。(對象瀏覽器)

 8、快速插入、更新或刪除表中的行。("打開表"窗口) 9、為常用查詢創建鍵盤。(自定義查詢 HYPERLINK 快捷方式功能) 10、向"工具"菜單添加常用命令。(自定義"工具"菜單功能)

  啟動查詢分析器的方法:

  1、在“開始”菜單中依次選擇“所有程序|Microsoft SQL Server|查詢分析器”打開查詢分析器。

  2、在“開始”菜單中依次選擇“所有程序|Microsoft SQL Server|企業管理器”打開企業管理器后,單擊菜單欄中的“工具”選項,選擇“SQL 查詢分析器”,即可打開查詢分析器。

  分析器與數據庫的關系:

  在分析器中可以對數據庫及數據庫中的表進行一系列的操作,如查詢與更撰。

  在分析器中選擇不同的數據庫的方法:

  在工具欄中“當剌數據庫”欄目中,點擊小黑三角,在彈凸的下拉列表中選擇要倇換的數據庫名稱即可實現數據庫的切換。

  在分析器中查瞧 數據庫的結構:

  在“對象瀏覽器”窗口不,單擊要查瞧的數據庫名稱前的“+”,使其變為“-”展開數據庫,就可瞧到數據庫的結構,若要查瞧其中某一遹的結構,仍就是單擊要查瞧項目名稱前的“弫”。例如要查瞧表 s 的結構,可依次展開“用戶表”、“dbo、s”、“列”,即可查瞧 s 的結構。

 2、遇到的問題及解決的方法

 SQL2000 太過老舊,無法在 win7,win8 上運行。

 解決辦法:使用虛擬機裝 XP 系統,XP 系統支持 SQL2000、 3、體會或建議

 SQL2000 的安裝與其她的軟件安裝類似。但就是這個軟件所支持的平臺太過老舊,我們教學應該跟緊時代腳步,學習新的 SQL 版本。

 八、參考資料 1.《數據庫系統實驗指導》,單建魁等著,清華大學出版社

  南昌大學實驗報告

  學生姓名:

 學

 號:

  專業班級:

  信息管理

  實驗類型:□ 驗證 □ 綜合 □ 設計 □ 創新

 實驗日期:

  實驗成績:

 一、實驗項目名稱:數據庫及表的建立 二、實驗目的: 1.鞏固數據庫的基礎知識

 2.掌握創建數據庫的兩種方法,掌握表的建立與刪除方法,掌握修改表結構的基本方法

 3.掌握對數據庫與表的相關操作方法 三、實驗基本原理 SQL 即結構化查詢語言,就是關系數據庫的標準語言,SQL 就是一個綜合的、功能極強同時又簡潔易學的語言。它集數據查詢、數據操縱、數據定義與數據控制功能于一體。

 在 SQL server 2000 中,建立數據庫既可以在查詢分析器中使用 sql 語句來實現,也可以在企業管理器中使用菜單命令直接創建。同樣的表的建立與刪除,以及修改表結構也有這兩種

 方法。

 創建數據庫的 SQL 語句: create database <數據庫名> 創建表的 SQL 語句: create table <表名>(<列名><數據類型>[列級完整性約束條件]

 [,<列名><數據類型>[列級完整性約束條件]]

 、、、、、、、、

 [,<表級完整性約束條件>]); 刪除基本表的 SQL 語句: drop table <表名>[restrict|cascade]; 修改表的結構的 SQL 語句: alter table <表名>

 [add <新列名><數據類型>[完整性約束]]

  [drop <完整性約束名>]

 [alter column<列名><數據類型>]; 其中,add 子句用于增加新列與新的完整性約束條件,drop 字句用于刪除指定的完整性約束條件,alter column 子句用于修改原有的列定義,數據類型。

 四、主要儀器設備及耗材 相互連成 LAN 的計算機 2 臺以上,安裝有 SQL Server 2000 軟件。

 五、實驗步驟

  1.創建數據庫 (1)使用查詢分析器創建數據庫

  打開查詢分析器,輸入如下的 sql 命令:create database Demo。執行命令后即建立一個名為“Demo”的數據庫。

 (2)使用企業管理器創建數據庫

  打開企業管理器,在左邊的小窗口中依次展開目錄,找到數據庫文件夾,在數據庫文件夾處右擊,選擇“新建數據庫”命令,在彈出的數據庫屬性對話框中輸入數據庫的名稱“Demo”,即可完成創建。

 2.查瞧數據庫屬性

 在查詢分析器中,輸入如下的 sql 命令: exec sp_helpdb Demo

 執行命令后查瞧 Demo 的相關屬性 3.創建表 (1)打開查詢分析器,在工具欄中切換數據庫至新建的“Demo”,輸入如下命令: create table Student( Sno char(10) PRIMARY KEY, Sname char(8),Ssex char(8),Sage SMALLINT,Sdept char(10) ); 來創建學生表 Student。

 采用同樣的方法創建表課程表 Course、選課表 SC。創建的語句如下所示。

 create table Course( Cno char(10),Cname char(10),Cpno char(8),Ccredit SMALLINT );來創建課程表 Course。

 create table SC( Sno char(10),Cno char(8),Grade char(8) );來創建選課表 SC。

 (2)可以使用如 insert

 into

 Student

 values("2015052201","夜神月","男",19,"CS"); 的命令向Student 表中輸入數據,也可以在企業管理器中找到 Student 表后,右擊選擇“打開表|返回所有行”命令來向表中直接輸入數據。

 4.修改表結構 1)向 Course 表中增加“Tname”這一列。

 alter table Course add Tname char(5); 對課程表增加一列教師名稱。

 5.刪除表

  使用 DROP TABLE<表名>[restrict|cascade]; 刪除表。

 或者直接在對象瀏覽器窗口中選中表后右擊刪除表。

 六、實驗數據及處理結果 創建的數據庫名稱為“Demo”,又在其下創建了三個表,分別為學生表“Student”(表 1)、課程表“Course”(表 2)與選課表“SC”(表 3)。

 圖一

 圖二

  圖三 七、思考討論題或體會或對改進實驗的建議 1、說明數據庫與表的關系? 答 答:一個 SQL 數據庫就是由多個表構成的,即數據庫就是表的匯集,就是表的主要組成部分。

 表在數據庫中就是存儲數據的方式。

 2、遇到的問題及解決的方法 答 答:在修改學號時提示輸入的值與數據類型不一致,或者此值與列的長度不一致。

  解決辦法:多打了空格。刪去控制字節數。

 3.體會或建議 答 答:企業管理器與查詢分析器各有優勢。企業管理器中輸入數據方便,查詢分析器方便進行查詢等操作。

 八、參考資料 1.《數據庫系統實驗指導》,單建魁等著,清華大學出版社

  南昌大學實驗報告

  學生姓名:

 學

 號:

  專業班級:

  信息管理

  實驗類型:□ 驗證 □ 綜合 □ 設計 □ 創新

 實驗日期:

  實驗成績:

 一、實驗項目名稱:表的查詢

 二、實驗目的: 1.了解查詢的概念與方法,掌握查詢分析器的使用方法

 2.掌握 select 語句的語法與作用

 3.掌握多表連接的方法,能熟練進行多表操作的復雜檢索 三、實驗基本原理

 數據庫查詢就是數據庫的核心操作。SQL 提供了 SELECT 語句進行數據庫的查詢,該語句具有靈活的使用方式與豐富的功能。其一般格式為: SELECT [ALL | DISTINCT ]<目標列表達式>[,<目標列表達式>]、、、、、、、 FROM <表名或視圖名>[,<表名或視圖名>]、、、、、、 [WHERE <條件表達式>] [GROUP BY <列名 1>[ HAVING <條件表達式>] ] [ORDER BY <列名 2>[ASC | DESC ] ]; 整個 SELECT 語句的含義就是,根據 WHERE 子句的條件表達式,從 FROM 子句指定的基本表或視圖中找出滿足條件的元組,再按SELECT子句中的目標列表達式,選出元組中的屬性值形成結果表。

 如果有GROUP BY子句,則將結果按<列名1>的值進行分組,該屬性列值相等的元組為一個組。通常會在每組中作用聚集函數。如果 GROUP BY 子句帶 HAVING 短語,則只有滿足指定條件的組才予以輸出。

 如果有 ORDER BY 子句,則結果還要按<列名 2>的值的升序或降序排列。

 SELECT 語句既可以完成簡單的單表查詢,也可以完成復雜的連接查詢與嵌套查詢。

 視圖就是從一個或幾個基本表(或視圖)導出的表。它與基本表不同,就是一個虛表。數據庫中只存放視圖的定義,而不存放視圖對應的數據,這些數據仍存放在原來的基本表中。視圖已經定義,就可以與基本表一樣被查詢、被刪除。也可以在一個視圖之上再定義新的視圖,但對視圖的更新(增、刪、改)操作則有一定的限制。

 SQL 語言用 CREATE VIEW 命令建立視圖,其一般格式為 CREATE VIEW<視圖名>[(<列名>[,<列名>]、、、、)]

 AS <子查詢>

 [WITH CHECK OPTION]; 其中,子查詢可以就是任意復雜的 SELECT 語句,但通常不允許含有 ORDER BY 子句與DISTINCT 短語。

 WITH CHECK OPTION 表示對視圖進行 UPDATE,INSERT 與 DELECT 操作時要保證更新、插入或刪除的行滿足視圖定義中的謂詞條件(即子查詢中的條件表達式)。

 刪除視圖的格式為 DROP VIEW<視圖名>[CASCADE]; 視圖定義后就可以像對基本表一樣對視圖進行查詢了。

 四、主要儀器設備及耗材 相互連成 LAN 的計算機 2 臺以上,安裝有 SQL Server 2000 軟件。

 五、實驗步驟 1.單表查詢 (1)了解 select 語句的語法 (2)輸入一些檢索數據,進行簡單的檢索,并使用 top,distinct 等關鍵字

  查詢所有學生的詳細情況: select * from Student; 查詢選修了課程的學生學號: select distinct Sno from SC; 查詢考試成績低于 80 分的學生學號 select distinct Sno from SC where Grade<80; 查詢學號為 2015052201 的學生的詳細情況

 select * from Student where Sno ="2015052201"; 查詢年齡在 18-19 歲之間的學生的姓名、系別與年齡: select Sname,Sdept,Sage from Student where Sage between 18 and 19; 查詢計算機科學系 CS 的學生姓名與性別: select Sname,Ssex from Student where Sdept in("CS"); 查詢不就是數學系 MA 的學生姓名與性別: select Sname,Ssex from Student where Sdept not in("MA"); 查詢選修了 1 號課程的學生學號及成績,查詢結果按分數降序排列: select Sno,Grade from SC where Cno="1" order by Grade DESC; 查詢選課學生的情況,查詢結果按課程號升序排列,同一門課程按學號降序排列: select * from SC order by Cno,Sno DESC; 查詢選修了 1 號課程的學生的最高分: select max(grade) from SC where Cno="1"; 求出各個課程號及相應的選課人數: select Cno,count(distinct Sno)from SC group by Cno; 2.多表查詢

 (1)連接查詢 查詢計算機科學系 CS 年齡在 20 歲以下的學生姓名: select distinct Sname from Student,SC where Sdept="CS"and Sage<20; 查詢選修了 4 號課程且成績在 85 分以上的所有學生: select Student、Sno,Student、Sname from Student,SC

 where Student、Sno=SC、Sno and SC、Cno="4" and grade>85;

  查詢學生 131003 的平均分

  select avg(Grade) as average from SC,Course where Sno="2015052206"and SC、Cno=Course、Cno;

 (2)嵌套查詢

  查詢選修了 6 號課程且成績在 80 分以上的所有學生

  select Student、Sno,Student、Sname from Student,SC where Student、Sno=SC、Sno and SC、Cno="6" and grade>80;

 查詢與遠坂凜同樣專業的學生: select Sno,Sname from Student where Sdept in(select Sdept from Student where Sname="遠坂凜"); 查詢已經選課“操作系統”的學生的姓名

 select Sname From Student where

 exists(select * from SC where Sno=Student、Sno and Cno="4");

 找出每個學生超過她選修課程平均成績的課程號 select Sno, Cno from SC x

 where grade>(select avg(Grade)from SC y where y、Sno=x、Sno); 3.視圖的建立及使用視圖進行檢索 建立 CS 系學生的視圖,并要求進行修改與插入操作時仍需保證該視圖只有該系的學生: create view CS_Student as select Sno,Sname,Sage,Ssex from Student where Sdept="CS"

 建立一個由學生學號與她的平均成績定義的視圖: create view S_G(Sno,Gavg) as select Sno,avg(Grade)from Student group by Sno 刪除視圖 CS_Student:

 drop view CS_Student; 在 S_G 視圖中查詢平均成績在 80 分以上的學生學號與平均成績: select Sno,Gavg from S_G where Gavg>=80; 將 CS_Student 視圖中學號為 10 的學生姓名改為“桐人”: update CS_Student set Sname="桐人"where Sno="10"; 向 CS_Student 視圖中插入一個新的學生記錄,學號為 2015052211,姓名為新一,男,20 歲。

 insert into CS_Student values("2015052211","新一","20","男"); 刪除信息管理系學生視圖中學號為 2015052211 的記錄: delete from CS_Student where Sno="2015052211"; 六、實驗數據及處理結果 建立的數據庫名與表名及數據如實驗二,各查詢的結果依次如下圖: 1. 單表查詢

  1)所有學生的詳細情況

  2)查詢選修了課程的學生學號

  3)查詢考試成績低于 80 分的學生學號

 4)查詢學號為 2015052201 的學生的詳細情況

  5)查詢年齡在 18-19 歲之間的學生的姓名、系別與年齡

 6)查詢計算機科學系 CS 的學生姓名與性別

 7)查詢不就是數學系 MA 的學生姓名與性別

  8)查詢選修了 1 號課程的學生學號及成績,查詢結果按分數降序排列

 9)查詢選課學生的情況,查詢結果按課程號升序排列,同一門課程按學號降序排列

 10)查詢選修了 1 號課程的學生的最高分

 11)各個課程號及相應的選課人數 2. 多表查詢

 1、查詢 CS 年齡在 20 歲以下的學生姓名

  2、查詢選修 4 號課程且成績在 85 分以上的學生

 3、查詢學生 131003 的平均分

  4、查詢選修了 6 號課程且成績在 80 分以上的所有學生

  5、查詢與遠坂凜同樣專業的學生

 6、查詢已經選課“操作系統”的學生的姓名

 7、找出每個學生超過她選修課程平均成績的課程號 3. 視圖建立與檢索操作

 1、建立 CS 系學生的視圖,并要求進行修改與插入操作時仍需保證該視圖只有該系的學生

 2、建立一個由學生學號與她的平均成績定義的視圖

 3、查詢平均 80 分以上的學生學號與平均成績

 4、將 CS_Student 視圖中學號為 2015052210 的學生姓名改為“桐人”

 5、向 CS_Student 視圖中插入一個新的學生記錄,學號為 2015052211,姓名為新一,男,20 歲。

 七、思考討論題或體會或對改進實驗的建議 1、說明多表連接屬于自然連接還就是等值連接?

  答:屬于等值連接。

 2、遇到的問題及解決的方法

 答:在企業管理器中編輯后,在查詢分析器中找不到數據。后面發現 3、體會或建議

 八、參考資料 1.《數據庫系統實驗指導》,單建魁等著,清華大學出版社

  南昌大學實驗報告

  學生姓名:

 學

 號:

  專業班級:

  信息管理

  實驗類型:□ 驗證 □ 綜合 □ 設計 □ 創新

 實驗日期:

  實驗成績:

 一、實驗項目名稱:數據操縱

 二、實驗目的: 1.掌握查瞧、重命名及刪除用戶定義的數據類型的方法

 2.掌握向表中添加、刪除與修改數據的方法

 三、實驗基本原理

 SQL 中插入元組的 INSERT 語句格式為 INSERT INTO <表名>[(<屬性列 1>[,<屬性列 2>]…、)] VALUES(<常量 1>[,<常量 2>]…); 其功能就是將新元組插入到指定表中,其中新元組的屬性列 1 的值為常量 1,屬性列 2 的值為常量 2…、。INTO 子句中沒有出現屬性列,新元組將在這些列上取空值。如果 INTO 子句中沒有指明任何屬性列名,則新插入的元組必須在每個屬性列上均有值。

 修改數據的一般格式為 UPDATE <表名> SET <列名>=<表達式>[,<列名>=<表達式>]…

 [WHERE<條件>];其功能就是修改指定表中滿足 WHERE 子句條件的元組。其中 SET 子句給出<表達式>的值用于取代相應的屬性列值。如果省略 WHERE 子句,則表示要修改表中的所有元組。

 刪除數據的格式一般為 DELETE

 FROM

 <表名>

 [WHERE<條件>]; DELETE 語句的功能就是從指定表中刪除滿足條件的的所有元組,如果省略了 WHERE 子句,表示要刪除表中的所有元組,但表的定義仍在字典中。

 四、主要儀器設備及耗材 相互連成 LAN 的計算機 2 臺以上,安裝有 SQL Server 2000 軟件。

 五、實驗步驟 1.使用 insert 向表中添加一行或多行數據

  向課程表中添加一門新課:insert into Course values("8","學術英語","1","4"); 新建一個表 G_Course,并向新表中插入每個課程的平均成績: create table G_Course(Cno char(4),Avg_age int);

 insert into G_Course select Cno,avg(Grade)from SC group by Cno; 2.使用 update 實現一行或成組數據的修改

  將 s 表中學號為“2015052209”的學生的年齡改為 19 歲:

  update Student set Sage=19 where Sno="2015052209";

  將 SC 表中成績少于 80 的學生成績改為 80:update SC set Grade=80 where grade<80; 3.使用 delete 刪除表中的數據

  將新插入的學號為“2015052211”的學生記錄刪除:

  delete from Student where Sno=’2015052211’; 4、 創建、重命名與刪除用戶定義的數據類型

  將 datetime 創建為新的數據類型 type:exec sp_addtype [type],datetime,’null’; 六、實驗數據及處理結果 建立的數據庫名與表名及數據如實驗二,各查詢的結果依次如下各截圖:

 1.使用 insert 向表中添加一行或多行數據

 1、向課程表中添加一門新課 2、新建一個表 G_Course,并向新表中插入每個課程的平均成績

 3.將 s 表中學號為“2015052209”的學生的年齡改為 19 歲 4、將 SC 表中成績少于 80 的學生成績改為 80

 5.將新插入的學號為“2015052211”的學生記錄刪除

  6、將 datetime 創建為新的數據類型 七、思考討論題或體會或對改進實驗的建議 1、如何創建用戶定義的數據類型?完成后該如何查瞧?

 答:使用“sp_addtype”語句。

 2、體會或建議

  答: 需要加強對 SQL 語句的練習。

 八、參考資料 1.《數據庫系統實驗指導》,單建魁等著,清華大學出版社

  南昌大學實驗報告

  學生姓名:

 學

 號:

  專業班級:

  信息管理

  實驗類型:□ 驗證 □ 綜合 □ 設計 □ 創新

 實驗日期:

  實驗成績:

 一、實驗項目名稱:數據庫的完整性、安全型研究 二、實驗目的: 1.理解完整性的概念,重點理解用戶定義完整性的使用

 2.掌握 SQL Server 2000 中有關用戶、角色及操作權限的管理方法 3.掌握數據庫備份與還原的基本方法

  三、實驗基本原理 SQL 中用 GRANT 語句與 REVORK 語句向用戶來授予權限與收回權限。

 GRANT 語句的一般格式為: GRANT<權限>[,<權限>]…、 ON <對象類型><對象名>[,<對象類型><對象名>]…、 TO <用戶> [,<用戶>]…

  [WITH GRANT OPTION]; 其語義為:將對指定操作對象的指定操作權限授予指定的用戶。發出該 GRANT 語句的可以就是 DBA,也可以就是該數據庫對象創建者(即屬主 Owner),也可以就是已經擁有該權限的用戶,接受該權限的用戶可以就是一個或多個具體用戶,也可以就是 PUBLIC,即全體用戶。

 如果指定了 WITH GRANT OPTION 字句,即獲得某種權限的用戶還可以把這種權限再

 授予其她的用戶。但不允許循環授權,即被授權者不能把權限再授回給授權者或其祖先。

 授予的權限可以由DBA或其她授權者用REVORK語句收回,REVORK語句的一般格式為: REVORK<權限>[,<權限>]… ON<對象類型><對象名>[,<對象類型><對象名>]… FROM<用戶>[,<用戶>]…[CASCADE|RESTRICT]; 數據庫角色就是被命名的一組與數據庫操作相關的權限,角色就是權限的集合。因此,可以為一組具有相同權限的用戶創建一個角色,使用角色來管理數據庫權限可以簡化授權的過程。

 在 SQL 中首先用 CREATE ROLE 語句來創建角色,然后用 GRANT 語句來給角色授權。

 創建角色的 SQL 語句格式就是 CREATE

 ROLE<> 剛剛創建的角色就是空的,沒有任何內容。可以用 GRANT 為角色授權。

 GRANT <權限>[,<權限>]… ON<對象類型><對象名> TO<角色>[,<角色>]… 將一個角色授予其她的角色或用戶 GRANT <角色 1>[,<角色 2>]… TO<角色 3>[,<用戶 1>]、、 [WITH

 ADMIN

 OPTION] 角色權限的收回 REVORK <權限>[,<權限>]… ON<對象類型><對象名> FROM <角色>[,<角色>]…、、 四、主要儀器設備及耗材 相互連成 LAN 的計算機 2 臺以上,安裝有 SQL Server 2000 軟件。

 五、實驗步驟 1.數據庫的備份 方法一:在查詢分析器中輸入以下命令 backup database Demo to disk="Demo、bak" 備份數據庫

 backup,如圖 1 方法二:在企業管理器中找到要備份的數據庫,右擊“所有任務→備份數據庫”,彈出備份數據庫對話框,選擇備份路徑,單擊確定,即可備份成功。如圖 2

 2.數據庫的還原

  方法一:在查詢分析器中輸入: “restore database Demo from disk="Demo、bak"”還原數據庫 Demo,如圖 3 方法二:在企業管理器中找到要還原的數據庫,右擊選擇“所有命令|還原數據庫”,彈出還原數據庫對話框,選擇備份文件的路徑,單擊確定,即可還原成功,如圖 4 所示。

 3.SQL Server 2000 的安全模式 4、 管理數據庫用戶 5.管理數據庫角色 新 建 一 個 角 色 user2,create role visitor2; 并 將 查 詢 與 更 新 權 限 授 予 它 :grant

 select,delete,insert,update on Student to visitor2;

 圖一

 圖 2

  圖 3

  圖 4

  圖 5

  圖 6

 圖 7 6.權限管理 (1)新建一個用戶登錄,采用 sql 身份驗證的方式,用戶名為 HJ 。將查詢權限授予用戶 me:grant select on s to HJ

 (2)收回授予用戶 HJ 的查詢權限:revoke select on s from HJ 7.對表的某個字段的約束

 在定義表時定義屬性上的約束條件,如 unique 、not null 等 六、實驗數據及處理結果 七、思考討論題或體會或對改進實驗的建議 1、如何避免用戶數據的不一致? (1)提供定義完整性約束條件的機制 (2)提供完整性檢查的方法 (3)違約處理,如拒絕執行該操作或級連執行其她操作。

 2、遇到的問題及解決的方法

  創建用戶時使用語句“create role manager”總就是報錯,查資料得知 SQL Sever 2000 不支持 create role ,后采用 sp_addrole。

 3、體會或建議 通過幾次的實驗發現,所有可以在企業管理器中執行的操作,都可以在查詢分析器中使用SQL 代碼來做。例如創建新的用戶登錄,就可以使用“sp_addlogin "zhangsan","888888","abc" ”的 sql 語句,表示創建一個用戶名為張三、登錄密碼為 888888,默認數據庫為 abc 的新登錄用戶。又如創建一個新的角色,可以使用“sp_addrole "manager" ”sql 語句來創建,表示創建了一個名為 manager 的角色。而刪除新建的用戶登錄與角色則用“sp_droplogin"zhangsan"”與“sp_droprole"manager"”語句。

 八、參考資料 1.《數據庫系統實驗指導》,單建魁等著,清華大學出版社

推薦訪問: 南昌大學 實驗 數據庫

【南昌大學數據庫實驗報告】相關推薦

工作總結最新推薦

NEW