下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一1 在企业管理器中创建一个名称为school的数据库,并设置数据库主文件名为school_data,大小为10MB,最大尺寸为无限大,增长速度为20%;日志文件名为school_log,大小为2MB,最大尺寸为5MB,增长速度为1MB。2 将数据库school的日志文件缩小为3MB。3 在school数据库中建立如下4个表:学生表student,其结构为:sno char(5),sname char(8),ssex char(2),sbirthday datetime,class char(5)。其中sno为主码,然后在school表中输入记录。教师表 teacher,其结构为:tno
2、char(5),tname char(8),tsex char(2),tbirthday datetime,prof char(10),depart char(10)。其中tno为主码,然后在teacher表中输入记录。课程表 course,其结构为:cno char(10),canme char(16),tno char(5)。其中cno为主码,然后在course表中输入记录。学习表sc,其结构为sno char(5), cno char(10),degree int。其中(sno,cno)为主码,然后在sc表中输入记录。4. 建立student、teacher、course、sc四个表之间
3、的关系。5. 用create database语句创建school数据库;用create table语句建立student、teacher、course、sc四个表结构。实验二在school数据库上用SQL语句完成下列操作:1 显示所有学生姓名、年龄。SELECT sname,year(getdate()-year(sbirthday) AS "年龄"FROM student2 显示有不及格成绩的课程号,并去掉重复的元组。 SELECT DISTINCT oFROM scoreWHERE degree<603显示95031班所有学生的信息,并按学号降序排序输出。 SE
4、LECT *FROM studentWHERE class=95031ORDER BY sno DESC4求出各班级的学生人数。 SELECT class,COUNT(*) AS "班级人数"FROM studentGROUP BY class5显示所有学生的学号、姓名和平均成绩。 select student.sno,sname,avg(degree) as "平均成绩"from student,scorewhere student.sno=score.snogroup by student.sno,sname6显示各班级和该班级的所有学生的平均成绩。
5、 select student.class,avg(degree) as "平均成绩"from student,scorewhere student.sno=score.snogroup by class7. 查询score表中成绩为85、86或88的记录。 select *from scorewhere degree in(85,86,88)实验三在school数据库上用SQL语句完成下列操作:1. 查询score表中至少有5名学生选修的并以3开头的课程号的平均分数。2. 查询选修了操作系统课程的学生的sno、cname和degree列。3. 查询和学号为105的学生同年
6、出生的所有学生的sno、sname和sbirthday列。4. 查询“张旭”教师任课的学生成绩,并按成绩递减排列。5查询选修某课程的学生人数多于5人的教师姓名。6统计每门课程的平均成绩,并将其中平均成绩超过80分的输出。7显示平均成绩高于95031班平均成绩的班号和平均成绩。8显示所有职工的职工号、姓名和部门类型,其中计算机系和电子工程系属信息部,水利电力系属工学部。实验四在school数据库上用SQL语句完成下列操作:1显示选修了课程的学生的所有个人及选课信息,未选课的学生只显示其个人信息。2查询选修了全部课程的学生学号和姓名。3. 向表student中插入一数据行,该行包含所有列的值。4.
7、 将学生刘红的学号修改为202,班级修改为96032。5. 将选修了操作系统课程的成绩提高5%。6. 学生“李军”在数字电路课程考试中作弊,该课成绩应作零分计。7. 删除选修了王萍教师课程的选课记录。实验五在school数据库上用SQL语句完成下列操作:1若存在职工号为810的职工,则显示其工作部门名称,否则显示相应提示信息。2求出男女学生的平均成绩,若男学生平均成绩高出女学生平均成绩50%,则显示“男学生工比女学生的成绩高多了”的信息,若男学生平均成绩与女学生平均成绩比率在1.50.8之间,则显示“男学生跟女学生的成绩差不多”的信息,否则,显示“女学生比男学生的成绩高多了”的信息。 实验六在
8、school数据库上用SQL语句完成下列操作:1按性别和部门名的所有组合方式列出相应的平均成绩。2显示平均成绩低于所有学生平均成绩的学生的学号和姓名。3查询平均成绩最高的学生的学号和姓名。4采用游标方式实现2的功能。5采用游标方式实现3的功能。实验七在school数据库上用SQL语句完成下列操作:1实施student表的“性别”字段默认值为“男”的约束。2实施sc表的“成绩”字段值限定在0100的约束。3实施course表的“课程号”字段值惟一的非聚集索引的约束。4. 为course表建立外码“教师号”,参考表teacher的“教师号”列。 5. 建立一个规则sex:性别='男'
9、; OR 性别='女',将其绑定到student表的“性别”列上。6. 在teacher表中的tno列上创建一个非聚集索引。 7. 为score表的sno和cno列创建索引,并且强制惟一性。 8. 建立视图View1,查询所有学生的姓名、课程名和成绩。9. 建立视图View2,查询所有学生的学号、姓名和平均成绩。10. 建立视图View3,查询各课程名和该课程的平均成绩。11. 利用视图View3进行查询。实验八在school数据库上用SQL语句完成下列操作:1创建一个带有参数的存储过程stu_info,该存储过程根据传入的学生编号,在student表中查询此学生的信息。2创建一个带有参数的存储过程stu_age,该存储过程根据传入的学生编号,在student表中计算此学生的年龄,并根据程序的执行结果返回不同的值,程序执行成功,返回整数0,如果执行出错,则返回错误号。并执行该存储过程。实验九在school数据库上用SQL语句完成下列操作:1创建一个能实现删除student表中的学生记录时,同时删除score表中对应的成绩记录的触发器。 2创建一个触发器,要求能实现修改后学生的成绩不能低于修
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论