武汉轻工大学
经济与管理学院 实验报告
实验课程名称 大型数据库管理 实验起止日期 2017.11.15至2017.11.29 实验指导教师 程红莉 物流1501班 1508090003 实验学生姓名 郑万芳 学生班级学号 实 验 评 语 实验 评分 教师 签名 年 月 日
实验项目名称 学生姓名 交互式SQL 实验日期 班级学号 2017.11.21 1508090003 郑万芳 一、预习报告(请阐述本次实验的目的及意义) (1)熟悉数据库的交互式SQL工具。 (2)熟悉通过SQL对数据库进行操作。 (3)完成基本数据表、视图和索引的创建、修改与删除,并完成作业的上机练习,包括数据的查询、修改、插入、更新等操作。 (4)完成SQL上机练习 2
二、实验方案(请说明本次实验的步骤和进程) 一、数据定义 即在实验一基础上,继续完成数据库下三张表的建立和数据输入。 学生表(s) sno 98601 98602 98603 98604 98605 课程表(C) cno C601 C602 C603 C604 选课表(SC) sno 98601 98601 98601 98601 98602 98603 98603 98603 98604 98604 98605 98605 cno C601 C602 C603 C604 C601 C601 C602 C604 C601 C604 C601 C603 score 90 90 85 87 90 75 70 56 90 85 95 80 cname 高等数学 数据结构 操作系统 编译原理 teacher 周振兴 刘建平 刘建平 王志伟 office 416 415 415 415 sname 李强 刘丽 张兵 陈志坚 张兵 age 20 21 20 22 21 sex 男 女 男 男 女 二、数据操作 1.完成各类查询操作(单表查询、连接查询、嵌套查询、集合查询)。 2.完成各类更新操作(插入数据、修改数据、删除数据)。 3
三、视图的操作 视图的定义(创建和删除)、查询、更新(注意更新的条件)。 四、用SQL完成下列查询 (1) 给学生表增加一列,属性名为class(班级),然后将已有数据的班级全部设置为class=“9601” Alter table s add class char(4) (2) 检索年龄大于21的男学生学号SNO和姓名SNAME。(用and 和intersect两种) select sno,sname from student where sage>21 and sex='男' (3) 检索选修课程名为“操作系统”的学生学号和姓名。 4
Select s.sno,sname from s,c,sc where c.cname=’操作系统’ and c.cno=sc.cno and s.sno=sc.sno (4) 检索“刘丽”同学没有选修的课程号。 Select cno from c where cno not in (select sc.cno from sc,student where sname=’刘丽’and sc.sno=student.sno) (5) 检索至少选修两门课程的学生学号。 Select sno from sc group by sno having count(*)>=2 (6) 检索全部学生都选修的课程号和课程名。 查找某个课程,这个课程不存在S中某个学生没有选 5