1、武汉理工大学华夏学院课程设计课程名称数据库原理课程设计题目毕业设计管理子系统数据库设计学号 10210411130班级 计算机1111班姓名 成绩 _指导教师 刘 春 燕2014 年6 月3 日至2014年6月6日课程设计任务书设计题目:毕业设计管理子系统数据库设计设计目的:1. 学会分析研究数据对象的特性;2。 学会数据的组织方法;3。 选择合适的数据的存储结构以及相应操作,把现实世界中的问题转换为计算机内部的表示和处理; 4. 提高学生的运用能力、 提高数据库设计素质 ;设计任务:(在规定的时间内完成下列任务)1。毕业设计管理:为指导老师分配毕业生,设置有效期限(如各阶段设计的提交期限),
2、公布毕业设计公告、要求等。2.毕业生管理:毕业生信息(系别、班级、学号、专业等)的维护和查询.毕业生可根据指导老师研究方向,选择毕业设计题目,在有效期限内提交设计内容(如开题报告、中期检查报告、毕业设计终稿等),参看指导老师评语.3。指导教师管理:指导教师信息的维护(研究方向、联系方式等),指导教师可查看所属毕业生的毕业设计进度,并对毕业生提交的每阶段的设计内容进行批阅,给出毕业设计成绩。4。查询统计:按系别、班级指导老师等统计信息(如选题情况、设计成绩等)。 具体要完成的任务是:A. 编制完成上述问题的数据库设计并能得出正确的运行结果。B。 采取统一格式:有问题描述、基本要求、测试数据及实现
3、方法等组成写出规范的课程设计说明书;时间安排 6月3日 布置课程设计任务;6月4日 分配题目后,查阅资料、 准备程序; 6月5日 上机调试程序、书写课程设计报告;6月6日 下午提交课程设计报告及相关文档具体要求课程设计报告按统一通用格式书写,具体格式要求请在网络上查阅;每位学生应独立完成各自的任务;指 导 教 师 签 名: 14 年 5月28 日教研室主任(或责任教师)签名: 14 年 5月28日1.背景随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管
4、理信息系统在大规模的事务处理和对工作流的管理等方面的应用。而这次课程设计的内容就是设计一个毕业设计管理子系统,模拟毕业设计的信息管理工作. 数据库原理已成为软件工程和计算机科学与技术专业的一门重要的必修专业课程,也是现代计算机软件技术人员所必须掌握的基本理论和技术。 本课程着重介绍数据库系统的基本原理和设计方法,特别使目前应用最为广泛的关系数据库系统的原理和相关技术, 使学员在掌握数据库基本原理的基础上,学会关系数据库应用系统的设计技术,培养应用数据库技术解决计算机应用中实 际问题的能力,并为今后从事数据库理论教学和应用系统的开发工作打下良好的基础。2。系统分析2。1设计环境介绍SQL Ser
5、ve 20052。2主要功能1。毕业设计管理:为指导老师分配毕业生,设置有效期限(如各阶段设计的提交期限),公布毕业设计公告、要求等。2。毕业生管理:毕业生信息(系别、班级、学号、专业等)的维护和查询.毕业生可根据指导老师研究方向,选择毕业设计题目,在有效期限内提交设计内容(如开题报告、中期检查报告、毕业设计终稿等),参看指导老师评语。3。指导教师管理:指导教师信息的维护(研究方向、联系方式等),指导教师可查看所属毕业生的毕业设计进度,并对毕业生提交的每阶段的设计内容进行批阅,给出毕业设计成绩。4。查询统计:按系别、班级指导老师等统计信息(如选题情况、设计成绩等).3。逻辑结构分析3。1设计局
6、部E-R图模式教师(教师编号,研究方向,姓名,电话号码,系别)毕业生(学号,姓名,性别,教师编号,系别)题目(教师编号,题目名称,分数)3。2评价范式由于此数据库不存在传递依赖和部分依赖,所以该数据库系统属于BCNF。4。物理结构分析毕业设计管理子系统的数据库物理结构设计主要是建立一个最适合的应用要求的物理结构过程。为了加速表的查询,建立索引.通过索引来提高数据查询性能。因为在MS SQL SERVER2005中为所设立的主码自动建立索引,所以这里不用建立索引。5。概念结构分析5。1总体E-R图毕业生题目教师选择出设指导11n1n1系别性别教师编号学号教师编号电话号码系别研究方向教师编号题目名
7、称姓名姓名分数图41 总体E-R图6.数据库实施及应用程序编制用MS SQL SERVER2005建立数据库结构,加载(测试/虚拟)数据,能体现对数据库的保(安全性和完整性控制等).实现各种查询、链接应用程序,并能对数据库做简单的维护操作。6。1 建立数据库CREATE DATABASE 毕业设计管理子系统6.2 创建教师表create table teacher(cpo char(20) primary key,cname char(20),tel char(20),credit char(20),major char(20),dep char(20)教师表初始化如下: 图51 教师初始化图
8、教师表结果如下: 图52 教师结果图6。3 创建毕业表create table student(sno char(20) primary key,sname char(20),sex char(20),cpo char(20),dep char(20),foreign key (cpo) references teacher(cpo))毕业生表初始化如下: 图53 毕业生初始化图毕业生表结果如下: 图54 毕业生表图6.4 创建题目表create table title(cpo char(20), reseach char(100),sno char(20),grade int,primary
9、 key(cpo,sno),foreign key (sno) references student(sno))题目表初始化如下: 图5-5 题目表初始化图题目表结果如下: 图56 题目表图7。 运行结果显示7.1查询每个老师带几个毕业生代码如下:select cpo,count() from titlegroup by cpo查询结果如下: 图6-1 毕业生个数图7.2查询每个系有几个设计题目代码如下:select dep,count()from teacher,titlewhere teacher。cpo=title。cpo group by dep显示结果如下: 图6-2 设计题目个数图
10、8。心得体会通过本次课程设计,我初步完成了毕业设计管理子管理系统,但并没有达到我一开始所预想的结果。总结这次课程设计,我对数据库这门课有了更深入的了解,本来模糊不清的知识,如ER图的概念和画法,ER图的作用,在老师和同学的帮助下,都基本学会了.我清楚的认识的,在学习数据库时,光有理论知识是不够的,表格、索引等的创建,都要建立在对可设题目的深刻认识的基础上。通过对课程设计要求的分析,我也初步理解一个软件工程的开发流程及发展思路。最重要的是,课程设计培养了我分析问题,总结归纳问题的能力.这次课程设计不是一帆风顺的,我体会到了失败的沮丧以及成功的喜悦,我通过自己所犯的错误,重新对脑海里所掌握的知识进
11、行审理,进行了纠正,这些都是书本上学不来的。刚开始做的时候,一点头绪都没有,我觉得这样下去是不行的,我大胆地向老师请教,老师详细地跟我讲了设计的思路。她首先教我怎么样画ER图,讲解了教师,毕业生,题目这三个实体之间的联系,她还教我怎样建表。在刘老师的指导下,我有了思绪,开始设计起来。花了一下午的时间,三张表终于建好了,当然这也离不开同学的帮助,在建表的过程中我遇到了很多的问题,例如这三张表中,哪些属性要设置主键和外键的,怎样查询教师和毕业生以及题目的个数等等。这次的课程设计,由于时间以及知识上的不足,我并没有完全完成任务书上的要求,整个系统的增、查、改、统计都需要进入SQL Server 20
12、05,通过修改语句进行,而且有一些功能也过于简单,不能完全满足题目的要求,我会继续努力学习知识,完善自我,进一步努力去改进系统,使其更符合实际的使用要求。总之,这次的课设我的收获很大的,在这次课程设计中本课程设计由我一个人来完成,深深的感受到了一个人力量的单薄,了解到了在完成一个完整的项目上团队的重要性,在实际的程序开发中,团队的力量往往比个人力量之和要大上很多,并且在今后的开发中,我们都将是以团队的形式展开工作的,所以我们应该在现在学习的时候养成一种良好的团队精神,以为将来的开发打下一顶的基础。9.参考资料1萨师煊,王珊数据库系统概论(第四版)北京:高等教育出版社, 2006年5月2案例教程
13、 廖望 何俊 谢春旺等编著 冶金工业出版社 10。附录源程序代码:CREATE DATABASE 毕业设计管理子系统ON primary( NAME = 毕业设计管理子系统, FILENAME = d:sqllibrarysystem.mdf, SIZE = 100mb, MAXSIZE = 200mb, FILEGROWTH = 10mb )LOG ON( NAME = 论文, FILENAME = d:sqllibrarysystem。ldf, SIZE = 50MB, MAXSIZE = 100MB, FILEGROWTH = 5MB )GOcreate table student(sn
14、o char(20) primary key,sname char(20),sex char(20),cpo char(20),dep char(20),foreign key (cpo) references teacher(cpo)drop table studentcreate table teacher(cpo char(20) primary key,cname char(20),tel char(20),credit char(20),major char(20),dep char(20))drop table teacherdrop table studentdrop table
15、 titlecreate table title(cpo char(20), reseach char(100),sno char(20),grade int,primary key(cpo,sno),foreign key (sno) references student(sno)select from titleinsert into student(sno,sname,sex,cpo,dep) values(001,小强,男,01,信息工程系)insert into student(sno,sname,sex,cpo,dep) values(002,小宁,男,02,信息工程系)inser
16、t into student(sno,sname,sex,cpo,dep) values(003,莉莉,女,03,信息工程系)insert into student(sno,sname,sex,cpo,dep) values(004,小丽,男,04,信息工程系)insert into student(sno,sname,sex,cpo,dep) values(005,小梁,男,05,化药工程系)insert into student(sno,sname,sex,cpo,dep) values(006,小齐,男,05,化药工程系)insert into student(sno,sname,sex
17、,cpo,dep) values(007,小李,女,06,化药工程系)insert into student(sno,sname,sex,cpo,dep) values(008,小张,女,06,化药工程系)insert into student(sno,sname,sex,cpo,dep) values(009,小彭,女,07,外语系)select from studentdelete from student where sname=小强delete from teacher where cpo=01insert into teacher values(01,梁海传,13237139958,
18、4,语言程序设计,信息工程系)insert into teacher values(02,付云,13237135548,1,高等数学,信息工程系)insert into teacher values(03,刘春燕,13237139758,2,数据库原理,信息工程系)insert into teacher values(04,安盼盼,15537139958,2,大学英语,化药工程系)insert into teacher values(05,曾高峰,15237039958,3,java语言程序设计,化药工程系)insert into teacher values(06,黄哲云,155370399
19、58,3,大学英语,外语系)insert into teacher values(07,陈德礼,1577039958,1,就业指导方向,外语系)insert into title values(01,图书管理系统,001,80)insert into title values(01,图书管理系统,002,70)insert into title values(01,图书管理系统,003,75)insert into title values(02,网上投票系统,005,75)insert into title values(01,网上投票系统,004,75)insert into title
20、values(03,售票管理系统,006,78)insert into title values(03,售票管理系统,007,95)insert into title values(04,毕业设计管理系统,008,80)insert into title values(04,毕业设计管理系统,009,80)insert into title values(05,毕业设计管理系统,009,95)insert into title values(06,毕业设计管理系统,009,80)insert into title values(07,毕业设计管理系统,009,80)delete from ti
21、tle where sno=003select *from teacherselect * from titleselect from studentselect * from title,studentwhere title。sno=student。sno and sname=小强select from title,studentwhere title。sno=student。sno and sname=小丽select * from student,teacherwhere student。cpo=teacher.cpo and cname=刘春燕select from title,tea
22、cherwhere title。cpo=teacher.cpo and reseach=网上投票系统select dep,count() as 教师人数from teachergroup by depselect dep,count(*) as 题目数select from studentselect from teacherselect from titleselect cpo,count() from titlegroup by cposelect dep,count()from teacher,titlewhere teacher。cpo=title.cpo group by dep设计过程中质疑(或答辩)记载:1. 怎样查询每个老师带几个毕业生?答:代码如下:select cpo,count() from titlegroup by cpo2. 怎样查询每个系有多少个毕业设计题目?答:代码如下:select dep,count()from teacher,titlewhere teacher。cpo=title。cpo group by dep指导教师评语:签名: 14 年 6 月 6 日7
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100