#3)求选修课程号为‘C1’的学生号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同按学号的升序排列。
#4)求选修课程号为‘C1’且成绩在80~90之间的学生学号和成绩,并成绩乘以0.8输出。
5)求数学系或计算机系姓张的学生的信息。
6)求缺少了成绩的学生的学号和课程号。
2.对实验一建立的学生-课程数据库中三个表进行单表查询。
1)查询全体学生的详细记录。 2)查询全体学生的姓名及其出生年份。
3)查询年龄不在20至23岁之间的学生姓名、系别和年龄。
-19-
4)查询所有姓刘的学生的姓名、学号和性别。
5)查询学习1号课程的学生最高分数。
6)查询名字中第二字为“阳”字的学生的姓名和学号。
7)查询选修了c3号课程的学生的学号及其成绩,查询结果按分数的降序排列。
#8)查询各个课程号与相应的选课人数。
3.连接查询操作。该实验包括等值连接、自然连接、一般连接、外连接和自连接等。
1)查询每一门课的间接先修课(即先修课的先修课)。
2)查询每个学生选修的课程名及其成绩。
-20-
3)查询选修c2号课程且成绩在80分以上的所有学生
思考题:
1.体会GROUP BY子句的用法。 2.体会等值连接和自然连接的区别。
3.体会外连接的实际效果。 实验报告要求:写出1中前四题及3中前三题所有查询对应的命令。
实验三 嵌套查询和视图操作
实验目的:通过本实验能够应用SQL语言进行多表的嵌套查询及进行基本的视图操作。
实验原理:oracle 10g数据库管理系统完全支持SQL,在SQL语言中,一个SELECT- FROM-WHERE语句成为一个查询块,将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件的查询成为嵌套查询。
SQL语言允许多层嵌套查询,利用嵌套查询可以增强SQL的查询能力。
视图是关系数据库系统的重要概念,是从一个或几个基本表导出的表,是一个虚表。视图在概念上与基本表相同,通过SQL可以完成在视图上的相应数据操作。
实验要求:在进行本实验之前,应熟练课程内容,在上机之前做好实验计划,编写好相应的代码。
实验内容:使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作, 对视图进行定义和简单的查询及更新操作。
具体完成以下题目,将它们转换为SQL语句表示,在学生选课数据库中实现。 1.查询与“刘晨”在同一个系学习的学生。
2.查询选修了课程名为’信息系统’的学生学号和姓名。 3.查询其他系中比计算机系某一学生年龄小的学生名单。 4.查询其他系中比计算机系所有学生年龄都小的学生名单。
-21-
5.查询选修了c1号课程的学生姓名。 6.查询没有选修c1号课程的学生姓名。 7.查询选修了全部课程的学生姓名。 8.建立视图,并对视图执行查询操作。 1)建立信息系学生的视图
2)将学生的学号及其平均成绩定义为一个视图 3)在信息系学生的视图中找出年龄小于20的学生
4)将信息系学生视图中学号为95003的学生改名为“刘辰” 思考题:
1.体会视图的消解过程。 2.对视图的更新有哪些限制? 3.体会引入视图的作用。
实验报告要求:写出1-3题及第8题所对应的命令
实验四 SQL Server的安全性和完整性控制
实验目的:通过本实验能够熟练应用SQL语言进行用户权限的授予和回收,并能定义实体完整性,参照完整性及用户定义的完整性的定义,体会SQL Server数据库系统在安全性和完整性保护方面的特性。
实验原理:
实验要求:在进行本实验之前,应熟练课程内容,在上机之前做好实验计划,编写好相应的代码。
实验内容:
1.两个用户相互配合完成以下实验内容。
1)用户xg501把查询Student表权限授给用户xg502,xg502执行相应的查询。 a)查询xg501用户的全体学生的详细记录。
b)查询xg501用户的年龄不在20至23岁之间的学生姓名、系别和年龄。 c)查询xg501用户的所有姓刘的学生的姓名、学号和性别。
d)查询xg501用户的名字中第二字为“阳”字的学生的姓名和学号。 2) xg501把对Student表和Course表的全部权限授予用户xg502。 3) 把对表SC的查询权限授予所有用户并以下查询。
a)查询xg501用户的选修了c3号课程的学生的学号及其成绩,查询结果按分数的降序排列。
b)查询xg501用户的各个课程号与相应的选课人数。 4) 将Student表和修改学生学号的权限授给用户xg502。 5) 从用户xg501把授予出的的权限一一收回。 2.以下操作每个同学独立完成。
1) 建立部门表DEPT,要求部门名称Dname列取值唯一,部门编号Deptno列为主 码。
-22-
2) 建立学生登记表stuinfo,要求学号在900000至999999之间,年龄<29,性别只能 是’男’或’女’,姓名非空。
3) 建立职工表EMP,要求每个职工的应发工资不得超过3000元。应发工资实际上
就是实发工资列Sal与扣除项Deduct之和。
4)对上述新建立的表,每个表输入3条数据,其中1条数据符合完整性约束,2条
违反约束条件的,验证和体会Oracle完整性。
思考题:
1.建立课程的实体完整性,和课程号cno的参照完整性。
2.建立年龄的域完整性,约束条件为“年龄在15到30岁之间”。 实验报告要求:写出每题相应的命令
实验五 数据库应用系统的设计
实验目的:通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握本书中所讲解的内容。
实验要求:在进行本实验之前,应熟练课程内容,在上机之前做好实验准备。
实验报告要求:报告原则上不少于3000字,需在封面注明设计选题、班级、姓名、学号及课程设计日期、地点,其正文至少包括如下几个方面的内容:
1. 需求分析
1) 按所选题目要求用自顶向下的结构化分析方法,抽象出该系统的最高数据流图。(参考教材图12.5)。
2) 设计相应的数据字典(参考教材P227)。 2. 概念模型设计
1) 局部应用分E-R图设计。
2) 视图集成,完成基本E-R图设计。(参考教材P233-235)。 3. 逻辑结构设计
1) 将E-R图转换为数据模型。(参考教材P240)。 2) 优化数据模型。(参考教材P241)。 3) 设计用户子模式(参考教材P242)。 4. 数据库物理设计 5. 数据库实现
1) 用CREATE TABLE 命令定义数据库结构。 2) 用INSERT 命令数据装载。
3) 编制应用程序用PB、Delphi、Java等设计界面,实现该数据库应用系统。 4) 调试程序,试运行。 6. 数据库运行与维护
学生可根据自己的兴趣从以下课题中选择,也可以自己选择题目,经老师批准后方 可进行设计。
-23-
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库信管数据库原理与应用12-123实验指导书(6)在线全文阅读。
相关推荐: