当前位置:首页 > 数学课件 > 正文内容

谁可以帮忙做下这个题目呀 数据库课程设计

zhao_admin12个月前 (05-31)数学课件38

数据库课程设计报告计网0831数据库课程设计1、数据的导入和导出今天是数据库实习的第一天,对于我们来说数据库虽然是今年刚刚学过的课程,但是我们已经考试完一段时间了,所以也很久没有翻书本了,很多知识在刚刚做的时候还是很陌生的,不得不翻一下书本,下面就是在第一天实习中所产生的问题报告和分析结果。在做实训前,老师先给我们讲了数据库如何导入EXCL表,在老师的指导下我们学会了,为创建表提供了方便。首先我们是建立了一个新的KCSJ数据库,建立的数据语句如下: 用SQL语句在D:KCSJ下创建课程设计数据库(KCSJ)(一)CREATE DATABASE KCSJON (NAME=KCSJ_DATA, FILENAME='D:KCSJ_DATA.MDF')LOG ON(NAME=KCSJ_LOG, FILENAME='D:KCSJ_LOG.LDF') 将KCSJ.XLS文件中的数据导入KCSJ数据库中。导入后在数据库中将生成以下五个基本表:    学生(学号,姓名,性别,年龄,入学成绩,班级,籍贯)   成绩(学号,课程号,成绩)   课程(课程号,课程名,教师名) 三角形(a,b,c,s) 回文数(A1,A2) 其中:a> 学生、成绩、课程、三角形、回文数是表的名字。 b> 学号、姓名、性别、班级、籍贯、课程名和教师名为字符型,长度分别为10 、10、2、6、8、20、10; c> 入学成绩为整型。 d> 年龄、课程号和成绩为整型或微整型。 e> A1为整型;A2为字符型,长度为2。 f> a、b、c为float类型,代表三角形的三边,s为float类型,代表三角形的面积。 在导入数据库中KCSJ.XLS文件的数据导入的时候是在所有任务--导入数据―数据源为excel97-2000- 文件位置―导入表中的数据―修改类型和长度 最后确定。 用企业管理器创建数据库(JW0831),将KCSJ数据库中的五个表导入该数据库中。打开所有任务 导入数据源 选择KSCJ 数据库 下一步 再选择jw0831数据库 选择所有 确定 就可以将KCSJ数据库中的五个表导入该数据库中。 简单的结构化查询--(1)查询学生的详细记录 select*from 学生--(2)查询学生表中前两个班级(班级名称不能重复)select top 2 班级 from 学生 group by 班级在做本题的时候,由于想的比较复杂,外加题意有点模糊,所以转了很大一个圈,并在老师的侧外指导下通过group by分组才把本题做了出来。--(3)显示把 成绩表中各科学生的成绩加 20 分后的信息 select*from 成绩where 成绩='成绩'+20在做本题的时候,由于题意理解错误,所以我先用updata语句来进行更新,但是在做到其它题的时候,听到老师在指导其它同学的时候,把题意一说,我才恍然大悟,自己的方向又错了。然后又重新思考,接着就做出了上面的答案。--(4)查询来自逗宁波地 学生的学号、姓名、籍贯 select 学号,姓名,籍贯 from 学生where 籍贯='宁波'--(5)查询选修4号课程且考试成绩在70分以上的学生的学号以及所选修的课程号和成绩,显示前3条结果记录select top 3*from 成绩where 成绩>=70 and 课程号='4'--(6)查询入学成绩在 300-400 分之内的学生的详细情况,并按入学成绩降序排序 ( 用两种方法完成 ) select * from 学生where 300=6order by count(成绩.学号) asc--(10)检索学号比陆力利同学大,而年龄比他小的学生姓名。select 学号,姓名 from 学生where 学号>(select 学号 from 学生 where 姓名='陆力利') and 年龄(select avg(年龄)as'平均年龄'from 学生 where 性别='女')--(12)统计学生人数超过 5人的班级名称和对应的人数select 班级,count(学生.学号)as '人数'from 学生group by 班级having count(学生.学号)>=5--(13)检索课程号和选修人数,查询结果按人数升序排列,若人数相同,按课程号降序排列。select 成绩.课程号, count(成绩.学号)as '人数' from 成绩,课程 where 成绩.课程号=课程.课程号group by 成绩.课程号order by count(成绩.学号) asc,成绩.课程号 desc这道题运用很多知识点,不但用了count 统计 还用了 group by 分组 外加排序--(14)查询选修课程学生的学号、姓名、所选课程号、取得的成绩 select 学生.学号,学生.姓名,成绩.课程号,成绩.成绩 from 学生,成绩 where 学生.学号=成绩.学号--(15)查询学生的学号、课程号和成绩等级select 学号,课程号,成绩,( CASE WHEN 成绩>=90 and 成绩=80 and 成绩=70 and 成绩=60 and 成绩(select max(年龄) from 学生 where 性别='女')group by 姓名,年龄--(19)计算选修了1号课程的学生的平均成绩(要求显示出课程号和对应的平均成绩)select 课程号,avg(成绩)as'平均成绩'from 成绩where 课程号='1'group by 课程号 --(20)查询选修课程学生的学号、姓名、所选课程名、取得的成绩 select 学生.学号,姓名,课程.课程名,成绩.成绩 from 学生,成绩,课程 where 学生.学号=成绩.学号 and 课程.课程号=成绩.课程号--(21)查询学生的学号、姓名、性别及所选修各门课程的成绩(要求每位学生用一个数据行显示这些信息)SELECT 学生.学号, 学生.姓名,学生.性别, (select 成绩 from 成绩 where 课程号='1' and 学生.学号=学号) as '数学', (select 成绩 from 成绩 where 课程号='2' and 学生.学号=学号) as '英语', (select 成绩 from 成绩 where 课程号='3' and 学生.学号=学号) as '计算机基础', (select 成绩 from 成绩 where 课程号='4' and 学生.学号=学号) as '数据库', (select 成绩 from 成绩 where 课程号='5' and 学生.学号=学号) as '政治', (select 成绩 from 成绩 where 课程号='6' and 学生.学号=学号) as '体育' FROM 学生 INNER JOIN 成绩 ON 学生.学号=成绩.学号GROUP BY 学生.学号, 学生.姓名,学生.性别--(22)查询李路路所学的课程名和对应的成绩,并按照成绩升序排列。select 姓名,课程名,成绩 from 学生,课程,成绩where 姓名='李路路'and 课程.课程号=成绩.课程号 and 学生.学号=成绩.学号 order by 成绩 --(23)查询平均成绩大于 75 分的课程,要求显示课程名和平均成绩。select 课程名,avg(成绩)as'平均成绩' from 课程,成绩where 课程.课程号=成绩.课程号 group by 课程名having avg(成绩)>=75--(24)查询所选课程平均成绩前三名的那些学生的姓名和平均成绩。select top 3 学生.学号,姓名,avg(成绩.成绩)as'平均成绩'from 成绩,学生 where 学生.学号=成绩.学号 group by 学生.学号,姓名 order by avg(成绩.成绩) desc--(25)查询和李工业在同一个班级的学号和姓名select 学号,姓名 from 学生where 班级 in (select 班级 from 学生 where 姓名='李工业')--(26)查询JW0831班中入学成绩比李里高的学生的姓名select 姓名 from 学生where 班级='JW0831' and 入学成绩>(select 入学成绩 from 学生 where 姓名='李里')--(27)在学生表中查询高于入学成绩平均分的学生学号、姓名、班级、入学成绩 select 学号,姓名,班级,入学成绩 from 学生where 入学成绩>(select avg(入学成绩)as'平均成绩'from 学生)--(28)查询没有选修课程的学生的学号和姓名select 学生.学号,学生.姓名 from 学生where 学号 not in(select 学号 from 成绩 group by 学号 )--(29)查询选修了 5(含5) 门以上课程的学生的姓名。select 姓名 from 学生,成绩,课程 where 成绩.课程号=课程.课程号 and 学生.学号=成绩.学号group by 成绩.学号,姓名having count(成绩.学号)>=5--(30)查找同名同姓的学生信息。select a1.* from 学生 a1,学生 a2where a1.姓名=a2.姓名 and a1.学号a2.学号星期四 天气 冷 心情 good 数据管理--(1)利用学生表创建一个新表(不含数据):优秀(学号,姓名,性别), --然后在学生表中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,--并把检索到的值送往优秀表中。select 学号,姓名,性别 into 优秀 from 学生where 5>6insert into 优秀 select 学号,姓名,性别 from 学生 where 学号 in (select 学号 from 成绩 group by 学号 having min(成绩)>=80 )--(2)把李路路同学的选课和成绩全部删去。delete from 成绩 where 成绩 in(select 成绩 from 学生,成绩 where 学生.学号=成绩.学号 and 姓名='李路路')--(3)把低于总平均成绩的女同学成绩提高5%。UPDATE 成绩 SET 成绩=成绩*(1+0.05) WHERE 成绩@aselect @p=(@a+@b+@c)/2.0,@s=round(sqrt(@p*(@p-@a)*(@p-@b)*(@p-@c)),2)else set @s=nullupdate 三角形 set s=@s where current of ybfetch next from yb into @a,@b,@c,@sendclose ybdeallocate yb心得体会时光匆匆,一个星期的实习已经接近尾声了,对于本次的实习心情就是轻松加愉快,收获也是硕果累累,在老师的安排下,实习的过程是根据每天老师给的任务,按时完成作业然后再把报告写完根据规划每天都有条不絮的干着自己的事情,对于我是一个不会安排时间的人,生活中重来没有规划,所以事情每次干完不是紧一阵就是松一阵的,所以通过这次实习中在老师的安排下,自己也懂得了安排时间的重要性,也从中吸取到了一些经验。在本次实习中我不仅把本学期学习的数据库基本知识进行了点到点的复习,也把它进行了巩固,在原来没有学好的地方通过本次的实习学的比以前学的更好,不仅如此,我们在做课程设计的时候还学会了独自的思考和协作,有些知识点我们运用的不是很好,但是后面再老实的帮助和在同学的探讨下,最后都把它解决了出来。除此之外,我也感觉到实习并不是因为完成任务而实习,它是为了让我们更好的掌握知识,并把知识运用到生活中去的,就像艺术一样,源于生活,而应用于生活一样。数据库的学习,也是为了以后生活中方便自己方便他人而学习的。由于每天紧张的课程,一路都是匆匆来匆匆去,所以一个班同学的交流也是很少的,通过实习所以同学之间交流的机会也就比较多了一点,比才的感觉也因此增进了不少,以上就是本次在实习中所得到的心得,至于没有感受到的,将在以后的生活中再次的吸取生活中的经验。来进行学习中的总结。

作业有什么要求

扫描二维码推送至手机访问。

版权声明:本文由PPT写作技巧发布,如需转载请注明出处。

本文链接:http://www.ppt3000.com/post/66250.html

分享给朋友:

相关文章