数据库课程设计之学生信息管理系统.docx
- 文档编号:10304148
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:52
- 大小:546.97KB
数据库课程设计之学生信息管理系统.docx
《数据库课程设计之学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计之学生信息管理系统.docx(52页珍藏版)》请在冰豆网上搜索。
数据库课程设计之学生信息管理系统
数据库课程设计学生信息管理系统
一、概述
1、项目背景:
数据库原理课程设计
2、编写目的:
掌握数据库设计原理及相关软件的使用
3、软件定义:
学生信息管理系统
4、开发环境:
Power builder 9.0
二、需求分析
1、问题的提出:
为了高效率的完成学生信息的管理,决定开发学生信息管理系统。
2、需完成的功能:
(1)能录入、修改、查询、输出学生的档案信息,这些信息包括学生的基本情况、简历情况、获得奖励情况、受到处分情况、学生的家庭信息、学生的体检情况等。
(2) 能录入、修改、查询、输出学生的入校成绩、各学期各门课的成绩信息,并支持按年级、班级等条件的统计、查询、报表输出。
3、E-R图:
三、数据表:
info
--------------------------------------------------------------------------------------
|sno|sname|sex|age|depart|price|exp|home|health|grade|class|other|
--------------------------------------------------------------------------------------
course
--------------------------
|cno|cname|teacher|
--------------------------
exam
--------------------
|sno|cno|score|
--------------------
info
Column Name Date Type Width 空值情况
Sno Char 20 主关键字
Sname Char 10 不为空
Sex Char 2 不为空
age Numeric 4 可为空
Depart Char 10 不为空
Prize Char 200 可为空
Home Char 200 可为空
Health Char 200 可为空
Other Char 200 可为空
Grade Char 3 不为空
Class Char 3 不为空
exam
Column Name Date Type Width 空值情况
Sno Char 20 主关键字
Cno Char 20 不为空
Score Char 3 可为空
course
Column Name Date Type Width 空值情况
Cno Char 20 主关键字
Cname Char 10 不为空
Teacher Char 5 不为空
①对于关系模式info(|sno|sname|sex|age|depart|price|exp|home|health|grade|class|other|)假定姓名也具有唯一性,那么info就有两个码,这两个码都由单个属性组成,彼此不相交。
其它属性不存在对码的传递依赖与部分依赖,又因为info中除学号、姓名外没有其它的因素,所以info属于BCNF。
②对于关系模式course(|cno|cname|teacher|)中,它只有一个码,这里没有任何属性对课程号部分依赖或传递依赖,同时课程号是唯一的决定因素,所以课程属于BCNF。
③对于关系模式exam(|sno|cno|score|)有两个码,这两个码都由单个属性组成,彼此不相交,其它属性不存在对码的传递依赖与部分依赖,又因为成绩中除学号、课程号外没有其它的决定因素,所以成绩属于BCNF。
四、视图,索引,数据库权限:
create view temp (sno,sname,cname,score)
as select info.sno,info.sname,ame,exam.score
from info,exam,course where info.sno=exam.sno and o=o
CREATE UNIQUE INDEX STUSNO ON info(sno);
GRANT SELECT ON TABLE examTO PUBLIC;
五、软件功能设计
功能表:
|-系统维护(下设系统退出)
|-信息录入(下设学生基本信息录入|学生成绩录入)
|-信息查询(下设学生基本信息查询|学生成绩查询*)
|-报表
功能描述:
退出系统:
退出程序。
学生数据输入:
输入学号、姓名、性别、年龄、出生年月等学生基本信息。
成绩输入:
输入各学期学生考试成绩。
学生信息查询:
查询学生基本信息。
学生成绩查询:
查询学生考试成绩。
按年级输出报表:
输出全年级学生各科目考试成绩。
按班级输出报表:
输出全班学生各科目考试成绩。
六、程序代码及控件描述
启动封面:
(w_start)
Open事件代码:
SQLCA.dbms="ODBC"
SQLCA.database=""
SQLCA.userid=""
SQLCA.dbpass=""
SQLCA.logid=""
SQLCA.logpass=""
SQLCA.dbparm="ConnectString='DSN=student;UID=dba;PWD=sql'"
SQLCA.lock=""
SQLCA.autocommit=false
connect using SQLCA;
IF SQLCA.Sqlcode <> 0 then
messagebox("无法连接数据库!
",SQLCA.sqlerrtext)
close(w_start)
// else
// open(w_startscc)
end if
CommandButton.text=“进入系统”
CommandButton clicked事件代码:
open(w_main)
close(w_start)
主程序窗口(w_main):
title=“学生信息管理系统 V1.0”
包含菜单m_main
窗口(w_infoinput)
Open事件代码:
dw_1.SetTransObject(SQLCA)
dw_1.Retrieve()
控件datawindow的dataobject属性:
i_info(一个freeform风格的数据窗口对象,显示info表的全部列)
commandbutton(text属性:
保存)clicked事件的代码:
dw_1.Update()
commandbutton(text属性:
取消)clicked事件的代码:
dw_1.Retrieve()
commandbutton(text属性:
插入)clicked事件的代码:
dw_1.InsertRow(dw_1.GetRow())
commandbutton(text属性:
删除)clicked事件的代码:
dw_1.DeleteRow(dw_1.GetRow())
窗口(w_scoreinput)
Open事件代码:
dw_1.SetTransObject(SQLCA)
dw_1.Retrieve()
控件datawindow的dataobject属性:
i_score (一个freeform风格的数据窗口对象,显示exam表的全部列)
commandbutton(text属性:
保存)clicked事件的代码:
dw_1.Update()
commandbutton(text属性:
取消)clicked事件的代码:
dw_1.Retrieve()
commandbutton(text属性:
插入)clicked事件的代码:
dw_1.InsertRow(dw_1.GetRow())
commandbutton(text属性:
删除)clicked事件的代码:
dw_1.DeleteRow(dw_1.GetRow())
窗口(w_query)
控件statictext的text属性:
“请输入学号:
”
控件groupbox包含24个statictext控件,它们的text属性分别对应info表的字段名和查询结果
控件SingleLineEdit的text属性为null
commandbutton(text属性:
查询)clicked事件的代码:
Connect;
if SQLCA.SQLCode<0 then
MessageBox("连接错误",SQLCA.SQLErrText,Exclamation!
)
end if
//MessageBox("done",SQLCA.SQLErrText,Exclamation!
)
int Stu_id
string Stu_name,Stu_xuehao,Stu_sex,Stu_age,Stu_home
string Stu_birth,Stu_depart,Stu_price,Stu_info,Stu_health
Stu_id=Integer(sle_id.Text)
select info.sno,info.sname,info.sex,info.age,
info.depart,info.prize,info.exp,info.home,
info.health,info.grade,info.class,info.other
Into :
Stu_sno,:
Stu_sname,:
Stu_sex,:
Stu_age,
:
Stu_depart,:
Stu_prize, :
Stu_exp,:
Stu_home,
:
Stu_health,:
Stu_grade:
Stu_class, :
Stu_other
; From student Where info.sno=:
Stu_id;
IF SQLCA.SQLCode=100 THEN
MessageBox("学生查询","对不起,没有该学生")
ELSEIF SQLCA.SQLCode>0 THEN
MessageBox("数据库错误",SQLCA.SQLErrText,Exclamation!
)
END IF
窗口(w_squery)
控件groupbox(text属性为:
“选择查询模式”)包含2个RadioButton控件,它们的text属性分别为按年级查询和按班级查询
控件SingleLineEdit(text属性为Null)功能为获得输入的年级/班级编号
控件CommandButton(text属性为确定)的Clicked事件代码:
integer n
integer slen
slen=Len(sle_1.text)
n=asc(sle_1.text)-48
if (slen>1 or slen=0) then
messagebox("错误","数据非法!
")
sle_1.text=""
elseif (n<1 or n>9) then
messagebox("错误","数据非法!
")
end if
connect using SQLCA;
if rb_1.checked=true then
select info.sno,info.sname,o,ame,exam.score
from info,course,exam
where info.sno =exam.sno and ,o =o and info.grade=n
end if
if rb_2.checked=true then
select info.sno,info.sname,o,ame,exam.score
from info,course,exam
where info.sno =exam.sno and ,o =o and info.class=n
end if
窗口(w_table)
控件groupbox(text属性为:
“选择模式”)包含2个RadioButton控件,它们的text属性分别为按年级输出和按班级输出
控件SingleLineEdit(text属性为Null)功能为获得输入的年级/班级编号
控件CommandButton(text属性为确定)的Clicked事件代码:
integer n
integer slen
slen=Len(sle_1.text)
n=asc(sle_1.text)-48
if (slen>1 or slen=0) then
messagebox("错误","数据非法!
")
sle_1.text=""
elseif (n<1 or n>9) then
messagebox("错误","数据非法!
")
end if
connect using SQLCA;
if rb_1.checked=true then
select * from dep_exam,info where info.grade=n
end if
if rb_2.checked=true then
select * from dep_exam,info where info.class=n
主菜单(m_main)代码:
退出系统clicked事件的代码:
close(w_main)
学生基本信息输入clicked事件的代码:
Open(w_infoinput)
学生成绩输入clicked事件的代码:
Open(w_scoreinput)
学生基本信息查询clicked事件的代码:
Open(w_query)
学生成绩查询clicked事件的代码:
Open(w_squery)
报表clicked事件的代码:
Open(w_table)
七、设计心得
在这次课程设计中,我尝试了使用PowerBuilder进行数据库软件开发的方法,加深了对数据库课程知识的理解。
由于时间仓促,技术水平有限,软件还有很多不足之处,如:
成绩查询部分不够完善,成绩输入模块不支持学生成绩批量输入,软件代码比较冗余、效率不高等等,都是对PB操作不熟练,对相关功能缺乏认识造成的。
在今后的学习中我会加强理论与实践的结合,通过不断的摸索来弥补自己在软件制作方面的差距。
计算机0303班01号文静
2005年12月20日
《信息系统设计》
软件工程课程设计
课题名称:
员工信息管理系统
姓名:
兰朝仁
学号:
080153035
学院:
继续教育学院
专业:
计算机科学与技术
年级:
2008级(夜大专升本)
指导教师:
陈郞钦
完成日期:
2010年10月11日
【摘要】本文从员工信息管理系统规划、需求分析、系统设计、系统实现及系统测试等多个方面,分别叙述系统研发的整个实现过程,简述采用Delphi7编程工具及Access数据库实现系统应用的设计要点,重点阐述系统实现过程中的重点和难点问题的分析及其解决方案,解决企业对员工的计算机管理。
【关键词】员工、人事、工资、管理、数据库
引言
随着我国国民经济建设的蓬勃发展和社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。
建设一个科学高效的信息管理系统是解决这一问题的必由之路。
员工信息管理作为企业内部的一种员工基本档案管理也是如此,由于企业的人数较多,每一位员工的具体实际情况也不尽相同,如果没有一个完整的员工信息管理系统去完成,将使工作变得复杂,并且对于工作的效率也将使一个致命的打击,使无论如何也无法适应现代社的需要。
另外,目前部分企业使用的员工信息管理系统只有信息的录入,修改和删除的功能,而不具有信息查询的功能,这对于企业的信息管理工作来说是一个很遗憾的事情。
因此,开发一套功能完整,设计合理,使用方便的企业员工信息管理系统成为很有必要的事情。
企业员工信息管理系统的内容功能对于企业的决策者和管理者来说都至关重要,所以企业员工信息管理系统应该能够为管理者提供充足的信息和快捷的查询与管理手段。
作为计算机应用的一部分,使用计算机对企业员工信息进行管理,具有手工管理所无法比拟的优点.例如:
查询迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够降低员工管理工作的成本,减轻企业管理人员的负担,方便员工信息的更新、维护和查询,增加数据的可靠性;从而提高企业员工信息管理的效率,开拓企业员工管理工作的新局面,提高管理水平,是企业管理的科学化、正规化、信息化管理,与世界接轨的重要条件。
当前主流的程序开发环境有MicrosoftVisualStudio.NET,SunJava,BorlandDelphi等。
VisualStudio.NET对Windows系统兼容性好;Java可以支持多种环境及操作系统平台;而Delphi则可在Windows系统下快速开发C/S结构程序,具有多方成熟的控件完善系统开发。
主流的数据系统则有Oracle,MicrosoftSQLServer和Access。
Oracle功能强大,稳定性好;SQLServer稳定,功能齐全;而Access简单快速、小巧便捷。
下面采用BorlandDelphi7开发环境,结合MicrosoftAccess数据库,对员工信息管理系统的开发过程和系统规划、系统需求及分析、系统设计、系统实现及系统测试等各个阶段,论述其数据库应用系统的设计要点,实现过程中存在的难点、问题的分析及其解决方案。
1.系统规划
系统规划的主要内容是信息系统设计的目标及信息系统的总体方案。
1.1系统设计目标
本系统的设计目标是建立企业对员工档案及工资的计算机管理系统。
1.2系统总体规划
系统本着合理性、可靠性和先进性的原则,实现:
(1)完整的数据分析系统,能对数据流实施控制与动态分析;
(2)有功能强大、资料齐全的查询系统;
(3)方便用户使用及操作的界面,操作简便、运行稳定。
1.3设计方案(步骤)
在员工信息需求的基础上,提出整个信息系统的总体结构方案,确定系统开发设计的次序及时间的安排。
具体分为五个步骤:
(4)分析员工档案及工资等信息管理的业务活动,搞清业务流程及数据流程;
(5)根据业务流程及数据流程,确定属于系统业务处理的范围;
(6)分析业务流程及数据流程所涉及的数据,确定数据库及其数据表;
(7)确定系统概要设计(总体结构、数据结构)、详细设计(模块、算法)框架;
(8)进行系统实施过程的程序设计及其软件测试。
2.系统分析
系统分析的最主要内容有员工信息管理系统的业务需求分析、业务流程图、数据流程图、数据库设计等四个部分。
2.1业务需求与分析
(1)系统数据需求
通过对企业员工的信息管理业务流程的调查,总结系统对其数据的需求,主要有:
员工档案信息,
员工工资信息,
部门、职务、工资类型等基础信息
(2)系统功能需求
系统的主要需求,即所设计的系统在功能上应做什么。
本系统主要的功能有:
员工管理:
完成员工档案的新增、修改、删除、查询及打印等功能;主要实现对所有员工的姓名、编号、部门、职务、入职时间、性别、身份证号、出生日期、学历、私人电话及工作电话等信息的管理。
工资管理:
完成员工工资的录入、查询、分析及相关打印等功能;主要实现对员工的姓名、工资类别及工资金额等信息的管理。
基本信息管理:
完成部门设置、职务设置、工资类别设置、用户口令设置,系统数据初始化等功能。
部门设置主要实现部门编号和部门名称的设置;职务设置主要实现职务编号和职务名称的设置;工资类别设置主要实现工资类别编号和工资类别名称的设置;口令更改实现用户口令的修改;系统初始化清除系统所有历史数据,使数据库进入初始状态。
系统帮助:
帮助用户解决问题,沟通与软件开发者的联系。
(3)系统性能需求
系统的性能指标包括存储容量限制、运行时间限制、传输速度要求、安全保密性等几个方面。
(4)系统运行环境需求
硬件方面:
采用的设备机型以及外部设备等;
软件方面:
支持系统运行的系统软件,如操作系统、数据库系统等。
(5)系统可靠性及安全保密需求
对系统、重要子系统在运行中的安全、可靠、保密方面提出要求。
2.2系统业务流程图
从实际业务功能的角度将系统规划中有关的业务做进一步的分析,用一个完整的图型来反映业务处理过程。
系统业务流程图(TFD)如下:
2.3系统数据流程图
以数据流程图表示数据流向和对数据进行的加工;分析系统数据,对数据流图中的数据流给出具体定义。
系统的顶层数据流程图(DFD)如下:
3.系统设计
系统设计主要有以下几项内容:
3.1系统软件功能结构
3.2系统主要技术
本系统采用BorlandDelphi7开发环境,结合MicrosoftAccess数据库。
BorlandDelphi7使用的是面向对象的ObjectPascal语言,可以灵活得进行大型应用系统的开发。
Delphi7提供了对数据库系统及标准SQL语言支持,可以开发出符合标准SQL的应用系统,提高系统的可移植性,可根据不同企业的需求,使用Oracle、SQLServer、A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 学生 信息管理 系统