数据库系统概论实验报告.docx
《数据库系统概论实验报告.docx》由会员分享,可在线阅读,更多相关《数据库系统概论实验报告.docx(24页珍藏版)》请在冰豆网上搜索。
数据库系统概论实验报告
课程实验报告
课程名称
数据库系统概论
班级
实验日期
学号
实验成绩
实验名称
实验1:
数据定义语句及数据查询语句
实验目的及要求
1•掌握数据查询语句。
实验环境
操作系统:
Windows
DBMSSQLServer2005
实验
容
首先在DBMS^境下直接创建书中第56页的3表。
1.在查询分析器在窗口下用SELECT语句完成单表查询:
(1)查询全体学生的详细记录;
(2)查询所有选修过课的学生的学号;
(3)查询考试成绩不及格的学生的学号;
(4)查信息系(IS)、数学系(MA和计算机科学系(CS的学生的和性别;
(5)查所有姓的学生的、学号和性别;
(6)查包含课程名中包含“DB%Analysis”的课程的课程号和学分;
(7)查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列;
(8)查询学习1号课程的学生最高分数;
(9)查询各个课程号与相应的选课人数;
2.在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询:
(10)查询每个学生及其选修课程的详细情况,包括学生和课程名;
(11)查询选修2号课程且成绩在90分以上的所有学生的基本情况;
(12)查询每个学生及其选修的课程名其及成绩;
(13)查询与“XXX在同一个系学习的学生;(XXX为自己的真实)
(14)查询其他系中比信息系某一学生年龄小的学生和年龄;
(15)查询其他系中比信息系所有学生年龄都小的学生及年龄;
调试过程及
1.在查询分析器在窗口下用SELECT语句完成单表查询:
(1)查询全体学生的详细记录;
实验结果
SQLQuery3.5ql-VJ^.miristrator(52)x|
□SELECTDISTINCT*
FROMStudEnt
100%-
二B吉果J
消息]
Eno
5空屯戏5宜g色Sdept
1\沔Q01
李勇男£0G5
29E002
刘晨女1015
3350C3
壬锁女161U
紛晝询已5渤执乐
Win3,104041246\SQL(1L0RTN
查询所有选修过课的学生的学号;
£QLQi_Lery4.'5ql-W...ministrator(S2))"X
-SELECTSno
FROJISC
100%
(3)查询考试成绩不及格的学生的学号
SQLQueryS.sql-W.-.mini^trator(52)}*x
JSELECTDISTIMCrSno
FRCJISC
VfHEREG“d訂创
(4)查信息系(IS)、数学系(MA和计算机科学系(CS的学生的和性别;
SQLQuery6.sql-\jV...ministrator(52))'X
BSELECTSnsme,Ssex
FR0M1Student
_WHERESdeptII^(,CS,'IS*)
100%F
C3结杲」消息
Snzim总Ssez
jiiiuiiluajai|
1浮勇〔男
2、預—“女
3王魏女
4张立男
⑸查所有姓的学生的、学号和性别
SQLQuery7^ql-W.^ministratcr(52B*
1-1SELECTSnaiTLe,Ssck,So
FR.OKStudent
WHE琏Snajn?
LEKEJ刘幣
ICQ%・
二结果'J消息
|iEiBinaajiilia■■■■■・■
ij刘晨i女鴛ooe
查包含课程名中包含“DB%Analysis”的课程的课程号和学分
SQLQueryS.^ql-W-.-rninistrator
—SELECTCno?
Ccc&dit
FRO爪Course
VHERELIKEnDB%Analysis
1QQ%-
□结累也消w
CnoCcsredit
(7)查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列;
3ESELECTSnaPGrade
FROMSC
VHEEEC^r
OMERETGradeDESC
1Q0%*
二结果_J消启
Sno(ir&d*
1=35001!
es
M.=:
■....M■”1Sr
29500280
$晝询emti执行・
■Win8.1-04041246\SQLf
(8)查询学习1号课程的学生最高分数;
◎曲3阴功执行.Win8J-04(M1
5QLQuery11^ql-,.,dmini5trator(52)3*
ESELECTCna,COUNTiSnc)FROMSC
GROUPIYBq
二结果_J消息
Cito
(无列知
1]1
'hiiarerMiim'ii
1
22
2
33
2
2.在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询
(10)
查询每个学生及其选修课程的详细情况,包括学生和课程名;
£QLQueryl2.sql-...dministrator(52])*
0SELECTStudent.SC.*
FROMStudent,SC
ffHEKEStudent.Sno=sc.Snc
100%
口结果消息
Sno
SZ6X
Sag#
Sdejt
Snc
Cna
Carfejdt
1
96001
j李更
20
CS
95001
1
9£
2
95001
李更
2Q
CS
96001
2
6E
3
96001
20
cs
95001
3
ee
4
9500£
女
19
IS
95002
£
90
5
矢002
刘晨
女
19
IS
sens
3
60
(12)查询每个学生及其选修的课程名其及成绩
iQLQuery14.-.-.drmnistrator(52)J"X|
0SELECTStudent.Sue,Sname,CnsiiLa,Grade
BROMStudetit,SC,Ccutse
■WHEREStudent.Shq=SC.SnoAlJ)SC.Cno=Course.Cr
.00%▼
S
结果
消息]
1
Slifi
pB■■■■IW■■■■■!
■■■■
f95001
1李里
数拥库
Grad.fi
z
95001
数学
3
9^01
李更
信息幕銚
88
4
95DOZ
刘晨
90
5
950Q2
刘晨
信息老克
60
bSELECTSn.cinSnamejSdept
FROJAStudent
WEF£Sd&ptTN
(SELECTSdsp-t
FROMStudent
1HIEEE沁ajue='董龙钱■'
100%*
H结果i的消Bll_
SnameSd@pt
Win8.1-04041246\SQL(11.C
(14)查询其他系中比信息系某一学生年龄小的学生和年龄
LQueryl&.sql-...dministrator(52)尸X
ESELECTSnajiie,Sage
FROMStudent
WEKESa^&\£NY(SELECTSa^
FK01IStudentWEKESdept^TIS?
)INI)SdeptOIS3
%▼
I结果胃息
Snajn«Sage
a—IBb—>■■■ld->l
g王敏j18
訥已成功抽丘WinS.1-04041246\
QLQwery17»sql-M,dministratcrr
FSELECT弘ainu,S瞽eFROM$切氓皿冊ERE-ALL
(SELECTSageFROMStudentWHERESdept=,IS*)ANDSdeptOIS'
二I结果W宵息
SntmeSigs
—taurmn”L"“[—!
1i王敏jIS
0臺闻已咸功轨石*Wir8.1-04C
1,学会根据软件提示修改错误调试执行总2;数据库建立时要注意命名的一致。
3;查询时记住选择自己刚建立的数据库。
结4;比较复杂的嵌套查询语句书写时要细心。
(5)查所有姓的学生的、学号和性别;
SELECTSname,Ssex,Sno
FROhStudent
WHERSnameLIKE'%'
(6)查包含课程名中包含“DB%Analysis”的课程的课程号和学分;
SELECTCno,Ccredit
FROhCourse
WHERCnameLIKE'DB%Analysis'
(7)查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降
序排列;
SELECTSno,Grade
FROIVSC
WHERCno=3
ORDERBYGradeDESC
(8)查询学习1号课程的学生最高分数;
SELECTMAXGrade)
FROIVSC
WHERCno='1'
(9)查询各个课程号与相应的选课人数;
SELECTSno,COUNTSno)
FROIVSC
GROUPBYCno
2.在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询:
(10)查询每个学生及其选修课程的详细情况,包括学生和课程名;
SELECTStudent.*,SC*
FROhStudent,SC
WHERStudent.Sno=SCSno
(11)查询选修2号课程且成绩在90分以上的所有学生的基本情况;
SELECTStudent.Sno,Sname
FROhStudent,SC
WHERStudent.Sno=SCSnoAND
SC.Cno='2'AND
SC.Grade>90
(12)查询每个学生及其选修的课程名其及成绩;
SELECTStudent.Sno,SnameCnameGrade
FROhStudent,SCCourse
WHERStudent.Sno=SCSnoANDSC.Cno=Course.Cno
(13)查询与“XXX在同一个系学习的学生;(XXX为自己的真实)
SELECTSno,SnameSdept
FROhStudent
WHERBdeptIN
(SELECTSdeptFROMJtudent
WHERSname='吕阳'
)
(14)查询其他系中比信息系某一学生年龄小的学生和年龄;
SELECTSname.Sage
FROhStudent
WHERSageFROhStudent
WHEREdept='IS')
ANDSdept<>'IS'
(15)查询其他系中比信息系所有学生年龄都小的学生及年龄;
SELECTSname.Sage
FROhStudent
WHERSage(SELECTSage
FROhStudent
WHEREdept='IS')
ANDSdept<>'IS'
课程实验报告
课程名称
数据库系统概论
班级
实验日期
学号
实验成绩
实验名称
实验2:
数据更新及视图
实验目的及要求
1掌握数据定义语句;
2•掌握数据更新语句;
3•掌握视图的使用。
实验环境
操作系统:
Windows
DBMSSQLServer2005
实验
容
商品(商品号字符(3),商品名字符(20),单价浮点型,商品类别字符(5),供应商字符(20));
顾客(顾客号字符(3),字符(10),住址字符(20));
购买(顾客号字符(3),商品号字符(3),购买数量整型);用SQL语句实现如下题目:
1.创建上述3个表。
2•往表中插入数据:
商品:
M01,佳洁士,8.00,牙膏,宝洁;
M02高露洁,6.50,牙膏,高露洁;
顾客:
C01,Dennis,海淀;
C02,John,,
购买:
C01,M01,13;
C01,M0512;
3.将所有的“牙刷”商品单价增加30%
4•将“宝洁”供应商改为“P&G。
5.删除所有卖出总数量少于20个的商品信息,不包括从没有卖出的商品。
6•删除没有购买记录的商品。
7•创建顾客号,商品号,商品名称,单价,购买数量的视图。
调试过程及
(详细记录在调试过程中出现的问题及解决方法。
记录实验执行的结果)
实验结果
总
结
(对实验结果进行分析,问题回答,实验心得体会及改进意见)
附录
(源程序清单)
课程实验报告
课程名称
数据库系统概论
班级
124
实验日期
2014.4.29
董龙钱
学号
20120729
5
实验成绩
实验名称
实验3:
数据库的完整性和安全性
实验目的及要求
1掌握实体完整性规则的定义方法;
2.掌握参照完整性规则的定义方法;
3•掌握用户定义完整性的定义方法;
4.掌握数据库安全性控制。
实验环境
操作系统:
Windows
DBMSSQLServer2005
实验
容
有二个关系模式:
Student(snovarchar(10)主键,snamevarchar(8),ssexvarchar
(2)默认
为’男',sageint介于20到50之间,sdeptvarchar(20));
Course(cnovarchar(5)主键,amevarchar(20)唯一,cpnovarchar(5),
creditint);
SC(snovarchar(10)主键,Student表的外键,ovarchar(5)主键,Course
表的外键,gradeint)。
数据库的完整性
(1)利用查询分析器创建上述3个基本表。
(2)删除student表的关于sage20到50的约束
数据库的安全性:
用GRAN和REVOKE句完成以下授权定义或存取控制功能:
(3)用户王明对Student表和Course表有SELEC权力;
(4)用户勇对Student表和Course表有INSERT和DELET权力;
(5)用户星对Student表有SELEC权力,对Student表的sage字段有更新权力;
(6)用户新具有创建表的权力;
(7)用户周平具有对Student表和Course表所有权力,并具有给其他用户授权的权力;
(8)回收勇、新的权限
Student表:
□
0
□
□
Bll"M册
£)」叫汕
(QLpeqjJSA
DID
OUS
xa^iqeroqp-£鑒5烈旳忱讣乌出矶
酋
H
算
M
□
0
木IUI
即3=4
E
⑺叫畀力
oudo
0
to^joipjeA
dUUSUJ
□
E)」e^jpa
OU3
勾IPN培芳
x.L_aiqpipcqp-e就弓杭
-G"9V?
LWO-L'S^M
:
峯os」noo
A1UI自合©主屮
0
加胆啊环
idmps
回
(?
)jeqii&A
xa$s
0
fg)jPL)^jEA
euupus
□
(OL)JPqxiEA
OU5
flIFN昨
SM
E嶷”9PELV(M?
LPWM
[
fft护a--
衆您
舆型
□甌
St^d+nt
裏
並*荻骑轴1抽餌的:
期㈱初…
<3
昭
阳辭
0
msr*
谕乂
血
昼晚
4b^
dbt
Mfum
db*
删
4b+
E
L
竟全內書
巨E
Siudmt的収瞰仕)
列粗R8tc)
険段■
WX
置■宦京
責■■改军時
fftt
血
桶
4
A»
A#
Ate
时口匚匚匚匚□□□-
IL
口0£]鬥口口日£1一
际㈣一.
□1如
A
養
MQfflC).-
MtJ
揍收■
LZ1|D口
■■MB
BEB
DEE
inism
A*
□n□
■■
»R|1
1更加了解了数据库的完整性和安全性;总2:
提高了动手操作解决问题的能力;
3:
对sql使用更加熟练;
结
(1):
附createtableStudent
录(snovarchar(10)primarykey,
snamevarchar(8),ssexvarchar
(2)default('男'),sdeptvarchar(20),sageint
constraintC1check(sage>=20andsage<=50)
);
createtableCourse
(enovarchar(5)primarykey,
cnamevarchar(20)unique,
epnovarchar(5),
creditint
);
createtableSC
(snovarchar(10),
enovarchar(5),
primarykey(sno,eno),
foreignkey(sno)referencesStudent(sno),foreignkey(eno)referencesCourse(cno),gradeint
);
(2):
altertableStudent
dropconstraintC1;
(3):
Grantselect
onStudent
to王明;
Grantselect
onCourse
to王明;
⑷:
GrantINSERT,DELETE
onStudent
to勇;
GrantINSERT,DELETE
onCourse
to勇;
(5):
GrantSELECT
onStudent
to星;
Grantupdate
onCourse(sage)
to星;
⑹:
GrantCreate
to新;
(7):
Grantallprivileges
onStudent
to周平;
Grantallprivileges
onCourse
to周平;
(8):
RevokeINSERT,DELETE
onStudent
from勇;
GrantINSERT,DELETEonCourse
from勇;
课程实验报告
课程名称
数据库系统概论
班级
实验日期
学号
实验成绩
实验名称
实验4:
编写存储过程访冋数据库
实验目的及要求
1熟悉使用存储过程来进行数据库应用程序的设计。
实验环境
操作系统:
Windows
DBMSSQLServer2005
实验
容
创建关系模式SC
SC(snovarchar(10)主键,Student表的外键,ovarchar(5)
表的外键,scoreint,newscorevarchar
(1))
一开始SC表中的前3列是有数据的,newgrade列全部是空的1.编写存储过程将学生选课成绩(百分制)转换成等级制(即要求使用游标完成
其中,5:
90~100
4:
80~89
3:
70~70
2:
60~69
0:
0~59
2.执行该存储过程,使得newgrade列中为各等级。
主键,Course
5、4、3、2、0),
调试过程及实验结果
(详细记录在调试过程中出现的问题及解决方法。
记录实验执行的结果)
总
(对实验结果进行分析,问题回答,实验心得体会及改进意见)
结
附录
(源程序清单)