您的当前位置:首页正文

数据库学生学籍管理系统

来源:二三四教育网
目

一、系统定义 .............................................................................................. 二、需求分析 ..............................................................................................

1、系统综合需求 ............................................................................ 2、系统逻辑模型 ............................................................................ 三、系统设计 ..............................................................................................

1、概念结构设计 ............................................................................ 2、逻辑结构设计 ............................................................................ 3、系统功能设计 ............................................................................ 四、详细设计 ..............................................................................................

1、开发平台及工具 ........................................................................ 2、数据库的创建和链接 ................................................................ 3、编码设计 .................................................................................... 4、界面设计 .................................................................................... 五、课程设计总结 ...................................................................................... 六、参考文献 .............................................................................................. 七、评分表 ..................................................................................................

一、系统定义

在学籍管理中,需要从大量的日常教学活动中提取相关信息,以反映教学情况。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避

免重复劳动,规范教学管理行为,从而提高了管理效率和水平,此外,现今学籍管理的繁索给具有强烈时间观念的行政人员带来了诸多不便,教学办公室缺少一种完善的学籍管理软件,为了对学生档案,学生信息的管理方便,因此开发了本软件。

二、需求分析 1、系统综合需求

⒈ 系统需求分析

需求分析是数据库系统设计的一个重要的环节。本阶段应该对整个应用情况作全面的、详细的调查,确定特定数据库应用环境下的设计目标,收集该应用环境下针对系统设计所需要的基础数据以及对这些数据的具体存储要求,从而确定用户的需求。用户对数据库的需求包括: ⑴ 处理需求

1、实现学生基本情况的录入,修改,删除等基本操作。 2、对学生基本信息提供灵活的查询方式。 3、完成一个班级的学期选课功能。

4、实现学生成绩的录入,修改,删除等基本操作。 5、能方便的对学生的个人学期成绩进行查询。 6、具有成绩统计,排名等功能。

7、具有留级,休学等特殊情况的处理功能。 8、能输出常用的各种报表。 9、具有数据备份和数据恢复功能。 ⑵ 信息需求

需要存储学生基本信息、课程、专业信息、课程设置信息、学生选课信息、管理人员的密码信息。

⑶ 安全性和完整性功能

设置身份密码验证登陆,进行数据维护,数据备份。

2、系统逻辑模型

1.数据流图:

第一层

学生名单 学 生 学生信息 教 师 学籍管理系统 成绩 统计表 成绩单

管理人员 学 生 第二层

学生信息 1 .录入 2 .查询 成绩

学生记录 存储处理 处理本次考试成绩 历次考试成绩

班平均成绩 3 .统计 4 .升留级 升留级表

处理 各科平均成绩 处理 第三层

学生信息 合格单 新生信息 1.3录入存储学审计1.1 1.2是否新生 生信息各科成绩学生信息 学生成绩 第四层 班级平均 班级 成绩3.1 学生信息 统计选择3.1 统计成绩 各科 各科平均 第五层 成绩3.3 学生信息 是 否 升 留 升留级名单 更 新 记 录 学生记录 4.2 级4.1 成绩标准2.数据字典 主要涉及到以下几个表,分别为:学生基本信息表,课程表,专业信息表,课程设置表,学生选课表,学生与专业之间的属于表以及管理人员的密码表。以下是数据字典: 学生基本信息表 专业Sno Sname Ssex Ssbirth 学生的学号 学生姓名 性别 学生的出生年月 Pno Pname Pnum Pdept 专业编号 专业名称 专业人数 专业所在院系 信息表 课程表 课程设置表

学学生与专表

Sno psenior cno grade Cno Cname Cperiod 课程号 课程名 学时 学生的学号 学期 课程编号 成绩 Cno Cname Cperiod 课程号 课程名 学时 生选课表 业的属于理人员密

管码表 uname upasw sno 学生的学号 pno 专业的编号 管理人员的编号 管理人员的密码 三、系统设计 1、概念结构设计

局部ER图 姓名 学号 学生

整体的ER图 专业号 专业名 人数 学号 姓名 性别 出生年月 属于 学生 密码 性别 出生年月 课程号 课程名 课程 专业号 学时 专业名 专业 人数 院系 2、逻辑结构设计 院系 专 业 ER图转换为关系模型 由ER图可见:图中有三个实体:学生,课程,和专业;三个关系:学生选课关系,学生与专业之间的属于关系,专业的课程设置。 专业号 课程号 学号 设置 码,实体的属性即关系模型的属性: 课程号 选课 成绩 学期 由于每个实体必须构造表,所以可以先得到三个实体的信息表,实体的码就是关系的学生基本信息表: S (sno, sname, ssex, sbirth, spasw) 学期 课程基本信息表: C (cno, cname, cperiord) 课程 专业基本信息表: P (pno, pname, pnum, psdept) 对应的属性分别为:学号,姓名,性别,出生日期,登陆密码 课程号课程编号,课程名,学期 课程名 学时 专业编号,专业名,专业人数,所在院系

