第一篇:數(shù)據(jù)庫實(shí)驗(yàn)3-4
數(shù)據(jù)庫實(shí)驗(yàn)3-4 任選兩種方式之一建立實(shí)驗(yàn)2中的各數(shù)據(jù)庫表(一運(yùn)行給定的 “perfectPets.sql” script 文件二將各表數(shù)據(jù)用Excel表的方式導(dǎo)入數(shù)據(jù)庫);然后編寫 SQL programs 完成以下練習(xí);最后完成實(shí)驗(yàn)報(bào)告。
1.列出所有寵物的名稱和類型。
2.找到在2001年已經(jīng)注冊的每一個(gè)寵物的名稱和類型
3.找出不是經(jīng)理但拿最高薪水的工作人員的名字
4.列出每一個(gè)工資高于公司平均工資的員工名字
5.找出給寵物治療的平均天數(shù).6.對每一個(gè)診所,列出診所號碼,所在城市, 所在州和養(yǎng)殖場數(shù)及狀態(tài)
7.列出位于城市“Brea”的管理診所的所有員工的第一個(gè)和最后一個(gè)名字
8.列出每個(gè)擁有“吉娃娃”寵物主人的名字(第一個(gè)和最后一個(gè))
9.列出每一個(gè)業(yè)主的名字:擁有一個(gè)寵物并,參觀了位于城市“Fullerton”的診所
10.11.12.13.14.15.16.17.列出寵物治療已經(jīng)超過2天,治療花費(fèi)了超過100美元的寵物名稱和類型 列出為經(jīng)理但不管理任何診所員工的名和姓(如。,職位是經(jīng)理)。
列出為他/她的寵物預(yù)約但沒有送來任何診所的)寵物主人的名字(如。,沒有檢查或治療的記錄)找出接受最昂貴的治療的寵物的名稱和類型, 找到迄今為止最繁忙的寵物登記月。
列出每個(gè)寵物的名稱和類型,以及主人的姓氏。如果寵物沒有一個(gè)所有者,顯示“丟失的寵物”
找到治療每個(gè)類型的寵物的平均成本
列出擁有一個(gè)以上的寵物的寵物主人的(第一個(gè)和最后一個(gè))名字
18.19.20.21.列出每一個(gè)需要再定購藥物的名稱及其當(dāng)前的庫存。當(dāng)商品庫存數(shù)量小于再訂貨的數(shù)量水平藥物需要再定購。對庫存數(shù)量排序。
找到藥房庫存藥品價(jià)值最少的的診所(如價(jià)值。一種藥物計(jì)算價(jià)值,在其藥房藥品庫存數(shù)量*價(jià)格)給每個(gè)寵物主人列出在哪個(gè)城市治療過寵物花費(fèi)多少。
列出在其診所 有所有品種可用藥物的 診所號碼,電話號碼,和所在的城市。
第二篇:數(shù)據(jù)庫實(shí)驗(yàn)
實(shí)驗(yàn)1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理數(shù)據(jù)庫 實(shí)驗(yàn)內(nèi)容:
(1)使用SSMS(SQL Server Management Studio)加入實(shí)驗(yàn)數(shù)據(jù)庫。(2)使用SSMS可視化建立、修改和刪除數(shù)據(jù)庫、表。(3)使用SSMS對數(shù)據(jù)庫進(jìn)行備份和恢復(fù)。
(4)使用SSMS對表進(jìn)行查詢、插入、修改、刪除。實(shí)驗(yàn)步驟:
(1)加入School數(shù)據(jù)庫。(2)建立Test數(shù)據(jù)庫。
(3)在數(shù)據(jù)庫中建立人員表PERSON(P#,Pname,Page)。更改表設(shè)置P#為主鍵,增加屬性Ptype(類型是CHAR,長度是10)。
(4)用SSMS的查詢功能(新建查詢)對PERSON表進(jìn)行查詢、插入、修改、刪除等操作:首先插入兩條記錄;修改第二條記錄;刪除第二條記錄。(5)備份Test數(shù)據(jù)庫。(6)刪除表PERSON。(7)恢復(fù)Test數(shù)據(jù)庫。(8)刪除Test數(shù)據(jù)庫。
第三篇:數(shù)據(jù)庫實(shí)驗(yàn)
3.實(shí)驗(yàn)步驟
在學(xué)生選課數(shù)據(jù)庫中實(shí)現(xiàn)其查詢操作,寫出T-SQL語句(注:學(xué)生選課數(shù)據(jù)庫為前三次實(shí)驗(yàn)課所建立的數(shù)
據(jù)庫)
一、簡單查詢實(shí)驗(yàn)
(1)查詢選修了課程的學(xué)生學(xué)號。
(2)查詢選修課程號為0101的學(xué)生學(xué)號和成績,并要求對查詢結(jié)果按成績降序排列,如果成績相同則按
學(xué)號升序排列。
(3)查詢選修課程號為0101的成績在80~90分之間的學(xué)生學(xué)號和成績,并將成績乘以系數(shù)0.8輸出。
二、連接查詢實(shí)驗(yàn)
(1)查詢每個(gè)學(xué)生的情況以及他(她)所選修的課程。
(2)查詢選修離散散學(xué)課程且成績?yōu)?0分以上的學(xué)生學(xué)號、姓名及成績。
(3)查詢每一門課的間接先行課(即先行課的先行課)
三、嵌套查詢操作
(1)查詢0101課程的成績高于張林的學(xué)生學(xué)號和成績。
(2)查詢其他系中年齡小于計(jì)算機(jī)系年齡最大者的學(xué)生。
(3)查詢同王洪敏“數(shù)據(jù)庫原理”課程分?jǐn)?shù)相同的學(xué)生的學(xué)號。
(4)查詢選修了全部課程的學(xué)生的姓名。
(5)查詢與學(xué)號為09001103的學(xué)生所選修的全部課程相同的學(xué)生學(xué)號和姓名。
(6)查詢至少選修了學(xué)號為09001103的學(xué)生所選修的全部課程的學(xué)生學(xué)號和姓名。
四、組合查詢和分組查詢
(1)查找選修“計(jì)算機(jī)基礎(chǔ)”課程的學(xué)生成績比此課程的平均成績大的學(xué)生學(xué)號、成績。
(2)查詢年齡大于女同學(xué)平均年齡的男同學(xué)姓名和年齡。
(3)列出各系學(xué)生的總?cè)藬?shù),并按人數(shù)進(jìn)行降序排列。
(5)查詢選修計(jì)算機(jī)基礎(chǔ)和離散數(shù)學(xué)的學(xué)生學(xué)號和平均成績。
4、要求
請按題號依次作答,完成在word文檔中,寫明班級學(xué)號姓名,于周日之于周日之前發(fā)至xcf7@163.com,獨(dú)立完成,嚴(yán)禁抄
第四篇:數(shù)據(jù)庫第三次實(shí)驗(yàn)
南昌航空大學(xué)實(shí)驗(yàn)報(bào)告
2018年5月30日
課程名稱:
數(shù)據(jù)庫原理
實(shí)驗(yàn)名稱: 數(shù)據(jù)庫安全性 學(xué)號: 16206127 指導(dǎo)教師評定:
姓名: 周良 簽名:
一,實(shí)驗(yàn)?zāi)康?/p>
1熟悉不同數(shù)據(jù)庫中的保護(hù)措施——安全性控制,重點(diǎn)實(shí)踐○
SQL SEVER的安全性機(jī)制,掌握SQL Sever中有關(guān)用戶、角色及操作權(quán)限等的管理方法。
二,實(shí)驗(yàn)內(nèi)容
1,SQL Server的安全模式
(1)利用T-SQL添加SQL Sever賬號。
(2)利用T-SQL修改SQL Sever登陸賬號屬性。
(3)利用T-SQL刪除SQL Sever登陸賬號。
2,管理數(shù)據(jù)庫用戶
(1)利用T-SQL添加SQL Sever用戶。
(2)利用T-SQL刪除SQL Sever用戶。
3,管理數(shù)據(jù)庫角色
(1)利用T-SQL刪除用戶自定義角色,可以使用系統(tǒng)存儲過程sp_droprole刪除用戶自定義角色。
4,權(quán)限管理
(1)利用T-SQL管理權(quán)限
1語句授權(quán)?!?對象授權(quán)?!?收回授權(quán)。○三,實(shí)驗(yàn)步驟
exec sp_addlogin 'qh','qh','jxgl','english'
四,exec sp_password 'qh','qhqxzsly','qh' 五,六,alter login qh with password='123456' 七,八,exec sp_droplogin qh 九,十,drop login qh 十一,十二,use jxgl 十三,exec sp_grantdbaccess 'DESKTOP-7M8SQ9T','qh' 十四,exec sp_revokedbaccess qh 十五,十六,use jxgl;
十七,exec sp_addrole 'newrole'
十八,exec sp_addrolemember 'newrole','qh' 十九,二十,exec sp_droprole 'newrole' 二十一,二十二,use master
二十三,grant create database to qh 二十四,二十五,二十六,grant create table,create view to qh 二十七,二十八,grant select on s to qh,qxz,sly 二十九,三十,grant insert,delete on s to shen 三十一,三十二,grant update on s(age,dept)to shen 三十三,三十四,grant execute on sp_ins_s to shen 三十五,三十六,revoke create table,create view form sly 三十七,三十八,revoke select on s from qxz ,sly 四,實(shí)驗(yàn)心得
通過此次實(shí)驗(yàn)我了解了SQL Sever中有關(guān)用戶、角色及操作權(quán)限等的管理方法,同時(shí)也更加注重?cái)?shù)據(jù)庫安全性方面的問題,我們創(chuàng)建的每一個(gè)數(shù)據(jù)庫都應(yīng)該考慮安全性問題,應(yīng)該為數(shù)據(jù)庫創(chuàng)建一些必要的角色,同時(shí)也要管理數(shù)據(jù)庫的權(quán)限方面,防止數(shù)據(jù)向外流失,或者被黑客盜用。
第五篇:數(shù)據(jù)庫實(shí)驗(yàn)6
HUNAN UNIVERSITY
實(shí)驗(yàn)報(bào)告
題 目:
數(shù)據(jù)庫實(shí)驗(yàn)六
學(xué)生姓名:
學(xué)生學(xué)號: 專業(yè)班級:
上課老師:
? 實(shí)驗(yàn)?zāi)康?/p>
熟悉使用存儲過程來進(jìn)行數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì)。
? 實(shí)驗(yàn)平臺和實(shí)驗(yàn)工具
Windows10、mysql ? 實(shí)驗(yàn)內(nèi)容及要求
對學(xué)生課程數(shù)據(jù)庫,編寫存儲過程,完成下面功能:
1)統(tǒng)計(jì)離散數(shù)學(xué)的成績分布情況,即按照各分?jǐn)?shù)段統(tǒng)計(jì)人數(shù); 2)統(tǒng)計(jì)任意一門課的平均成績。
3)將學(xué)生選課成績從百分制改為等級制(即A、B、C、D、E);
步驟:
在實(shí)驗(yàn)之前已經(jīng)建立了student、course、score三張表
1)統(tǒng)計(jì)離散數(shù)學(xué)的成績分布情況,即按照各分?jǐn)?shù)段統(tǒng)計(jì)人數(shù) i.創(chuàng)建sc_rank表存放結(jié)果
ii.創(chuàng)建存儲過程
iii.執(zhí)行存儲過程
iv.執(zhí)行結(jié)果
根據(jù)score可以看出操作成功。
刪除存儲過程 v.2)統(tǒng)計(jì)任意一門課的平均成績 i.創(chuàng)建存儲結(jié)果的表score_avg:cname存儲課程名,avg存儲平均成績
ii.創(chuàng)建存儲過程
iii.執(zhí)行存儲過程
iv.執(zhí)行結(jié)果
由結(jié)果可以得出存儲過程得以正確執(zhí)行。
刪除過程
3)將學(xué)生選課成績從百分制改為等級制(即A、B、C、D、E)i.創(chuàng)建存儲過程 v.ii.執(zhí)行結(jié)果
從grade和newgrade的對比可以知道結(jié)果是正確的。
iii.刪除存儲過程
? 問題
在做第三小問的時(shí)候,出現(xiàn)了如下情況:
原因是:
我把不是游標(biāo)范圍內(nèi)做的事情放到游標(biāo)的范圍里面去了,結(jié)果將列刪除了,插入不成功,出現(xiàn)錯(cuò)誤。
? 實(shí)驗(yàn)心得
在做這個(gè)實(shí)驗(yàn)的時(shí)候上網(wǎng)查了好多資料,用的是mysql,有些語法與課本上有差異,很多都要自己琢磨,在一些語法上其他的數(shù)據(jù)庫可能簡單一些(如kingbase上支持record類型),有一些可能又會難一點(diǎn),不過總體來說都差不多,主要還是懂,即使只是一點(diǎn)點(diǎn)的不同,不知道也是做不出來的。所以,這些東西還是需要花一些時(shí)間去查閱資料和花點(diǎn)時(shí)間來消化的。
以下為mysql存儲過程的一些知識點(diǎn):
MySQL存儲過程的參數(shù)用在存儲過程的定義,共有三種參數(shù)類型,IN,OUT,INOUT,形式如:CREATE PROCEDURE([[IN |OUT |INOUT ] 參數(shù)名 數(shù)據(jù)類形...])IN 輸入?yún)?shù):表示該參數(shù)的值必須在調(diào)用存儲過程時(shí)指定,在存儲過程中修改該參數(shù)的值不能被返回,為默認(rèn)值
OUT 輸出參數(shù):該值可在存儲過程內(nèi)部被改變,并可返回 INOUT 輸入輸出參數(shù):調(diào)用時(shí)指定,并且可被改變和返回