学生学籍信息管理系统设计数据库课程设计.doc

上传人:文库蛋蛋多 文档编号:2395328 上传时间:2023-02-17 格式:DOC 页数:38 大小:1.06MB
返回 下载 相关 举报
学生学籍信息管理系统设计数据库课程设计.doc_第1页
第1页 / 共38页
学生学籍信息管理系统设计数据库课程设计.doc_第2页
第2页 / 共38页
学生学籍信息管理系统设计数据库课程设计.doc_第3页
第3页 / 共38页
学生学籍信息管理系统设计数据库课程设计.doc_第4页
第4页 / 共38页
学生学籍信息管理系统设计数据库课程设计.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《学生学籍信息管理系统设计数据库课程设计.doc》由会员分享,可在线阅读,更多相关《学生学籍信息管理系统设计数据库课程设计.doc(38页珍藏版)》请在三一办公上搜索。

1、数据库原理课程设计专 业: 班 级: 学 号: 姓 名: 设计题目: 课程设计评分表姓 名班 级学 号课设题目指导教师评分项目满分分值得分设计文档(30分)文档格式封面2页面布局4目录格式3图表质量2页眉页脚2文档内容内容完整性6内容逻辑性5内容正确性6程序代码(30分)程序功能15编程规范7编程文档8答辩(20分)课题陈述7问题答辩10是否超时3考勤(20分)20总评成绩指导教师评语签名: 年 月 日教研室意见签名: 年 月 日课程设计答辩记录表教师提问学生答辩情况记录成绩答辩小组教师签名摘要本系统为学生学籍管理系统,是一个信息管理系统,其开发主要包括数据库的建立和维护以及前端应用程序的开发

2、两个方面。 经过分析,我使用了 MICROSOFT公司的 VISUAL BASIC 6.0开发工具,利用其提供的各种面向对象的开发工具, 开发了登录模块主要用于验证用户身份,进行有效的操作。在我们所开发的学生学籍管理系统中创建了两个用户教师管理员和学生,通过身份验证后方可进入。本系统还包含查询、插入、修改、删除等基本操作,在整个系统设计中充分利用了模块化的设计思想和开发方法,用户在从主界面模块在验证后进入每个子模块进行各个子系统的具体功能操作。在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成一个满意的可行系统。在下面的各章中我将以开发学生学籍管理系统,谈谈

3、其具体开发过程和所涉及到的问题及解决方法。目录第一章 系统概述1第二章 系统数据库设计部分22.1 需求分析22.1.1 需求描述22.1.2 数据流图32.1.3 数据词典52.2 数据库概念结构设计62.2.1 E-R图62.2.2 实体及属性的定义72.3 数据库逻辑结构设计92.3.1 初始关系模式92.3.2 规范化处理102.4 数据库物理结构设计102.4.1 基于SQL Server的数据表设计102.4.2 索引表112.4.3 角色132.4.4 视图142.5 数据库操作部分142.5.1 数据库的插入操作142.5.2 数据库的修改操作142.5.3 数据库的删除记录操

4、作152.5.4 数据库的备份及还原操作152.5.5 关系图172.6 系统(界面)设计部分182.6.1 数据录入、修改、删除界面设计202.6.2 数据查询与打印输出设计212.6.3 系统的维护、安全设计22第三章 总结23主要参考文献24附录一25附录二30第一章 系统概述数据库原理及应用课程的学习,其主要的目标是能利用课程中学习到的数据库知识与技术较好地开发设计出数据库应用系统,去解决各行各业信息化处理的要求。本实验主要在于巩固学生对数据库的基本原理和基础理论的理解,掌握数据库应用系统的设计开发的基本方法,进一步提高学生的综合运用所学的知识能力。为了使数据库的应用系统开发设计合理、

5、规范、有序、正确、高效进行,现在广泛采用的是工程化6阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系统运行与维护阶段。我们按照以上几点开发了学生学籍管理系统数据库。学生学籍管理系统要求读者较好的正我数据库知识与技术外,还要求读者掌握某种客户端开发工具或语言。这里是利用相对简单易学易掌握的Visual Basic6.0 开发工具来实现示例系统的。如果读者对该开发工具不熟悉,这里也无妨。这次课程设计能顺利通过是老师的细心指导和我们小组团结一致、努力的结果。在这次课程设计中每位同学都积极参与各项环节的设计,但我们也有分工。初步列出

6、如下:韩信元是用VB制作前台的界面;惠城旗和赵晓霞担任的工作是对系统的需求分析、构思数据流图、把E-R图转化成关系模型并对其进行规范化处理、用SQL语言建表、视图以及文档的初步编写等。刘方山和张熙磊的工作是负责画数据流图和E-R图,以及转化初始关系模型,和内容摘要等的编写。徐冰是我们组的组长,除对我们所制作单个模块审核外还担任了WORD文档的总结排版。这次数据库的课程设计让我们对数据库的操作有了进一步的了解,受益匪浅。第二章 系统数据库设计部分2.1 需求分析2.1.1 需求描述随着学校的普及和人们文化水平的提高,高效的教学管理系统越来越广泛应用于各类信息化学校。学生学籍管理系统要求实用性强、

7、使用方便、效率高和安全可靠等特点。经分析我们认为学生学籍管理系统的具体要求为:1.能全面管理学校教学相关的各类主体,如院系信息、教师信息、班级信息、学生信息、课程信息、专业信息等2通过使用计算机能方便的维护(包括插入、删除、修改)各信息表3能方便的实现基于多个表的连接查询4系统具有操作方便、简捷等特点因而,我们所开发的管理系统正是围绕以上几个方面进行的,在开发过程中充分考虑到本系统的应用特点,并进行了大量的检验,证明其的确达到了设计的要求。本文主要论述学生学籍管理系统的开发过程。2.1.2 数据流图请求结果正确信息输入请求更新请求更新结果输入请求核对结果待检验信息信息规范班主任正确信息输出结果

8、错误信息个人信息管理系统查询认证教务办P规则表信息规范输出结果输入请求教师输出结果学生输出结果输入请求查询信息处理标准查询表图2.1 数据流图(1)规范表修改请求规范表插入结果插入请求插入结果插入请求查询结果查询请求信息规范P2插入教务办P1查询规范表修改结果修改请求删除结果删除请求查询请求查询结果管理系统删除请求修改结果P3修改P4删除图2.2 数据流图(2)2.1.3 数据词典数据元素数据类型长度数据来源系编号varchar50院系表系名varchar50院系表主任工号varchar50院系表电话varchar50院系表专业号varchar50专业表专业名varchar50专业表班号var

9、char50班级表班名varchar50班级表人数varchar50班级表教师号varchar50教师表姓名varchar50教师表性别varchar50教师表学号varchar50学生表姓名varchar50学生表性别varchar50学生表出生年月smalldatetime8学生表籍贯varchar50学生表名族varchar50学生表政治面貌varchar50学生表院系varchar50学生表专业班级varchar50学生表照片image16学生表电话varchar50学生表课号varchar50课程表课名varchar50课程表学分float8课程表类别varchar50课程表开课院系

10、varchar50课程表任课老师varchar50课程表学时varchar50课程表成绩varchar50选课表效果varchar50讲授表2.2 数据库概念结构设计1n1 n m n1m n1 n 1 n 1 n院系含有包含专业老师班级包含讲授课程包含学生选课管理2.2.1 E-R图姓名性别政治面貌出生年月学号专业班级院系籍贯电话民族学生图2.3 系统实体及联系图照片学号姓名院系课号成绩成绩院系系编号系名主任工号电话图2.4 系统部分实体及其属性课号学分课名类别学时开课院系任课老师选课讲授工号课号效果图2.5 系统主要联系及其属性2.2.2 实体及属性的定义在此系统中实体有:院系、专业、班级

11、、教师、学生、课程联系有:选课、讲授属性以表的形式列出:表2.1 院系表属性名数据类型长度是否允许为空有无索引系编号varchar50不允许有系名varchar50允许无主任工号varchar50允许无电话varchar50允许无表2.2 专业表属性名数据类型长度是否允许为空有无索引专业号varchar50不允许有专业名varchar50允许无系编号varchar50不允许有表2.3 班级表属性名数据类型长度是否允许为空有无索引班号varchar50不允许有班名varchar50允许无人数varchar50允许无专业号varchar50不允许有教师号varchar50不允许有表2.4 教师表属

12、性名数据类型长度是否允许为空有无索引教师号varchar50不允许有姓名varchar50允许无性别varchar50允许无系编号varchar50不允许有表2.5 学生表属性名数据类型长度是否允许为空有无索引学号varchar50不允许有姓名varchar50允许无性别varchar50允许无出生年月smalldatetime8允许无籍贯varchar50允许无名族varchar50允许无政治面貌varchar50允许无院系varchar50允许无专业班级varchar50允许无照片Image16允许无电话varchar50允许无班号varchar50不允许有表2.6 课程表属性名数据类型长

13、度是否允许为空有无索引课号varchar50不允许有课名varchar50允许无学时varchar50允许无类别varchar50允许无讲课学时varchar50允许无开课院系varchar50允许无任课老师varchar50允许无学分varchar50允许无表2.7 选课表属性名数据类型长度是否允许为空有无索引学号varchar50不允许有课号varchar50不允许有成绩Float8允许无表2.8 讲授表属性名数据类型长度是否允许为空有无索引教师号varchar50不允许有课号varchar50不允许有效果Float8允许无2.3 数据库逻辑结构设计2.3.1 初始关系模式院系(系编号,系

14、名,主任工号,电话)专业(专业号,专业名,系编号)班级(班号,班名,人数,专业号, 教师号)教师(教师号,姓名,性别,系编号)学生(学号,姓名,性别,出生年月, 籍贯,民族,政治面貌,院系,电话,班号)课程(课号,课名,讲课学时,开课院系,任课老师,学分)选课(学号,课号,成绩)讲授(教师号,课号,效果)2.3.2 规范化处理经过对初始关系模式的规范化处理以下关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。(=代表主码,代表外码)院系(系编号,系名,主任工号,电话)专业(专业号,专业名,系编号)班级(班号,班名,人数,专业号, 教师号)教师(教师号,姓名,性别,系编号)学生(学号,

15、姓名,性别,出生年月, 籍贯,民族,政治面貌,院系,电话,班号)课程(课号,课名,讲课学时,开课院系,任课老师,学分)选课(学号,课号,成绩) 讲授(教师号,课号,效果) 2.4 数据库物理结构设计2.4.1 基于SQL Server的数据表设计用企业管理器建表,以学生表为例如下图所示:图2.6学生表(用SQL语言查询分析器建表代码见附录一)2.4.2 索引表列出索引表格(查询分析器建立索引代码见附录一)表2.9 院系索引表索引字段名称数据类型字段大小主索引系编号Varchar50无系名Varchar50有主任工号Varchar50无电话Varchar50表2.91 专业索引表索引字段名称数据

16、类型字段大小主索引专业号Varchar50无专业名Varchar50主索引系编号Varchar50表2.92 班级索引表索引字段名称数据类型字段大小主索引班号Varchar50无班名Varchar50无人数Varchar50主索引专业号Varchar50主索引教师号Varchar50表2.93 教师索引表索引字段名称数据类型字段大小主索引教师号Varchar50无姓名Varchar50无性别Varchar50主索引系编号Varchar50表2.94 学生索引表索引字段名称数据类型字段大小主索引学号Varchar50无姓名Varchar50无性别Varchar50无出生年月smalldateti

17、me8无籍贯Varchar50无名族Varchar50无政治面貌Varchar50无院系Varchar50无专业班级Varchar50无 照片image16无电话Varchar50主索引班号Varchar50表2.95 课程索引表索引字段名称数据类型字段大小主索引课号Varchar50无课名Varchar50无学时Varchar50无类别Varchar50无讲课学时Varchar50无开课院系Varchar50无任课老师Varchar50无学分float8表2.96 选课索引表索引字段名称数据类型字段大小主索引学号Varchar50主索引课号Varchar50无成绩Float8表2.97 讲授

18、索引表索引字段名称数据类型字段大小主索引教师号Varchar50主索引课号Varchar50无效果Varchar502.4.3 角色建立了教师和学生两个角色图2.7 角色(1)图2.8 角色(2)2.4.4 视图用企业管理器建立两个视图,即学生_成绩视图,教师_信息_成绩视图。菜单栏中单击工具 向导 数据库 创建视图向导,选择你所要建的试图的对象,选择列名,按照提示,最后单击完成即可。用查询分析器建立视图以学生_成绩视图(教师_信息_成绩视图的代码见附录一)为例代码如下:create view 学生_成绩asselect选课表.学号,姓名, 选课表.课号,课名,成绩from 选课表,学生表,课

19、程表where 学生表.学号 = 选课表.学号 and选课表.课号 = 课程表.课号2.5 数据库操作部分2.5.1 数据库的插入操作INSERT INTO (,) VALUES(,);例如:在学生表中插入一个新同学的相关信息(注:学号是主码,故不可以相同) INSERT INTO 学生表(学号,姓名,性别,出生年月,籍贯,政治面貌,名族,院系,电话)VALUES(34,丁一,女,1986年1月1号,北京,团员,汉族,信息工程系,07978056)2.5.2 数据库的修改操作UPDATE SET= WHERE;例如:在学生表中修改学号为08060505101的院系为人文科学系。UPDATE 学

20、生表 SET院系=人文科学系 WHERE 学号=080605051012.5.3 数据库的删除记录操作DELETE FROMWHERE;例如:删除学号为08060505135的相关信息DELETEFROM学生表WHERE 学号=080605051352.5.4 数据库的备份及还原操作使用 SQL Server 模糊备份和还原操作: 将包含数据的扩展盘区写入备份集,而无需考虑使备份期间正由用户修改的页同步。这显著减小了备份对当前用户的影响。还使备份得以串行地复制页。取消了所有随机读取,从而加快使用频繁的系统中的备份过程。但这同时也意味着备份中的页以一种不一致的、无法恢复的状态存储。 将事务日志作

21、为备份的一部分复制。 RESTORE 语句: RESTORE FILELISTONLY FROM DISK = c:Northwind.bak RESTORE DATABASE TestDB FROM DISK = c:Northwind.bak WITH MOVE Northwind TO c:testdb.mdf, MOVE Northwind_log TO c:testdb.ldf 如果数据库不存在,则创建数据库,并初始化数据库中的扩展盘区。如果 RESTORE 语句执行时数据库已存在,则可以跳过这一步。 复制备份集中的扩展盘区。因为所有的扩展盘区都按串行顺序排列,所以这个过程较快。将忽

22、略未在备份集中找到的扩展盘区;它们将不作为空的扩展盘区进行初始化。 使用事务日志恢复数据库。将日志中记录的数据修改前滚到日志末尾,然后回滚任何未完成的事务。这将使数据库返回到一致的已恢复状态,这种状态与数据库在 BACKUP 语句完成时的状态一致。 备份数据库BACKUP DATABASE Northwind TO DISK = c:Northwind.bak还原数据库-返回由备份集内包含的数据库和日志文件列表组成的结果集RESTORE FILELISTONLY FROM DISK = c:Northwind.bak-还原由BACKUP备份的数据库RESTORE DATABASE Northw

23、ind FROM DISK = c:Northwind.bak -指定还原后的数据库物理文件名称及路径RESTORE DATABASE TestDB FROM DISK = c:Northwind.bak WITH MOVE Northwind TO c:testtestdb.mdf, MOVE Northwind_log TO c:testtestdb.ldf MOVE logical_file_name TO operating_system_file_name指定应将给定的 logical_file_name 移到 operating_system_file_name。默认情况下,log

24、ical_file_name 将还原到其原始位置。如果使用 RESTORE 语句将数据库复制到相同或不同的服务器上,则可能需要使用 MOVE 选项重新定位数据库文件以避免与现有文件冲突。可以在不同的 MOVE 语句中指定数据库内的每个逻辑文件。 -强制还原,加上REPLACE参数,则在现有数据库基础上强制还原。RESTORE DATABASE TestDB FROM DISK = c:Northwind.bak WITH REPLACE, MOVE Northwind TO c:testtestdb.mdf, MOVE Northwind_log TO c:testtestdb.ldf2.5.

25、5 关系图图2.9 关系图2.6 系统(界面)设计部分基于VISUAL BASIC 6.0开发工具1:主窗体类型为“展示屏幕”,命名为frmSplash如下图所示:该窗体有两个作用,一为系统启动时的窗体,二为系统运行时的“关于.”窗体,而mbAbout即为标识若mbAbout为true, 则表示为系统启动时的窗体若mbAbout为false,则表示为系统运行时的“关于.”窗体2:接下来鼠标单击进入用户权限登陆界面,其为“登陆对话框”的;类型,命名为frmLogin。窗体的界面如下图所示:以上为老师的登陆界面,教师身份 如admin admin 见数据库的Admin表以上为其中之一的学生的登陆界

26、面 学生身份 以学生名字为用户名,学号为其密码如韩信元 08060505131 见数据库的Student表3:进入与SQL server 2000的连接界面。其数据库名为“xin”2.6.1 数据录入、修改、删除界面设计进入学生信息管理系统。其为“frmStudent”的窗体,如下图:该窗体的流程图如下图所示:学生记录列表查找学生记录列出某班级的学生记录浏览学生记录编辑学生记录添加学生记录删除当前学生记录以报表形式显示学生记录在该界面内,可以进行修改,编辑,添加等操作。由于时间的限制,不足的地方是“以报表形式显示学生记录”没完成,暂时实现不了。希望以后能够完成这个版块的功能。2.6.2 数据查

27、询与打印输出设计单击“自定义查询”按钮,将会出现自定义查询窗体frmFind。窗体的设计界面如下图所示:进入某个学生信息界面如下所示,其窗体为frmView。在该窗体下,学生只许可查看自己的信息,而且不能进行修改2.6.3 系统的维护、安全设计与SQL server 2000的具体连接如下图所示:第三章 总结经过这些天的设计和开发,学生学籍管理系统基本开发完毕。本系统基本能够完成学生学籍信息和学生的成绩的查询、插入、删除、修改等。这次的课程设计是分组讨论和制作的。在制作的过程中,我学到的不仅是知识,我还认识到许多事情。这次设计对我们的综合能力是一次很好的锻炼,使我的编程水平提高了一大步,同时也

28、使我充分的认识到合作的可贵。在我们所制作的学生学籍管理系统中,涉及到数据库、VB等,前台是用VB制作的,其中包括主界面和一些按扭等,后台用到的是我们所学的数据库的知识,建立了基本表和视图、角色等,权限在前台已经制作,故在后台不在重复。在后台中我们还简单的制作了数据库的备份与还原,用来防止数据库遭到破坏,可即时修改。最后按照谢老师的要求编写成文档,从中也对WORD的运用提高了一步。但是该系统还有许多不尽如人意的地方,比如用户界面与SQL语言的连接上并不是很完善,这是因为我们对VB不是很了解。还有就是由于我们对数据库知识的掌握有限和不牢固,角色和视图的创建没有想象中的完美,备份和还原也只是初步的形

29、成,以致学生学籍管理系统只是达到了基本要求,有待进一步改善,希望老师给予批评。最后,在这里我要衷心的感谢我们的指导老师谢晓云,谢老师严谨的指导态度与深厚的理论知识都让我受益非浅,从他身上我学到了很多的东西,无论是理论还是实践都使我的知识有很大的提高我们才能在短时间内顺利的完成这次课程设计。由于我们水平有限,因此在我们所设计的学籍管理系统中还有许多不足之处,请老师批评指正,我会在以后的制作中不断改进,不断完善。主要参考文献1数据库系统概论 作者:王珊 萨师煊 第四版 高等教育出版社 2006年2 Visual Basic6.0数据库系统开发实例导航 作者: 刘韬、骆娟、何旭洪3数据库原理及应用实