对于多对多的关系来说,与该联系相连的实体的码以及本身的属性均转换为关系的属性,各实体之间的码组成关系的码或者关系的码的一部分。 以上ER图的三个联系为多对多,所以转换为关系模式为:

课程设置表:pc ( pno, psenior, cno) 与设置相连的实体有专业和课程,根据多对多的转换原则:专业的码pno,课程的码cno以及设置本身的属性共同构成该关系模式的码,所以该关系模式的码为全码。

学生选课表:SC (sno, psenior, cno, grade)与选课相连的实体有学生和课程,同上由学生的码sno,课程的码cno以及选课本身的码psenior构成该关系模式的码,即(sno,cno,psenior)。此外,选课表还有一个非主属性grade。

学生与专业的属于表:SP(sno,pno)与属于关系相联的实体是学生和专业。同上由学生的码sno,专业的码pno构成该关系模式的码,由于此关系没有其他的码也就没有非主属性。

关系模式的优化:

学生表 s (sno,sname,ssex,sbirth,spasw)

该关系模式的码为sno,由于只有一个码,所以不存在非主属性对码的部分函数依赖,可以达到2NCF。另外,该关系模式的函数依赖为: sno -> sname, sno -> ssex, sno -> ssex,

sno -> sbirth, sno -> spasw,其间不存在传递依赖,故学生表可达到3NCF. 课程表 C ( cno ,cname , cperiod)

该关系模式的码为cno, cname,设主码为cno,因为该关系模式中的码都是单一的,即不存在有两个或者两个以上的属性组成的码,所以不存在非主属性对码的部分函数依赖,可以达到2NCF。另外,该关系模式的函数依赖为:cno->cname, cno->cperiod, cname ->cno ,cname -> cperiod. 因为cno -> cname,cname -> cperiod cno -> cperiod, 所以该关系模式中存在传递依赖,不能达到3NCF。故优化该表为:C1(cno,period),C2(cname,cperiod).从而两表都达到了3NCF。

专业表 P (pno,pname,pnum,pdept)

该关系模式的码为pno,pname,其中设定pno为主码。同课程表,该表不存在有两个或者两个以上属性组成的码,即不存在非主属性对码的部分函数依赖,故可达到2NCF。另外,此关系模式的函数依赖为:pno->pname, pno-> pnum, pno -> pdept , pname -> pno, pname->

pnum, pname -> pdept; 由于存在传递依赖:pno -> pname, pname->pnum, pno -> pnum., 所以未能达到3NCF。优化分解为:P1 (pno,pnum,pdept), P2 (pname,pnum,pdept)

明显,两表都达到了3NCF. 课程设置表PC(pno,psenior,cno),

该关系模式的码为:(pno,psenior,cno)为全码,所以可直接达到3NCF 学生选课表 SC(sno,psenior,cno,grade)

该关系模式的码为:(sno,psenior,cno),因为不存在非主性grade对码的部分函数依赖,所以可达到2NCF,由于不存在函数依赖(表中的函数依赖只有(sno,psenior,cno)-> grade)故也达到了3NCF

属于表 SP(sno,pno)

该关系模式的码(sno,pno)也是全码,所以也达到了3NCF 用户表 U(uname,upasw)

该表的码为uname,明显upasw对码uname是完全函数依赖的,从而达到2NCF。另外因为只有两个属性,所以不存在传递函数依赖,该表达到了3NCF

3、系统功能设计

学生学籍管理系统 欢迎界面 身份及密码验证 系统管理 信息维护 查 询 成绩统计 添加用户 密码管理 成绩维护 成绩查询 个人成绩 基本信息 信息查询 专业成绩 管理人员 学 生

添加 成绩维护 更新 删除 添加 基本信息维护 更新 删除 四、详细设计 1、开发平台及工具

 开发工具  DBMS:

Microsoft Visual C++ 6.0 Microsoft SQL Server 2000

 建模工具: Microsoft Visio, Sybase PowerDesigner

2、数据库的创建和链接

本系统的前台开发工具为Microsoft visual basic 6.0 ,除了一些常用的控件

Commandbutton,Combobox,Textbox和Label外,这里还使用了控件ADO和DataGrid。ADO

用来链接数据库与前台开发程序,指定链接的数据源和要访问的数据,并通过绑定要使用的数据来显示所获得的数据。DataGrid控件的作用是以表格的形式显示结果中的全部数据,但允许在表格中增加,删除和修改纪录。具体的链接过程如下:

ADO(步骤)

(1)选择“工程”菜单中的部件命令,打开部件对话框,在控件选项中选择Microsoft ADO Data Control 6.0(OLEDB)复选框,单击确定,工具栏中会出现ADO数据控件的图标,其微帮助名称为:Adodc。

