数据库系统概论实验报告.docx
- 文档编号:2872773
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:25
- 大小:374.41KB
数据库系统概论实验报告.docx
《数据库系统概论实验报告.docx》由会员分享,可在线阅读,更多相关《数据库系统概论实验报告.docx(25页珍藏版)》请在冰点文库上搜索。
数据库系统概论实验报告
课程实验报告
课程名称
数据库系统概论
班级
实验日期
姓名
学号
实验成绩
实验名称
实验1:
数据定义语句及数据查询语句
实
验
目
的
及
要
求
1.掌握数据查询语句。
实
验
环
境
操作系统:
Windows
DBMS:
SQLServer2005
实
验
内
容
首先在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)查询全体学生的详细记录;
(2)查询所有选修过课的学生的学号;
(3)查询考试成绩不及格的学生的学号
(4)查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别;
(5)查所有姓刘的学生的姓名、学号和性别
(6)查包含课程名中包含“DB%Analysis”的课程的课程号和学分
(7)查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列;
(8)查询学习1号课程的学生最高分数;
(9)查询各个课程号与相应的选课人数;
2.在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询
(10)查询每个学生及其选修课程的详细情况,包括学生姓名和课程名;
(11)查询选修2号课程且成绩在90分以上的所有学生的基本情况
(12)查询每个学生及其选修的课程名其及成绩
(13)查询与“XXX”在同一个系学习的学生
(14)查询其他系中比信息系某一学生年龄小的学生姓名和年龄
(15)查询其他系中比信息系所有学生年龄都小的学生姓名及年龄
总
结
1,学会根据软件提示修改错误调试执行
2;数据库建立时要注意命名的一致。
3;查询时记住选择自己刚建立的数据库。
4;比较复杂的嵌套查询语句书写时要细心。
附
录
1.在查询分析器在窗口下用SELECT语句完成单表查询:
(1)查询全体学生的详细记录;
SELECTDISTINCT*
FROMStudent
(2)查询所有选修过课的学生的学号;
SELECTSno
FROMSC
(3)查询考试成绩不及格的学生的学号;
SELECTDISTINCTSno
FROMSC
WHEREGrade<60
(4)查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别;
SELECTSname,Ssex
FROMStudent
WHERESdeptIN('CS','MA','IS')
(5)查所有姓刘的学生的姓名、学号和性别;
SELECTSname,Ssex,Sno
FROMStudent
WHERESnameLIKE'刘%'
(6)查包含课程名中包含“DB%Analysis”的课程的课程号和学分;
SELECTCno,Ccredit
FROMCourse
WHERECnameLIKE'DB%Analysis'
(7)查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列;
SELECTSno,Grade
FROMSC
WHERECno='3'
ORDERBYGradeDESC
(8)查询学习1号课程的学生最高分数;
SELECTMAX(Grade)
FROMSC
WHERECno='1'
(9)查询各个课程号与相应的选课人数;
SELECTCno,COUNT(Sno)
FROMSC
GROUPBYCno
2.在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询:
(10)查询每个学生及其选修课程的详细情况,包括学生姓名和课程名;
SELECTStudent.*,SC.*
FROMStudent,SC
WHERE=
(11)查询选修2号课程且成绩在90分以上的所有学生的基本情况;
SELECT,Sname
FROMStudent,SC
WHERE=AND
='2'AND
>90
(12)查询每个学生及其选修的课程名其及成绩;
SELECT,Sname,Cname,Grade
FROMStudent,SC,Course
WHERE=AND=
(13)查询与“XXX”在同一个系学习的学生;(XXX为自己的真实姓名)
SELECTSno,Sname,Sdept
FROMStudent
WHERESdeptIN
(SELECTSdept
FROMStudent
WHERESname='吕阳'
)
(14)查询其他系中比信息系某一学生年龄小的学生姓名和年龄;
SELECTSname,Sage
FROMStudent
WHERESage FROMStudent WHERESdept='IS') ANDSdept<>'IS' (15)查询其他系中比信息系所有学生年龄都小的学生姓名及年龄; SELECTSname,Sage FROMStudent WHERESage (SELECTSage FROMStudent WHERESdept='IS') ANDSdept<>'IS' 课程实验报告 课程名称 数据库系统概论 班级 实验日期 姓名 学号 实验成绩 实验名称 实验2: 数据更新及视图 实 验 目 的 及 要 求 1.掌握数据定义语句; 2.掌握数据更新语句; 3.掌握视图的使用。 实 验 环 境 操作系统: Windows DBMS: SQLServer2005 实 验 内 容 商品(商品号字符(3),商品名字符(20),单价浮点型,商品类别字符(5),供应商字符(20)); 顾客(顾客号字符(3),姓名字符(10),住址字符(20)); 购买(顾客号字符(3),商品号字符(3),购买数量整型); 用SQL语句实现如下题目: 1.创建上述3个表。 2.往表中插入数据: 商品: M01,佳洁士,,牙膏,宝洁; M02,高露洁,,牙膏,高露洁; … 顾客: C01,Dennis,海淀; C02,John,朝阳; 购买: C01,M01,13; C01,M05,12; 3.将所有的“牙刷”商品单价增加30%。 4.将“宝洁”供应商改为“P&G”。 5.删除所有卖出总数量少于20个的商品信息,不包括从没有卖出的商品。 6.删除没有购买记录的商品。 7.创建顾客号,商品号,商品名称,单价,购买数量的视图。 调 试 过 程 及 实 验 结 果 (详细记录在调试过程中出现的问题及解决方法。 记录实验执行的结果) 总 结 (对实验结果进行分析,问题回答,实验心得体会及改进意见) 附 录 (源程序清单) 课程实验报告 课程名称 数据库系统概论 班级 124 实验日期 姓名 董龙钱 学号 5 实验成绩 实验名称 实验3: 数据库的完整性和安全性 实 验 目 的 及 要 求 1.掌握实体完整性规则的定义方法; 2.掌握参照完整性规则的定义方法; 3.掌握用户定义完整性的定义方法; 4.掌握数据库安全性控制。 实 验 环 境 操作系统: Windows DBMS: SQLServer2005 实 验 内 容 有三个关系模式: Student(snovarchar(10)主键,snamevarchar(8),ssexvarchar (2)默认为‘男’,sageint介于20到50之间,sdeptvarchar(20)); Course(cnovarchar(5)主键,cnamevarchar(20)唯一,cpnovarchar(5),creditint); SC(snovarchar(10)主键,Student表的外键,cnovarchar(5)主键,Course表的外键,gradeint)。 数据库的完整性 (1)利用查询分析器创建上述3个基本表。 (2)删除student表的关于sage20到50的约束 数据库的安全性: 用GRANT和REVOKE语句完成以下授权定义或存取控制功能: (3)用户王明对Student表和Course表有SELECT权力; (4)用户李勇对Student表和Course表有INSERT和DELETE权力; (5)用户刘星对Student表有SELECT权力,对Student表的sage字段有更新权力; (6)用户张新具有创建表的权力; (7)用户周平具有对Student表和Course表所有权力,并具有给其他用户授权的权力; (8)回收李勇、张新的权限 Student表: Course表: SC表: 调 试 过 程 及 实 验 结 果 总 结 1: 更加了解了数据库的完整性和安全性; 2: 提高了动手操作解决问题的能力; 3: 对sql使用更加熟练; 附 录 (1): createtableStudent (snovarchar(10)primarykey, snamevarchar(8), ssexvarchar (2)default('男'), sdeptvarchar(20), sageint constraintC1check(sage>=20andsage<=50) ); createtableCourse (cnovarchar(5)primarykey, cnamevarchar(20)unique, cpnovarchar(5), creditint ); createtableSC (snovarchar(10), cnovarchar(5), primarykey(sno,cno), foreignkey(sno)referencesStudent(sno), foreignkey(cno)referencesCourse(cno), gradeint ); (2): altertableStudent dropconstraintC1; (3): Grantselect onStudent to王明; Grantselect onCourse to王明; (4): GrantINSERT,DELETE onStudent to李勇; GrantINSERT,DELETE onCourse to李勇; (5): GrantSELECT onStudent to刘星; Grantupdate onCourse(sage) to刘星; (6): GrantCreate to张新; (7): Grantallprivileges onStudent to周平; Grantallprivileges onCourse to周平; (8): RevokeINSERT,DELETE onStudent from李勇; GrantINSERT,DELETE onCourse from李勇; 课程实验报告 课程名称 数据库系统概论 班级 实验日期 姓名 学号 实验成绩 实验名称 实验4: 编写存储过程访问数据库 实 验 目 的 及 要 求 1.熟悉使用存储过程来进行数据库应用程序的设计。 实 验 环 境 操作系统: Windows DBMS: SQLServer2005 实 验 内 容 创建关系模式SC SC(snovarchar(10)主键,Student表的外键,cnovarchar(5)主键,Course表的外键,scoreint,newscorevarchar (1)) 一开始SC表中的前3列是有数据的,newgrade列全部是空的 1.编写存储过程将学生选课成绩(百分制)转换成等级制(即5、4、3、2、0),要求使用游标完成 其中,5: 90~100 4: 80~89 3: 70~70 2: 60~69 0: 0~59 2.执行该存储过程,使得newgrade列中为各等级。 调 试 过 程 及 实 验 结 果 (详细记录在调试过程中出现的问题及解决方法。 记录实验执行的结果) 总 结 (对实验结果进行分析,问题回答,实验心得体会及改进意见) 附 录 (源程序清单)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 实验 报告