ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:152.74KB ,
资源ID:10870648      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10870648.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库实验报告第一次.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库实验报告第一次.docx

1、数据库实验报告第一次1、 数据库实验姓名: 冯林峰 学号: 班级: 实验名称: 列表创建与查询实验二:新建数据库student_test,用Transcat-SQL语言创建课本P82给出的3张表(student表增加一列属性:班级),用Transcat-SQL语言完成数据插入。第一个表格use student_testcreate table student( 学号 char (10) NOT NULL primary key, 姓名 char (8) NULL, 性别 char (2) NULL, 年龄 int NULL , 所在系 char (20) NULL,)use student_t

2、estinsert studentvalues(, 李勇, 男,20,CS)insert studentvalues(, 刘晨, 女,19,CS)insert student values(, 王敏, 女,18,MA)insert studentvalues(, 张立, 男,19,IS)GO第二个表格use student_testcreate table Course( 课程号 int NULL, 课程名 char (10) NULL, 先行课 int NULL, 学分 int NULL ,)use student_testinsert Coursevalues(1,数据库,5,4)inse

3、rt coursevalues(2,数学,null,2)insert coursevalues(3,信息系统,1,4)insert coursevalues(4,操作系统,6,3)insert coursevalues(5,数据结构,7,4)insert coursevalues(6,数据处理,null,2)insert coursevalues(7,PASCAL,6,4)GO第三个表格use student_testcreate table SC( 学号 char (10) NULL, 课程号 int NULL, 成绩 int NULL ,)use student_testinsert SC

4、values(,1,92)insert SCvalues(,2,85)insert SCvalues(,3,90)insert SCvalues(,2,90)insert SCvalues(,3,80)GO2、 完成下列4项查询操作。1) 查询数学系姓王的学生姓名及年龄,并按学生年龄降序排序;2) 查询1班的选修课平均成绩 80 的学生姓名和学号;/没有班级一项用所在系CS代替3) 查询每个班级每门课程的选课人数和平均分;/没有班级一项用所在系代替4) 查询李爽同学没选修的课程名;1)查询代码:结果:select 姓名,年龄from Student where 所在系=MA and 姓名lik

5、e 王% order by 年龄desc 2) 查询代码:结果:select 姓名,Student.学号from Student,SC where Student.学号=SC.学号and Student.班级=3班 group by 姓名,Student.学号having avg(成绩)80;3)查询代码:结果:select 班级,课程名,count(a.学号) as 选课人数,avg(成绩) as 平均分from Student a join SC b on a.学号=b.学号join Course c on b.课程号=c.课程号group by 班级,课程名;4)查询代码:结果:sele

6、ct 课程名 from Course where 课程号not in(select 课程号from SC where 学号in(select 学号 from Studentwhere 姓名=李勇)实验三:1、设计若干张表,合理地表示如下信息:学号,姓名,性别,生日,班级,系科,选修课程,课程名,课程编号,学分,课程容量,选课人数,成绩,任课教师(注意:同一门课有多名任课教师)。实验想法:在建立表格的时候首先要考虑吧查询的问题,可以先把属性有联系的连接在一起,于是便有了student,course,和SC表格,而要通过表格中的属性将三张表格联系起来,于是便有了一下表格。use student_c

7、reate table Student(学号int not null,姓名char(20),性别char(40) default(男),生日datetime check(生日1980-01-01 and 生日2020-01-01),班级char(40),系科char(80);use student_create table Course(课程号int not null,课程名varchar(80),学分int ,选课人数int,课程容量int);use student_create table SC(学号int,课程号int,任课教师varchar(40),成绩int);use student

8、_insert Coursevalues(1, 数据库, 4, 56,120)insert Coursevalues(2, 数学, 2,45,100)insert Coursevalues(3, 信息系统, 3, 80,100)insert Coursevalues(4, 操作系统, 3, 67,120)insert Coursevalues(5, 数据结构, 4, 78,100)insert Coursevalues(6, 信息处理, 2, 45,110)insert Coursevalues(7, PASCAL语言, 3, 45,120);use student_insert Studen

9、tvalues(,李勇,男,1993-02-02,2班,CS)insert Studentvalues(,刘晨,女,1994-02-04,3班,CS)insert Studentvalues(,王敏,女,1993-09-11,1班,MA)insert Studentvalues(,张立,男,1990-12-12,1班,IS);use student_insert SCvalues(,1,王老师,92)insert SCvalues(,2,李老师,85)insert SCvalues(,3,张老师,88)insert SCvalues(,2,刘老师,90)insert SCvalues(,3,谢

10、老师,80);设计查询语句,完成以下查询任务1) 查询给李勇同学授课的所有任课教师;解法一:查询代码查询结果use student_ select 任课教师from SCwhere SC.学号in (select 学号 from Student where 姓名=李勇);解法二:查询代码查询结果use student_select 任课教师from SC,Studentwhere SC.学号=student.学号AND student.姓名=李勇2) 查询某任课教师所授的每门课程中单科成绩最高的学生学号、姓名(任课教师可指定,如“李爽”)。查询代码查询结果Use student_select

11、学号,姓名from Studentwhere 学号= (select 学号 from SC where 成绩in (select max(成绩) from SC where 课程号in (select 课程号 from SC where 任课教师=刘老师 ) );实验问题: 首先老师说了三张表格有问题,于是我仔细思考了,发现最大的问题其实是数据冗余,因为在查询是,若是查询某门课的任课老师时会出现大量的数据重复,因为这任课老师是放在学生学号后面的,一个老师可能会教很多学生,这给信息查询和修改都带来了不方便,于是,我想的是出现第四章表格,即把课程号和任课老师拎出来,重新建立一张表格。即SC表格变为以下两张表格:这样多了两张表格之后可以有效地解决数据冗余问题,并且使根据课程查询任课老师更为便捷,不过还是没有解决数据更新冗余问题。而想了很久之后也没有有效地方法,所以我心中最好的表格也只能是这样了。 实验感想:数据库实验是一门很综合的实验,因为要考虑的东西很多,就像这个实验,虽然三个表格看起来没有什么问题,但是其实他是会出现大量的数据冗余的,所以我们考虑问题要全面,很多东西,不仅要考虑到实现,还要想到在实际应用中实现的困难以及不方便,经过这次实验,我对这门语言也有了一定的了解,收获很大。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1