(2)在当前窗体上添加一个ADO控件。

(3)打开ADO的属性页,设置使用的ODBC数据资源的名称,(如果没有则新建一个)即我所使用的数据库wangjiaDSN;设置身份验证,包括用户名称和密码;设置纪录源,命令类型选择adCmdTable.(因为我所用到的记录源都是表,所以设置为该属性。adCmdTable.表示的是数据源的属性是一个表名,表示其结果级是对该表执行无条件查询后得到的结果),表名或存储过程名则选择自己所要用到的表。到此,便链接成功。

DataGrid(步骤)

(1)同ADO控件一样,选择选择“工程”菜单中的部件命令,打开部件对话框,在控件选项中选择Microsoft DataGrid Control 6.0(OLEDB)复选框,单击确定,工具栏中会出现DataGrid数据控件的图标 。

(2)在当前窗体上添加一个DataGrid控件。

(3)打开DataGrid的属性页,设置标题名,列,列标题与其对应的数据段。颜色,字体等可根据需要设定。将DataGrid的Recordsource设置为该窗体对应的Adodc;另外可检索字段和删除字段,这样可以显示自己想要的字段,而不是将adodc所对应的内容全部显示出来。到此,链接成功。

3、编码设计

1 用SQL语言完成以下功能: ( 1 ) 每个表建表的主外码 系信息表代码如下:

use XJGL go

create table DEPT ( deptid char ( 10 ) not null,

deptname nvarchar (10 ) primary key , ) ;

班级信息表代码如下:

use XJGL go

create table CLASS

( classid char ( 8 ) primary key, proname nvarchar ( 20 ) not null, deptname nvarchar ( 10 ) not null, smalldatetime not null ) ;

学生信息表代码如下:

create table STUDENT ( sno char ( 5 ) primary key sname nvarchar ( 10 ) not null, sage int not null, classid char ( 8 ) not null, ) ;

各表外码声明如下:

use XJGL go

alter table STUDENT

add foreign key ( classid ) references CLASS ( classid ) alter table CLASS

add foreign key ( deptname ) references DEPT ( deptname ) ( 2 ) 每个班级的人数不能超过30人。

alter table CLASS add studentnum smallint

create rule studentnum_rule as @ studentnum > = 0 and @ studentnum < = 30 ( 3 ) 学生的年龄介于15到40岁之间。

alter table STUDENT

add check ( sage between 15 and 40 )

( 4 ) 只有班里没有学生的时候,才能删除该班级。

delete from CLASS where studentnum = 0

4、界面设计

登陆界面

主界面

添加用户界面 学生密码修改界面 个人信息维护界面

成绩统计 信息查询

成绩查询

五、课程设计总结

经过近一个星期的努力,终于设计出一个达到程序设计要求的数据库。其功?能完整,用户界面良好,但是也存在着某些缺陷。

???这一段时间的工作努力,最后的结果固重要,但更重要的是它让自己了解了?数据库设计的一般过程。在接受客户的一个项目的时候,首先是进行系统分析。?既首先分析其以后的销售情况以及技术可行性。如果二者可行,我们接下来做的?就是总体设计。我们首先必须听取用户的要求,将其提出的功能按某种方式划分?为几种模块。这就是整体设计。在对每一个模块进行细化形成最为简单的模块。?然后是考虑每一细化模块的算法并将其用语言刻画出来。这就是详细设计。这就?迈出了最为关键的一步。剩下的就是编译测试阶段。这是编程的必经阶段,也是?我们劳动结果的验金石。只有得到我们期望的结果我们才算真正完成了任务。最?后是软件的维护。在软件的使用过程中不可避免地会出现一些错误,因此维护便?是必不可少的。这便是完成一个项目必经的过程。?

?克服困难,坚持不懈是一个成功人士的所必需的品质。同样作为一个软件编?程者更是必不可少的。只有敢于对困难说不,我们才能成为真正的软件编程者。?不懈上帝是公平的,又付出就有回报。眼前的困难只是你前进路上的绊脚石。只?要我们不怕痛,我们就能坚持的走下来,最终走向胜利。

六、参考文献

1.《Visual C++ .net 2003程序设计》 何炜等 冶金工业出版社 P247-261 2.《数据库系统原理教程》王珊等 清华大学出版社

3.《Windows用户界面开发》 [美] Everett N. McKay着 北京大学出版社 4.Visual Basic应用与开发案例教程 清华大学出版社出版 徐立 吴明旺编着

七、评分表

课程设计评分表

课程名称: 数据库原理 项 目 评 价 设计方案的合理性与创造性 设计与调试结果 设计说明书的质量 答辩陈述与回答问题情况 课程设计周表现情况 综合成绩 教师签名:

日 期:

因篇幅问题不能全部显示,请点此查看更多更全内容