学生信息管理系统数据库课程设计报告.docx
《学生信息管理系统数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统数据库课程设计报告.docx(24页珍藏版)》请在冰豆网上搜索。
学生信息管理系统数据库课程设计报告
课程设计报告
学生:
学号:
学院:
班级:
题目:
学生信息管理系统
指导教师:
职称:
2013年7月5日
1概述2
1.1课题研究的背景及意义2
1.2国外研究现状2
2系统分析4
2.1系统功能描述4
2.1.1课程管理模块4
2.1.2学生信息管理模块5
2.1.3学生成绩管理模块5
2.1.4用户登录管理模块6
2.2表结构实现6
2.2.1学生信息表7
2.2.2学生课程表7
2.2.3学生成绩表7
2.2.4用户表8
2.3数据存储分析:
实体联系图8
3数据库逻辑设计10
4数据库实现11
4.1程序设计11
4.1.1程序设计原则11
4.1.2程序语句的数据库实现11
4.2系统运行操作13
4.2.1学生对系统的运行操作13
4.2.2教师对系统运行操作14
4.2.3建立视图15
5课设总结17
参考文献18
附程序代码19
1概述
1.1课题研究的背景及意义
该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.
目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作
学生信息管理系统是一个教育单位不可缺少的部分。
一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:
效率低、性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.例如:
检索迅速、查询方便、效率高、可靠性好、存储量大、性好、寿命长、成本低等。
这些优点能够极提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。
1.2国外研究现状
学生成绩管理是各大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,学生成绩日常管理工作及保存管理日趋繁重、复杂。
迫切需要研制开发一款功能强大,操作简单,具有人性化的学生成绩管理系统。
在国外高校,与国不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。
而国高校信息化建设相对起步较晚。
在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。
但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国高校教务管理系统在机构设置、服务围、服务质量及人员要求上与国外高校相比都有一定的差距。
纵观目前国研究现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。
因此,教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。
2系统分析
学生信息管理系统主要模块包括学生基本信息管理,学生选课管理,学生成绩管理和系统服务模块。
下面对系统模块和功能进行概述:
2.1系统功能描述
学生信息系统主要有4个功能模块,下图为系统总功能层次图
图2-1系统功能图
2.1.1课程管理模块
该模块对各个班级各个学期的课程进行设置,方便了学校教务处的教学管理人员的工作。
该模块包括课程的增加和课程信息的浏览,其中课程信息浏览窗体中包括课程的修改,删除,打印功能。
图2-2课程管理功能图
2.1.2学生信息管理模块
该模块对全体学生信息进行管理,包括学生信息的添加和学生信息的浏览,其中学生信息浏览窗体中包括课程的修改,删除,打印,查询功能。
图2-3学生信息管理功能图
2.1.3学生成绩管理模块
该模块主要是实现对学生成绩的录入查询工作,包括:
学生成绩的录入,学期成绩浏览,学生成绩查询,班级成绩查询,违规信息的增加及浏览。
学生成绩管理
成绩浏览
成绩录入
学生成绩查询
班级成绩查询
删除
修改
退出
统计
打印
退出
打印
退出
图2-4学生成绩管理功能图
2.1.4用户登录管理模块
此模块包括学生登录和教师登录,其功能主要是学生对自己信息和成绩的查询,教师对学生信息和成绩的管理。
图2-5用户登陆管理
2.2表结构实现
根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据结构:
2.2.1学生信息表
表名称标识:
Student_course表
数据来源:
学生成绩录入模块进行录入。
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Sno
char
13
P
Notnull
学号
Sname
char
20
Notnull
Ssex
char
2
Notnull
性别
Snation
char
8
Notnull
民族
Sclass
char
4
Notnull
班级
Sage
smallint
Notnull
年龄
Entrance_date
smalldatetime
Notnull
入学时间
specialty
char
20
Notnull
所学专业
表2-1学生信息表
2.2.2学生课程表
表名称标识:
Course表
数据来源:
课程管理模块进行录入
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Cno
Char
4
P
Notnull
课程号
Cname
Char
20
Notnull
课程名
Techer
Char
20
Notnull
任课教师
Ccredit
Smallint
Notnull
学分
表2-2学生课程表
2.2.3学生成绩表
表名称标识:
SC表
数据来源:
学生成绩录入模块进行录入。
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Cno
char
4
Pf
Notnull
课程号
Sno
char
13
Pf
Notnull
学号
Grade
Smallint
成绩
SC_semester
Smallint
Notnull
学期
表2-3学生成绩表
2.2.4用户表
表名称标识:
Syuser表
数据来源:
权限管理模块进行录入
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
User_id
char
13
P
Notnull
用户编号
User_role
char
10
Notnull
用户角色
Password
char
8
Notnull
密码
表2-4用户表
2.3数据存储分析:
实体联系图
1.数据模型设计。
首先来做出学生成绩管理模块的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。
2.再分析三个实体之间的联系。
首先,这三个实体不是一个统一体,学生成绩与教师没有在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。
课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。
而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。
因为成绩既不是学生独有的,也不是课程独有的;“学生甲80分”或“英语80分”是不完全的,说“学生甲英语80分”才是正确的,因为80分是学生甲和英语课二者共有的。
这个E-R图可画成下图。
教师,学生与课程的E-R图组合到一起,得到最后的E-R图,有了E-R图,就可以设计数据库。
下图为数据模型图。
图2-8系统E-R图
3数据库逻辑设计
关系模型的逻辑结构是一组关系模式的集合。
E-R图则由实体、实体的属性和实体之间的联系三个要素组成的。
所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式,如下:
1.用户表:
用户编号,用户角色,用户密码。
2.学生信息表:
学号,,性别,民族,班级,年龄,入学时间,所学专业。
3.学生课程表:
课程号,课程名,任课教师,学分。
4.学生成绩表:
课程号,学号,成绩,学期。
图3-1关系模型
4数据库实现
4.1程序设计
4.1.1程序设计原则
程序设计采用自顶向下的原则,先把程序高度概括,看作是一个简单的控制结构,即功能结构。
把模块进一步分解成若干个较低一层的模块,对扩展出来的每一个下层模块进一步分解,直到最低一层的每一个模块都非常简单、功能很小,能够很容易地用程序语句实现为止。
在设计中还要遵循一致性、可重用性、可维护性,本系统的程序变量和程序对象以及数据库表等在各个模块中具有一致的命名规则。
为系统的快速开发及以后的维护都带来方便。
程序设计中的可重用性可大大提高程序开发和维护的效率。
通过对控件和函数的调用,对象的继承封装,减少了代码的重复书写,并减少了数据冗余。
在程序设计中,考虑到程序的修改及以后的维护,尽量在代码中使用注释,对部分程序尽量使用函数和控件,这样就只需要维护很少的代码且具简单性,可提高维护效率。
4.1.2程序语句的数据库实现
1.数据库建立
程序语句:
CREATEDATABASEyk
Go
图4-1数据库建立
2.表的建立
(1)用户表程序语句:
Useyk
go
CREATETABLESyuser
(User_idCHAR(13)PRIMARYKEY,
PasswordCHAR(8),
User_roleCHAR(10)
)
Go
图4-2用户表建立
(2)学生信息表程序语句:
CREATETABLEStudent
(SnoCHAR(13)PRIMARYKEY,
SnameCHAR(20)UNIQUE,
SsexCHAR
(2),
SageSMALLINT,
SnationCHAR(8),
SclassCHAR(20),
Entrance_dateSMAL