深圳大学实验报告-数据库系统概论-交互式SQL语句.doc_第1页
深圳大学实验报告-数据库系统概论-交互式SQL语句.doc_第2页
深圳大学实验报告-数据库系统概论-交互式SQL语句.doc_第3页
深圳大学实验报告-数据库系统概论-交互式SQL语句.doc_第4页
深圳大学实验报告-数据库系统概论-交互式SQL语句.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深 圳 大 学 实 验 报 告 课程名称: 数据库系统概论 实验项目名称: 交互式SQL语句 学院: CIE 专业: IS 指导教师: 傅向华 报告人:卢志敏 学号:2006131114 班级: 3 实验时间: 2008-10-20 实验报告提交时间: 2008-11-5 教务处制一、实验目的与要求:一、 实验目的通过本实验,掌握数据分析以及SQL语句的使用。二、 实验要求根据自己本学期选修课程的情况,分析学生、课程和教师之间的关系。例如,一个学生可以选修多门课程,一门课程可以有多个学生选择,一个课程可以有多位教师讲授,一个教师也可以讲授多门课程,不同的学生可以选择不同教师的不同的课程,建立数据库并进行相关操作。二、方法、步骤:1利用SQL语句创建一个数据库和表,该数据库包含如下四个表:学生(学号,姓名,性别,班级,年龄,系别,籍贯,住址,电话号码)教师(教师工号,姓名,性别,系别)课程(课程号,课程名,教材,学分)(假设同一门课程只有一个课程号)选修关系(学号,课程号,教师工号,成绩)2统计2个宿舍的学生选课情况,利用SQL语句往表中添加记录(每个表至少写出一个SQL语句);Student表:insert into student (Sno,Sname,Ssex,Sage,Sdept,Sclass)values (2006131145,崔元星,男,21,IS,4)Teacher表:insert into Teacher (Tno,Tname,Tsex,Tdept)values (11111,傅向华,男,CS)Course表:insert into Course (Cno,Cname,教材,Ccredit)values (2213200104,计算机组成原理,计算机组成与结构(第四版),4)SC表:insert into SC (Sno,Cno,Tno,Grade)values (2006131145,2313200501,11112,85)3以上述数据库和记录为基础,进行如下查询,写出SQL语句和查询结果; (1)以自己的学号作为选择条件,查询自己本学期所修全部课程的课程号和课程名; (2)以自己选修课程的某位教师姓名为查询条件,查询选修该教师课程的所有学生的学号和姓名; (3 ) 查询自己选修的某位教师的某门课程的所有学生的学号,姓名以及电话号码; (4)查询自己选修的某位教师不同课程的学生人数; (5)查询不同课程成绩的最高分;(6)查询与自己同姓的所有学生的学号和姓名; (7)查询没有选修某位教师课程的学生学号和姓名; (8)查询选修了所有课程的学生学号和姓名; (9)查询至少选修了自己选修的全部课程的学生学号和姓名; (10)查询自己选修的所有课程中,超过平均成绩的课程号;4写出如下操作的SQL语句: (1) 在学生表中添加电子邮件属性; (2) 从课程表中删除所有自己未选修的课程记录; (3)在上述表中插入自己上学期选修的一门课程的有关记录; (4)创建一个自己选课情况的视图,包括学号,姓名,课程名,教师姓名以及成绩等属性。三、实验过程及内容:1 (1):select Cno,Cnamefrom Coursewhere Cno in (select Cnofrom SCwhere Sno=2006131114)(2):select Sno,Snamefrom Studentwhere Sno in (select Snofrom SC where Tno in( SELECT Tno from Teacher where Tname = 杜文峰)(3):select Student.Sno,Sname,Stelno from Student,SC,Coursewhere SC.Cno=Course.Cno andCourse.Cname=Java程序设计 and SC.Sno=2006131114(4):select count (*)from Studentwhere Student.Sno in (select Snofrom SCwhere Tno in (select Tnofrom Teacherwhere Tname=傅向华)(5):select Cname,max(Grade)from SC,Coursewhere SC.Cno=Course.Cnogroup by Cname(6):select Sno,Snamefrom Studentwhere Sname like 卢%(7):select Sno,Snamefrom Studentwhere Sno not in(select Snofrom SC,Teacherwhere Teacher.Tname=傅向华 andSC.Tno=Teacher.Tno)(8):select Sno,Snamefrom Studentwhere not exists(select *from Coursewhere not exists(select *from SCwhere Sno=Student.Snoand Cno=Course.Cno);(9):select distinct Student.Sno,Snamefrom SC,Studentwhere not exists(select *from SC,Studentwhere Student.Sname=卢志敏 andnot exists(select *from SC,Student,Coursewhere Student.Sno=SC.Sno and SC.Cno=Course.Cno);(10):select Cnofrom SC Xwhere Sno=2006131114 and Grade =(select avg(Grade)from SCwhere X.Cno=Y.Cno group by Cno)2.(1) 在学生表中添加电子邮件属性;alter table Student add email char(30) (2) 从课程表中删除所有自己未选修的课程记录;delete from Coursewhere SC.Sno=2006131114 and SC.Sno=Course.Cno (3)在上述表中插入自己上学期选修的一门课程的有关记录;insert intoCourse(Cno,Cbook,Ccredit,Cname)values(20060003,数据结构,3.5,数据结构(C语言版)) (4)创建一个自己选课情况的视图,包括学号,姓名,课程名,教师姓名以及成绩等属性。Create view SCview (Sno,Sname,Cname,Tname,Grade)As Select Sno,Sname,Cname,Tname,GradeFrom SC,Student,Teacher四、实验结论与体会:实验结论:1、SQL语言是高度非过程化、面向集合的操作语言;2、 SQL语言能实现数据查询SELECT、数据定义CREATE,DROP,ALTER、数据操纵INSERT,UPDATE,DELETE等功能;3、 SQL语言能创建基本表、模式、视图实验心得:1、 在企业管理器中创建基本表时应注意空格也占用字符位;2、 使用BETWEENAND时,BETWEEN后的是较小值而AND后的是较大值3、 DISTINCT可以取消重复的元组;4、 用聚

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论