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

南昌大學(xué)數(shù)據(jù)庫實(shí)驗(yàn)報(bào)告

| 瀏覽次數(shù):

  實(shí)

 驗(yàn)

 報(bào)

 告

 實(shí)驗(yàn)課程:

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

  學(xué)生姓名:

 郝君

  學(xué) 學(xué)

 號:

  6104113035

 專業(yè)班級: 信息管理與信息系統(tǒng) 131 班

 5 2015 年 年 6 06 月

 20 日

 目 目

 錄 一、 實(shí)驗(yàn)一 實(shí)驗(yàn)環(huán)境的建立„„„„„„„„„„„„„„3

 二、 實(shí)驗(yàn)二 數(shù)據(jù)庫及表的建立„„„„„„„„„„„„„9 三、 實(shí)驗(yàn)三 表的查詢„„„„„„„„„„„„„„„„„12 四、 實(shí)驗(yàn)四 數(shù)據(jù)操縱„„„„„„„„„„„„„„„„„19 五、 實(shí)驗(yàn)五 數(shù)據(jù)庫完整性、安全性研究„„„„„„„„„22 六、 實(shí)驗(yàn)六 簡單系統(tǒng)的設(shè)計(jì)„„„„„„„„„„„„„„

  南昌大學(xué)實(shí)驗(yàn)報(bào)告

  學(xué)生姓名:

 學(xué)

 號:

  專業(yè)班級:

  信息管理

  實(shí)驗(yàn)類型:□ 驗(yàn)證 □ 綜合 □ 設(shè)計(jì) □ 創(chuàng)新

 實(shí)驗(yàn)日期:

  實(shí)驗(yàn)成績:

 一、實(shí)驗(yàn)項(xiàng)目名稱:實(shí)驗(yàn)環(huán)境的建立 二、實(shí)驗(yàn)?zāi)康? 1.了解 SQL Server 2000 常用版本與對操作系統(tǒng)的不同要求

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

 自 SQL 成為國際標(biāo)準(zhǔn)語言之后,各個(gè)數(shù)據(jù)庫廠家紛紛推出各自的 SQL 軟件或與 SQL 的接口軟件。這就使大多數(shù)數(shù)據(jù)庫均用 SQL 作為共同的數(shù)據(jù)存取語言與標(biāo)準(zhǔn)接口,使不同數(shù)據(jù)庫系統(tǒng)之間的互操作有了共同的基礎(chǔ)。

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

 四、主要儀器設(shè)備及耗材 相互連成 LAN 的計(jì)算機(jī) 2 臺(tái)以上,windows 2000 server 操作系統(tǒng),SQL Server 2000 安裝標(biāo)準(zhǔn)版安裝軟件。

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

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

 select * from authors

 運(yùn)行觀瞧結(jié)果 六、實(shí)驗(yàn)數(shù)據(jù)及處理結(jié)果

  七、思考討論題或體會(huì)或?qū)Ω倪M(jìn)實(shí)驗(yàn)的建議

  1、 查詢分析器的作用就是什么?可以有幾種啟動(dòng)查詢分析器的方法? 分析分析器與數(shù)據(jù)庫的關(guān)系;怎樣在分析器中選擇不同的數(shù)據(jù)庫;怎樣在分析器中查瞧數(shù)據(jù)庫的結(jié)構(gòu)?

  答: 查詢分析器的作用就是: 1、 創(chuàng)建查詢與其它 SQL 腳本,并針對 SQL Server 數(shù)據(jù)庫執(zhí)行它們。("查詢"窗口) 2、,由預(yù)定義腳本快速創(chuàng)建常用數(shù)據(jù)庫對象。(模板) 3、快速復(fù)制現(xiàn)有數(shù)據(jù)庫對象。(對象瀏覽器腳本功能) 4、在參數(shù)未知的情況下執(zhí)行存儲(chǔ)過程。(對象瀏覽器過程執(zhí)行功能) 5、調(diào)試存儲(chǔ)過程。(T-SQL 調(diào)試程序) 6、調(diào)試查詢性能問題。(顯示執(zhí)行計(jì)劃、顯示服務(wù)器跟蹤、顯示客戶統(tǒng)計(jì)、索引優(yōu)化向?qū)? 7、在數(shù)據(jù)庫內(nèi)定位對象(對象搜索功能),或查瞧與使用對象。(對象瀏覽器)

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

  啟動(dòng)查詢分析器的方法:

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

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

  分析器與數(shù)據(jù)庫的關(guān)系:

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

  在分析器中選擇不同的數(shù)據(jù)庫的方法:

  在工具欄中“當(dāng)剌數(shù)據(jù)庫”欄目中,點(diǎn)擊小黑三角,在彈凸的下拉列表中選擇要倇換的數(shù)據(jù)庫名稱即可實(shí)現(xiàn)數(shù)據(jù)庫的切換。

  在分析器中查瞧 數(shù)據(jù)庫的結(jié)構(gòu):

  在“對象瀏覽器”窗口不,單擊要查瞧的數(shù)據(jù)庫名稱前的“+”,使其變?yōu)?ldquo;-”展開數(shù)據(jù)庫,就可瞧到數(shù)據(jù)庫的結(jié)構(gòu),若要查瞧其中某一遹的結(jié)構(gòu),仍就是單擊要查瞧項(xiàng)目名稱前的“弫”。例如要查瞧表 s 的結(jié)構(gòu),可依次展開“用戶表”、“dbo、s”、“列”,即可查瞧 s 的結(jié)構(gòu)。

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

 SQL2000 太過老舊,無法在 win7,win8 上運(yùn)行。

 解決辦法:使用虛擬機(jī)裝 XP 系統(tǒng),XP 系統(tǒng)支持 SQL2000、 3、體會(huì)或建議

 SQL2000 的安裝與其她的軟件安裝類似。但就是這個(gè)軟件所支持的平臺(tái)太過老舊,我們教學(xué)應(yīng)該跟緊時(shí)代腳步,學(xué)習(xí)新的 SQL 版本。

 八、參考資料 1.《數(shù)據(jù)庫系統(tǒng)實(shí)驗(yàn)指導(dǎo)》,單建魁等著,清華大學(xué)出版社

  南昌大學(xué)實(shí)驗(yàn)報(bào)告

  學(xué)生姓名:

 學(xué)

 號:

  專業(yè)班級:

  信息管理

  實(shí)驗(yàn)類型:□ 驗(yàn)證 □ 綜合 □ 設(shè)計(jì) □ 創(chuàng)新

 實(shí)驗(yàn)日期:

  實(shí)驗(yàn)成績:

 一、實(shí)驗(yàn)項(xiàng)目名稱:數(shù)據(jù)庫及表的建立 二、實(shí)驗(yàn)?zāi)康? 1.鞏固數(shù)據(jù)庫的基礎(chǔ)知識

 2.掌握創(chuàng)建數(shù)據(jù)庫的兩種方法,掌握表的建立與刪除方法,掌握修改表結(jié)構(gòu)的基本方法

 3.掌握對數(shù)據(jù)庫與表的相關(guān)操作方法 三、實(shí)驗(yàn)基本原理 SQL 即結(jié)構(gòu)化查詢語言,就是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,SQL 就是一個(gè)綜合的、功能極強(qiáng)同時(shí)又簡潔易學(xué)的語言。它集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義與數(shù)據(jù)控制功能于一體。

 在 SQL server 2000 中,建立數(shù)據(jù)庫既可以在查詢分析器中使用 sql 語句來實(shí)現(xiàn),也可以在企業(yè)管理器中使用菜單命令直接創(chuàng)建。同樣的表的建立與刪除,以及修改表結(jié)構(gòu)也有這兩種

 方法。

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

 [,<列名><數(shù)據(jù)類型>[列級完整性約束條件]]

 、、、、、、、、

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

 [add <新列名><數(shù)據(jù)類型>[完整性約束]]

  [drop <完整性約束名>]

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

 四、主要儀器設(shè)備及耗材 相互連成 LAN 的計(jì)算機(jī) 2 臺(tái)以上,安裝有 SQL Server 2000 軟件。

 五、實(shí)驗(yàn)步驟

  1.創(chuàng)建數(shù)據(jù)庫 (1)使用查詢分析器創(chuàng)建數(shù)據(jù)庫

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

 (2)使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫

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

 2.查瞧數(shù)據(jù)庫屬性

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

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

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

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

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

 (2)可以使用如 insert

 into

 Student

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

 4.修改表結(jié)構(gòu) 1)向 Course 表中增加“Tname”這一列。

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

 5.刪除表

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

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

 六、實(shí)驗(yàn)數(shù)據(jù)及處理結(jié)果 創(chuàng)建的數(shù)據(jù)庫名稱為“Demo”,又在其下創(chuàng)建了三個(gè)表,分別為學(xué)生表“Student”(表 1)、課程表“Course”(表 2)與選課表“SC”(表 3)。

 圖一

 圖二

  圖三 七、思考討論題或體會(huì)或?qū)Ω倪M(jìn)實(shí)驗(yàn)的建議 1、說明數(shù)據(jù)庫與表的關(guān)系? 答 答:一個(gè) SQL 數(shù)據(jù)庫就是由多個(gè)表構(gòu)成的,即數(shù)據(jù)庫就是表的匯集,就是表的主要組成部分。

 表在數(shù)據(jù)庫中就是存儲(chǔ)數(shù)據(jù)的方式。

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

  解決辦法:多打了空格。刪去控制字節(jié)數(shù)。

 3.體會(huì)或建議 答 答:企業(yè)管理器與查詢分析器各有優(yōu)勢。企業(yè)管理器中輸入數(shù)據(jù)方便,查詢分析器方便進(jìn)行查詢等操作。

 八、參考資料 1.《數(shù)據(jù)庫系統(tǒng)實(shí)驗(yàn)指導(dǎo)》,單建魁等著,清華大學(xué)出版社

  南昌大學(xué)實(shí)驗(yàn)報(bào)告

  學(xué)生姓名:

 學(xué)

 號:

  專業(yè)班級:

  信息管理

  實(shí)驗(yàn)類型:□ 驗(yàn)證 □ 綜合 □ 設(shè)計(jì) □ 創(chuàng)新

 實(shí)驗(yàn)日期:

  實(shí)驗(yàn)成績:

 一、實(shí)驗(yàn)項(xiàng)目名稱:表的查詢

 二、實(shí)驗(yàn)?zāi)康? 1.了解查詢的概念與方法,掌握查詢分析器的使用方法

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

 3.掌握多表連接的方法,能熟練進(jìn)行多表操作的復(fù)雜檢索 三、實(shí)驗(yàn)基本原理

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

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

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

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

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

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

 AS <子查詢>

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

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

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

 四、主要儀器設(shè)備及耗材 相互連成 LAN 的計(jì)算機(jī) 2 臺(tái)以上,安裝有 SQL Server 2000 軟件。

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

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

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

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

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

  查詢學(xué)生 131003 的平均分

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

 (2)嵌套查詢

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

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

 查詢與遠(yuǎn)坂凜同樣專業(yè)的學(xué)生: select Sno,Sname from Student where Sdept in(select Sdept from Student where Sname="遠(yuǎn)坂凜"); 查詢已經(jīng)選課“操作系統(tǒng)”的學(xué)生的姓名

 select Sname From Student where

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

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

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

 建立一個(gè)由學(xué)生學(xué)號與她的平均成績定義的視圖: 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 分以上的學(xué)生學(xué)號與平均成績: select Sno,Gavg from S_G where Gavg>=80; 將 CS_Student 視圖中學(xué)號為 10 的學(xué)生姓名改為“桐人”: update CS_Student set Sname="桐人"where Sno="10"; 向 CS_Student 視圖中插入一個(gè)新的學(xué)生記錄,學(xué)號為 2015052211,姓名為新一,男,20 歲。

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

  1)所有學(xué)生的詳細(xì)情況

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

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

 4)查詢學(xué)號為 2015052201 的學(xué)生的詳細(xì)情況

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

 6)查詢計(jì)算機(jī)科學(xué)系 CS 的學(xué)生姓名與性別

 7)查詢不就是數(shù)學(xué)系 MA 的學(xué)生姓名與性別

  8)查詢選修了 1 號課程的學(xué)生學(xué)號及成績,查詢結(jié)果按分?jǐn)?shù)降序排列

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

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

 11)各個(gè)課程號及相應(yīng)的選課人數(shù) 2. 多表查詢

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

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

 3、查詢學(xué)生 131003 的平均分

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

  5、查詢與遠(yuǎn)坂凜同樣專業(yè)的學(xué)生

 6、查詢已經(jīng)選課“操作系統(tǒng)”的學(xué)生的姓名

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

 1、建立 CS 系學(xué)生的視圖,并要求進(jìn)行修改與插入操作時(shí)仍需保證該視圖只有該系的學(xué)生

 2、建立一個(gè)由學(xué)生學(xué)號與她的平均成績定義的視圖

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

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

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

 七、思考討論題或體會(huì)或?qū)Ω倪M(jìn)實(shí)驗(yàn)的建議 1、說明多表連接屬于自然連接還就是等值連接?

  答:屬于等值連接。

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

 答:在企業(yè)管理器中編輯后,在查詢分析器中找不到數(shù)據(jù)。后面發(fā)現(xiàn) 3、體會(huì)或建議

 八、參考資料 1.《數(shù)據(jù)庫系統(tǒng)實(shí)驗(yàn)指導(dǎo)》,單建魁等著,清華大學(xué)出版社

  南昌大學(xué)實(shí)驗(yàn)報(bào)告

  學(xué)生姓名:

 學(xué)

 號:

  專業(yè)班級:

  信息管理

  實(shí)驗(yàn)類型:□ 驗(yàn)證 □ 綜合 □ 設(shè)計(jì) □ 創(chuàng)新

 實(shí)驗(yàn)日期:

  實(shí)驗(yàn)成績:

 一、實(shí)驗(yàn)項(xiàng)目名稱:數(shù)據(jù)操縱

 二、實(shí)驗(yàn)?zāi)康? 1.掌握查瞧、重命名及刪除用戶定義的數(shù)據(jù)類型的方法

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

 三、實(shí)驗(yàn)基本原理

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

 修改數(shù)據(jù)的一般格式為 UPDATE <表名> SET <列名>=<表達(dá)式>[,<列名>=<表達(dá)式>]…

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

 刪除數(shù)據(jù)的格式一般為 DELETE

 FROM

 <表名>

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

 四、主要儀器設(shè)備及耗材 相互連成 LAN 的計(jì)算機(jī) 2 臺(tái)以上,安裝有 SQL Server 2000 軟件。

 五、實(shí)驗(yàn)步驟 1.使用 insert 向表中添加一行或多行數(shù)據(jù)

  向課程表中添加一門新課:insert into Course values("8","學(xué)術(shù)英語","1","4"); 新建一個(gè)表 G_Course,并向新表中插入每個(gè)課程的平均成績: 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 實(shí)現(xiàn)一行或成組數(shù)據(jù)的修改

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

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

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

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

  delete from Student where Sno=’2015052211’; 4、 創(chuàng)建、重命名與刪除用戶定義的數(shù)據(jù)類型

  將 datetime 創(chuàng)建為新的數(shù)據(jù)類型 type:exec sp_addtype [type],datetime,’null’; 六、實(shí)驗(yàn)數(shù)據(jù)及處理結(jié)果 建立的數(shù)據(jù)庫名與表名及數(shù)據(jù)如實(shí)驗(yàn)二,各查詢的結(jié)果依次如下各截圖:

 1.使用 insert 向表中添加一行或多行數(shù)據(jù)

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

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

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

  6、將 datetime 創(chuàng)建為新的數(shù)據(jù)類型 七、思考討論題或體會(huì)或?qū)Ω倪M(jìn)實(shí)驗(yàn)的建議 1、如何創(chuàng)建用戶定義的數(shù)據(jù)類型?完成后該如何查瞧?

 答:使用“sp_addtype”語句。

 2、體會(huì)或建議

  答: 需要加強(qiáng)對 SQL 語句的練習(xí)。

 八、參考資料 1.《數(shù)據(jù)庫系統(tǒng)實(shí)驗(yàn)指導(dǎo)》,單建魁等著,清華大學(xué)出版社

  南昌大學(xué)實(shí)驗(yàn)報(bào)告

  學(xué)生姓名:

 學(xué)

 號:

  專業(yè)班級:

  信息管理

  實(shí)驗(yàn)類型:□ 驗(yàn)證 □ 綜合 □ 設(shè)計(jì) □ 創(chuàng)新

 實(shí)驗(yàn)日期:

  實(shí)驗(yàn)成績:

 一、實(shí)驗(yàn)項(xiàng)目名稱:數(shù)據(jù)庫的完整性、安全型研究 二、實(shí)驗(yàn)?zāi)康? 1.理解完整性的概念,重點(diǎn)理解用戶定義完整性的使用

 2.掌握 SQL Server 2000 中有關(guān)用戶、角色及操作權(quán)限的管理方法 3.掌握數(shù)據(jù)庫備份與還原的基本方法

  三、實(shí)驗(yàn)基本原理 SQL 中用 GRANT 語句與 REVORK 語句向用戶來授予權(quán)限與收回權(quán)限。

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

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

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

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

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

 在 SQL 中首先用 CREATE ROLE 語句來創(chuàng)建角色,然后用 GRANT 語句來給角色授權(quán)。

 創(chuàng)建角色的 SQL 語句格式就是 CREATE

 ROLE<> 剛剛創(chuàng)建的角色就是空的,沒有任何內(nèi)容。可以用 GRANT 為角色授權(quán)。

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

 ADMIN

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

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

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

 2.數(shù)據(jù)庫的還原

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

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

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

 圖一

 圖 2

  圖 3

  圖 4

  圖 5

  圖 6

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

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

 在定義表時(shí)定義屬性上的約束條件,如 unique 、not null 等 六、實(shí)驗(yàn)數(shù)據(jù)及處理結(jié)果 七、思考討論題或體會(huì)或?qū)Ω倪M(jìn)實(shí)驗(yàn)的建議 1、如何避免用戶數(shù)據(jù)的不一致? (1)提供定義完整性約束條件的機(jī)制 (2)提供完整性檢查的方法 (3)違約處理,如拒絕執(zhí)行該操作或級連執(zhí)行其她操作。

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

  創(chuàng)建用戶時(shí)使用語句“create role manager”總就是報(bào)錯(cuò),查資料得知 SQL Sever 2000 不支持 create role ,后采用 sp_addrole。

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

 八、參考資料 1.《數(shù)據(jù)庫系統(tǒng)實(shí)驗(yàn)指導(dǎo)》,單建魁等著,清華大學(xué)出版社

推薦訪問: 南昌大學(xué) 實(shí)驗(yàn) 數(shù)據(jù)庫

【南昌大學(xué)數(shù)據(jù)庫實(shí)驗(yàn)報(bào)告】相關(guān)推薦

工作總結(jié)最新推薦

NEW