数据库系统实验指导aa(20091023)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1数据查询

实验目的:

●了解数据查询的基础知识

●使用SELECT语句在数据库上进行简单查询

●通过使用别名和字面值设置结果集格式

●使用where子句过滤结果集

●使用GROUP BY和HAVING子句对数据进行分组查询

●掌握使用不同类型的联接方式进行表的联接操作

●使用UNION操作符合并结果集

●理解联接与UNION的区别

实验要求:

●熟练掌握基本的数据查询语句

●熟练编写SELECT语句进行简单查询

●熟练控制结果集的格式

●理解并熟练使用常用的统计函数

●熟练使用GROUP BY和HAVING子句对数据进行分组查询

●理解并熟练使用各种联接方式

●熟练使用UNION操作符合并结果集

●掌握随机帮助的使用方法

实验内容:

学生-课程数据库的三个表:

学生表:Student(Sno,Sname,Ssex,Sage,Sdept)Sno为主键;

说明:Sno学号,Sname姓名,Ssex性别,Sage年龄,Sdept所在系表中现有记录为:

说明:Cno课程号,Cname课程名,Cpno先行课,Credit学分

表中现有记录为:

说明:Sno学号,Cno课程号,Grade成绩

表中现有记录为:

Sno Cno Grade

95001192

95001285

95001388

95002290

95002380

1、查询表中的列和行

(1)查询全体学生的学号与姓名;

(2)查询全体学生的姓名及年龄;

(3)查询全体学生的姓名,年龄及所在系(要用小写字母表示系名,并用“系名”来表示列名);(4)查询选修了课程的学生学号。

2、条件查询

(1)查询计算机系全体学生的姓名;

(2)查询所有年龄在20岁以下的学生姓名及其年龄;

(3)查询年龄在20到23间的学生的姓名,系别及年龄;

(4)查询年龄不在20到23间的学生的姓名,系别及年龄;

(5)查询不是信息系(IS)和计算机系(CS)学生的姓名和性别;

(6)查询所有姓刘的学生的姓名,学号和性别;

(7)查询姓“李”且名为一个汉字的学生的姓名;

(8)查询名字中第2个字为”敏”字的学生姓名和学号;

(9)查询所有不姓刘的学生姓名;

(10)查询全体学生情况,结果按所在系的号升序排列,同一系中的学生按年龄降序。

3、使用统计函数

(1)查询学生的总人数;

(2)查询选修了课程的学生人数;

(3)计算选2号课程的学生平均成绩;

(4)查询选修3号课程的学生最高分数;

(5)求成绩排名前三名的学生号、课程号、成绩;(选做)

(6)求成绩排名前三名的学生号、课程号、成绩(包括成绩并列情况)。(选做)

4、分组查询

(1)求有成绩的每个学生的平均成绩;

(2)求有成绩的每个学生的总成绩;

(3)求每门课程的平均成绩;

(4)求平均成绩大于86分的学生学号及平均成绩;

(5)求平均成绩大于86分的课程的课程号及课程平均成绩;

(6)求各个课程号及相应的选课人数;

(7)查询选修了2门以上的课程的学生学号;

(8)查询选修了2门课程(含2门)的学生的学号和平均成绩,并根据平均成绩降序排列;(9)查询各学分等级的课程数目;

(10)查询18岁以上(含18)的男女生的人数;

(11)查询人数多于2人(含2人)的系的编号及人数;

5、多表联接查询

(1)查询选修“信息系统”课程的学生的学号;

(2)查询学生“李敏勇”选修的课程的平均分;

(3)查询选修“数学”课程的学生的平均分;

(4)查询学生“李敏勇”,成绩大于80分的课程号、成绩;

(5)查询成绩大于90分的学生的姓名;

(6)查询没有一门考试科目成绩低于85分的学生的姓名;

(7)查询学生“李敏勇”的所有成绩,显示的列名包括课程号、成绩;

(8)查询“信息系统”课程的成绩情况,显示的列名包括学号、成绩;

(9)查询所有学生的成绩情况,显示的列名包括学生姓名、课程号、成绩,注意结果集中也应包括未选修课程的学生;

(10)查询所有课程的成绩情况,显示的列名包括学生课程名称、学生学号、成绩,注意结果集中也应包括没有考试的课程;

(11)查询学生选修课程的考试情况,显示的列名包括学生姓名、课程名称、成绩;

(12)查询所在系相同的学生,显示的列名包括学生姓名、系名、相同系的学生姓名,剔除自己跟自己系相同的情况;

(13)查询学分相同的课程,显示的列名包括课程名称、学分、相同学分的另一课程名称。

6、子查询

(1)查询参加了二次以上的学生姓名;

(2)查询参加过考试的每个学生考的最好的那次考试的情况;

(3)查询平均分大于等于88的学生姓名;

实验2SQL语言的综合应用

1、利用Enterprise Manager,新建一个数据库,命名为sjkxtsy,并完成

以下功能:

1)记录某采油厂对油/水井实施作业时所消耗的成本。(作业:可理解为对油/水井进行大修)

2)成本的消耗分为预算、结算、入账三个状态。

预算:采油队向管理部门提出作业申请,并经管理部门批准后,由管理部门负责录入。

结算:某次作业施工结束后,由管理部门与施工单位共同核算各种成本,由管理部门负责录入。

入账:结算后,财务部门将成本计入采油厂账目,由财务部门录入。

3)预算状态时需要录入的数据:(★:字符型◆货币型▲日期型)

★单据号:某一作业项目的编号

★预算单位:指需要对油水井实施作业的采油队代码

★井号:需要实施作业的油水井

◆预算金额★预算人▲预算日期

4)结算状态需要录入的数据:(★:字符型◆货币型▲日期型▼数值型)

调出某条预算记录,录入以下数据:

▲开工日期▲完工日期★施工单位★施工内容

◆材料费(要求另外单独记录材料消耗的明细)

★物码▼消耗数量◆单价

◆人工费◆设备费◆其它费用

◆结算金额(材料费+人工费+设备费+其它费用)

★结算人▲结算日期

5)入账状态需要录入的数据:(★:字符型◆货币型▲日期型)

调出某条结算记录,录入以下数据:

◆入账金额★入账人▲入账日期

6)为了避免出现有歧义的错误,要求定义以下基础表:(★:字符型)

单位代码表:★单位代码★单位名称

油水井表:★井号★井别:油井/水井★单位代码(表示某口井由哪个单位负责管理)物码表:★物码★名称规格★计量单位

2、根据以上要求,利用Enterprise Manager,定义所需的数据表。

3、利用Enterprise Manager,录入以下相关的基础数据:

单位代码表:1122采油厂

相关文档
最新文档