数据库课程设计报告课题名称:学生选课系统专业:计算机科学与技术班级:计算机姓名:学号:指导老师:设计任务书指导教师(签章):年月日摘要:随着社会的进步,尤其是计算机技术与网络的发展,人们对于数据传输,远程控制的实时性要求越来越高,这就使得计算机技术的发展越来越面向网络。
现代学校管理无疑成为网络应用的典型代表,学生在校期间需要进行大量课程的学习,除学校安排的基本课程之外,还要进行部分选修课的学习。
为了达到选课的方便、快捷,高等学校都提供网上选课平台供学生使用。
本次课程设计选做学生选课系统就是建立在面向网络的基础之上,选用Visual Studio 2008 开发工具和SQL Server2005 数据库。
所开发出的系统能够方面学生选课、教师查询和管理员管理。
具有较强的实时性,在面向网络的基础上可以方便在外用户进行各种操作。
关键词:面向网络;数据库;方便目录1 需求分析 (1)1.1 系统目标 (1)1.2 系统功能需求 (1)2 数据库概念设计 (1)2.1 系统概念模型 (1)3 将概念模型转换为关系模型 (2)3.1 将E-R模型转换为关系模型 (2)3.2 数据库结构设计 (3)3.3 实现数据完整性 (4)4 应用程序设计 (4)4.1 学生选课系统处理流程图 (4)4.2 总体结构和外部结构设计 (4)5 编程实现 (5)5.1 Login.aspx (5)5.2 Student.aspx (5)5.3 Teacher.aspx (6)5.4 guanliyuan.aspx (6)5.5 Acourse.aspx (7)5.6 Ateacher.aspx (7)5.7 Astudent.aspx (7)5.8 Password.aspx (7)总结 (9)致谢 (10)参考文献 (11)1 需求分析1.1 系统目标实现一个学生选课系统,完成学生选课及查询、教师查询选课、管理员管理选课等功能。
1.2 系统功能需求本系统的用户分为普通用户和管理员两类,普通用户包括教师和学生两种。
管理员。
普通用户即选课学生则只具有为自己选课的权限。
1.2.1 功能划分学生选课系统,在登录模块之后,根据系统用户的不同划分为四个模块:管理员模块、学生模块、教师模块和公共模块。
1.2.2 功能描述(1)登录模块登录模块用于用户登录,完成基本的验证。
根据所填信息进行判断,用户名错误进行用户名错误提示,密码错误进行密码错误提示。
(2)管理员模块管理员模块用于对系统进行管理,对学生信息进行修改、添加、删除。
对教师信息进行添加、修改、删除。
添加管理员,发布通知。
(3)学生模块学生登录后在此模块进行选课、查看选课信息。
(4)教师模块教师登录后,点击相关课程,进行查看该课程选课情况。
(5)公共模块公共模块即为密码修改模块,用户填写账号、原密码后,两次填写新密码进行修改密码。
2 数据库概念设计2.1 系统概念模型图2-1学生选课系统概念模型E/R图上图是学生选课系统概念模型E/R图,该系统所涉及的实体集有:学生实体集:具有属性学号、姓名、班级。
教师实体集:具有属性教师号、姓名、班级。
管理员实体集:具有属性账号、密码。
一个学生可以选修多门课程,一个教师可以开设多门课程。
所以学生和教师之间是M:N的联系。
一个管理员可以管理多个学生信息。
所以管理员和学生之间是1:N的联系。
多个管理员可以管理多个教师信息。
所以管理员和教师之间是M:N的联系。
3 将概念模型转换为关系模型3.1 将E-R模型转换为关系模型学生实体集可转换为关系:Student(SNo,SPass,SName,SClass)SNo表示学号,SPass表示密码,SName表示学生姓名,SClass表示学生所在班级。
教师实体集可转换为关系:Teacher(TNo,TPass,TName,TCollege)TNo表示教师号,TPass表示密码,TName表示教师姓名,TCollege表示教师所在院系。
管理员实体集可转换为关系:AUser(UName,UPass)UName表示管理员号,UPass表示密码。
教师与课程之间可转换为关系:Course(CName,CTNo,CInfo)CName表示课程名称,CTNo表示授课教师教师号,CInfo表示课程相关信息。
学生和课程之间可转换为关系:Elect(SNo,CName)SNo表示学生学号,CName表示说选课程名称。
3.2 数据库结构设计把关系模型转化为表结构:学生信息表(Student):包含学生信息,定义如下:表3-1学生信息表域名含义数据类型例子备注SNo 学号Char(12)1071301217 主键SPass 密码Char(12)123456SName 姓名Char(8)李守雨SClass 班级Char(20)计算机1072教师信息表(Teacher):包含教师信息,定义如下:表3-2教师信息表域名含义数据类型例子备注TNo 教师号Char(12)2071301217 主键TPass 密码Char(12)123456TName 姓名Char(8)里昂TCollege 院系Char(20)计算机工程系管理员信息表(AUser):包含管理员信息,定义如下:表3-3管理员信息表域名含义数据类型例子备注UName 账号Char(12)Admin 主键UPass 密码Char(12)123456课程信息表(Course):包含课程信息,定义如下:表3-4课程信息表域名含义数据类型例子备注CName 课程名称Char(20)计算机网络主键CTNo 教师号Char(12)2071301217CInfo 课程信息Char (500) 计算机网络介绍允许空选课信息表(Elect):包含选课信息,定义如下:表3-5选课信息表域名含义数据类型例子备注SNo 学号Char(12)1071301217 外键CName 课程名称Char (20) 计算机网络介绍外键3.3 实现数据完整性通过各种约束,缺省,规则和触发器实现数据的完整性。
学生选课信息的重要性,和各个数据之间的相关性,保证数据的完整性就更为重要。
(1)各种外键约束保证数据的完整性,不能随意删除。
外键的设置在上面数据库建表时已经提到。
(2)主键约束保证实体的完整性,主键的设置在上面数据库建表时也已经设置。
4 应用程序设计4.1 学生选课系统处理流程图图4-1学生选课系统处理流程图4.2 总体结构和外部结构设计图4-2总体结构图5 编程实现5.1 Login.aspx图5-1登陆界面这是用户登录界面,在下拉列表中选择学生进入Student.aspx ,选择教师进入Teacher.aspx ,选择管理员进入guanliyuan.aspx 。
5.2 Student.aspx登录模块学生选课模块教师查看选课模块管理员模块密码修改模块图5-2学生选课页面这是学生选课页面,点击选修,所选课程信息将出现在已选课程中;点击退选,所点信息将出现在可选课程中;点击修改密码进入Password.aspx;点击注销返回进入Login.aspx。
5.3 Teacher.aspx图5-3教师查看选课情况页面这是教师查看选课情况页面,点击下拉列表框,查看选修该门课程的学生;点击修改密码进入Password.aspx;点击注销返回进入Login.aspx。
5.4 guanliyuan.aspx图5-4管理员页面这是管理员管理信息界面,点击管理学生信息,进入Astudent.aspx,进行学生管理。
点击管理教师信息,进入Ateacher.aspx,进行教师管理。
点击管理课程信息,进入Acourse.aspx,进行课程管理。
点击修改管理员密码,进入Password.aspx,进行密码修改。
管理员还可以添加管理员和发布通知信息。
5.5 Acourse.aspx图5-5管理员管理课程信息页面这是管理员管理课程信息的界面,进行添加、删除课程信息。
点击返回,返回到guanliyuan.aspx。
5.6 Ateacher.aspx图5-6管理员管理教师信息页面这是管理员管理教师信息页面,进行添加、修改、删除教师信息。
点击返回,返回到guanliyuan.aspx。
5.7 Astudent.aspx图5-7管理员管理学生信息页面这是管理员管理学生信息页面,进行添加、修改、删除学生信息。
点击返回,返回到guanliyuan.aspx。
5.8 Password.aspx图5-8修改密码页面这是修改密码页面,点击返回,返回到guanliyuan.aspx。
总结在本次的数据结构课程设计中,我完成了学生选课系统的课程设计。
通过本次数据库课程设计,达到了理论与实践的相结合,加深了对数据库理论知识理解,也进一步掌握了选用的开发语言及开发平台。
在本次课程设计过程中,在需求分析方面,学生选课系统要求界面友好、简明易懂、操作简单。
数据库设计方面,学生选课系统要求有严谨的数据一致性,需主键、外键并用。
最后是代码编写实现,选用面向网络的开发工具机语言,方便了用户进行各种操作。
在代码的编写过程中,用到了数据库的插入、修改和删除语句,在具体的开发环境中使用数据库语言是对编程能力的进一步提高。
通过本次数据库课程设计,我学到了很多书本上学不到的知识以及上课接触不到的东西,也更加认识到网络对工作学习的重要性。
此次课程设计积累的经验对以后项目系统的开发会有很大的帮助。
致谢在本次课程设计的过程中,我遇到了很多的困难的,但是在老师和同学的帮助之下,我完成了此次课程设计。
我首先要感谢任课老师,是他让我们第一次接触了数据库这门课程,虽然这次我并没有应用太多课上的知识,但从其他同学的课程设计中,我还是感觉到这门课的巨大用处。
经过这次数据库课程设计,我收获了很多,指导老师认真负责的工作态度,严谨的治学精神和深厚的理论知识都使我学到了好多书本上学不到的知识。
无论在理论上还是在实践中,都给与我们很大的帮助,使我得到很大的提高,这对于我以后的工作和学习都有很大的帮助,在此感谢他们耐心的辅导。
此外还要感谢淮阴工学院、计算机工程系提供的实践机会,实验室人员提供的良好实验环境。
还有就是要感谢同学给与的帮助,感谢他们陪同我一起参考资料,一起讨论问题,共同走过了充足的一周。
最后还要感谢图书馆提供的参考资料。
参考文献1 刘金岭,冯万利,张有东.数据库原理及应用. 北京:清华大学出版社,20092 丁宝康,董健全. 数据库实用教程. 北京:清华大学出版社,20013 萨师煊,王珊. 数据库系统概论. 第二版. 北京:高等教育出版社,2000.24 陈志泊数据库应用程序开发.北京:人民邮电出版社,20055 万科,覃剑.Visual C#.NET程序设计基础.北京:清华大学出版社,2007指导教师评语。