30、验指导 作者:钱雪忠 陶向东 北京邮电大学出版社 2005 附录一1用SQL语言分别建立院系表、专业表、教师表、班级表、学生、课程和选课表、讲授表。代码如下:院系表CREATE Table 院系表(系编号 varchar(50) not null primary key(系编号),系名 varchar(50),主任工号 varchar(50),电话 varchar(50)INSERT INTO 院系表 VALUES(05,信息工程系,1,07978);专业表CREATE Table 专业表(专业号 varchar(50) not null primary key(系编号),专业名 varcha

31、r(50),系编号 varchar(50),foreign key(系编号)references 院系表(系编号)教师表CREATE Table 教师表(教师号 varchar(50) not null primary key(教师号),姓名 varchar(50),性别 varchar(50),系编号 varchar(50),foreign key(系编号)references 院系表(系编号)班级表CREATE Table 班级表(班号 varchar(50)not null primary key(班号),班名 varchar(50),人数 varchar(50),专业号 varchar

32、(50),教师号 varchar(50),)学生表CREATE Table 学生表(学号 varchar(50) not null primary key(学号),姓名 varchar(50) not null,性别 varchar(50),出生年月 varchar(50),籍贯 varchar(50),民族 varchar(50),政治面貌 varchar(50),院系 varchar(50),专业班级 varchar(50),电话 varchar(50)INSERT INTO 学生表 VALUES(08060505101,赵晓霞,女,1985,河北省,汉族,预备党员, 信息工程系,计算机0

33、51,07978336522);INSERT INTO 学生表 VALUES(08060505102,张熙磊,男,1985,河北省,蒙古族,团员, 信息工程系,计算机051,13766353935);INSERT INTO 学生表 VALUES(08060505105,惠城旗,男,1986,江苏省,汉族,团员, 信息工程系,计算机051,13576799384);INSERT INTO 学生表 VALUES(08060505107,刘方山,男,1986,江西省,汉族,团员, 信息工程系,计算机051,0797);INSERT INTO 学生表 VALUES(08060505119,徐 冰,男,

34、1987,江西省,汉族,团员, 信息工程系,计算机051,0797);INSERT INTO 学生表 VALUES(08060505131,韩信元,男,1987,海南省,汉族,团员, 信息工程系,计算机051,0797);INSERT INTO 学生表 VALUES(08060505135,张 三,男,1987,海南省,汉族,团员, 信息工程系,计算机051,0797);课程表CREATE Table 课程表(课号 varchar(50) not null primary key(课号),课名 varchar(50),类别 varchar(50),学时 varchar(50) not null

35、,开课院系 varchar(50),任课老师 varchar(50),学分 float(8)INSERT INTO 课程表 VALUES( 1,计算机导论,理工,72,信息工程系,曹老师,4);INSERT INTO课程表 VALUES( 2,C语言 ,理工,72,信息工程系,徐老师,4.5);INSERT INTO课程表 VALUES( 3,C+ ,理工,72,信息工程系,陈老师,4);INSERT INTO 课程表 VALUES( 4,数据结构 ,理工,72,信息工程系,吴老师,5);INSERT INTO 课程表 VALUES( 5,数据库 ,理工,72,信息工程系,曾老师,4.5);I

36、NSERT INTO 课程表 VALUES( 6,计算机网络,理工,72,信息工程系,陈老师,4);INSERT INTO 课程表 VALUES( 7,中国近代史,理工,72,人文科学系,黄老师,4);选课表CREATE Table 选课表(学号 varchar(50) not null , 课号 varchar(50) not null,成绩 float(8),primary key(学号,课号)insert into 选课表 values(08060505101,5,92); insert into 选课表 values(08060505102,1,80); insert into 选课表

37、 values(08060505105,2,80); insert into 选课表 values(08060505107,7,85); insert into 选课表 values(08060505119,5,83); insert into 选课表 values(08060505131,6,90); insert into 选课表 values(08060505135,3,76);讲授表CREATE Table 讲授表(教师号 varchar(50)not null,课号 varchar(50)not null,效果 varchar(50),primary key(教师号,课号)2建立索引的代码create unique index

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号