数据库原理及Oracle开发课程设计
题 目 安康学院教务管理系统
系 (部) 电子与信息工程系
班 级 2013级计本一班
姓 名 孟颖迪
学 号 2013020102
指导教师 方昕
2015年 1 月13日
数据库原理及Oracle开发 课程设计任务书
安康学院教务管理系统
孟颖迪
安康学院 计算机科学与技术13级 陕西 安康 725000
摘要:本文根据以下要求入手,对安康学院教务管理系统进行设计。基本要求与功能是实现学生信息数据包括录入有关的数据的管理与操作处理;基于SQL Server2000数据库系统的数据管理;基础数据操作,录入信息,修改信息,以及有关用户提出的对学生信息的查询等等。数据的输入与输出处理流程都依靠数据库的支持。
关键字:SQL Server2000;数据库;教务管理系统;
高校教务管理信息化是提高办公效率的主要途径,随着我国高等教育的快速发展,高校办学规模的不断扩大,在校学生人数不断增多,办学层次出现多元化,由一地办学发展到多地多点办学,同时进一步推行学分制。这些变化是教务管理部门的管理任务越来越繁重,不仅增加了工作量,更增加了工作难度和复杂度,按传统的管理模式,只靠有限的工作人员已无法进行高校管理,高校教务管理信息化已成为教学管理现代化的迫切需求。通过完善管理信息化的制度,可以规范管理,保证教学效果,提高管理效率,有效地提高校教务管理工作的规范化和现代化水平,使教务管理工作走上良性循环的轨道[1]。
高校教务管理系统旨在改善教务管理系统,提高管理效率,实现大学校园教务管理的电子化,协同化,网络化,使教务部门能更有效地管理和监督各院系的教学、学籍、成绩、课表等其他事务管理,使管理人员及时而充分地获取自己的工作日程、通知、会议等,更好地向社会宣传学校教务的工作成果,促进校内外交流。
教务管理是高校的主要日常管理工作之一,涉及到学校教学管理的各个方面,包括全校教师、学生、课程、学生成绩等一系列信息。所以国内外都很重视教务教学管理工作。
在国外高校,与国内不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。国外的校园教务管理信息系统发展很早,从六七十年代就已经开始,现在已比较成熟。到2002年为止,美国已经有82%的高校能够为学生提供在线课程目录服务,有70.9%的高校能够为学生提供在线课程注册服务[2]。
国内高校信息化建设相对起步较晚。在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。国内自从开始使用高校教务管理系统到目前为止,已经经历了三个阶段:第一个阶段的主体是基于单机和独立的业务系统;第二个阶段和第三个阶段分别是基于C/S和B/S开发的[2]。
纵观目前国内研究现状,在安全性和信息更新化方面存在一定的不足,各现有系统资料单独建立,共享性差。在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。因此,未来的教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础[3-5]。
本论文主要研究一款教务管理系统的设计与实现,该系统主要实现日常教务工作中的基本事务处理,包括系统管理、基本信息管理、学生管理、课程管理、查询管理等功能。
随着我国高等教育的快速发展,高校教务管理信息化已成为教学管理现代化的迫切需求。使用教务管理系统进行教务信息管理是提高工作效率的主要途径。本论文对高校教务管理系统的设计与实现进行了详细阐述。论文主要从实现技术、系统分析、设计、实现以及测试等方面做了详细介绍。本系统选择VC++为开发语言,选择Visual Studio为前端开发工具,采用SQL Server 2005建立和维护后台数据库。系统功能模块主要包括系统管理、基本信息管理、学生管理、课程管理以及查询管理。本系统实现了日常教学管理中的基本事务管理,为高校教务管理带来了极大便利。最后本系统经过测试,能够安全稳定地运行,满足各功能的需求并且达到了预期的效果,具有一定的实用价值。
教务管理是高校的主要日常管理工作之一,涉及到学校教学管理的各个方面,包括全校教师、学生、课程、学生成绩等一系列信息。所以国内外都很重视教务教学管理工作。
在国外高校,与国内不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。国外的校园教务管理信息系统发展很早,从六七十年代就已经开始,现在已比较成熟。到2002年为止,美国已经有82%的高校能够为学生提供在线课程目录服务,有70.9%的高校能够为学生提供在线课程注册服务[2]。
国内高校信息化建设相对起步较晚。在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。国内自从开始使用高校教务管理系统到目前为止,已经经历了三个阶段:第一个阶段的主体是基于单机和独立的业务系统;第二个阶段和第三个阶段分别是基于C/S和B/S开发的[2]。
纵观目前国内研究现状,在安全性和信息更新化方面存在一定的不足,各现有系统资料单独建立,共享性差。在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。因此,未来的教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础[3-5]。
本论文主要研究一款教务管理系统的设计与实现,该系统主要实现日常教务工作中的基本事务处理,包括系统管理、基本信息管理、学生管理、课程管理、查询管理等功能。
本系统主要实现日常教务管理中的一些基本事务处理,主要提供给高校教务管理人员使用,主要需求如下:
(1)可以存储基本信息,包括教师信息,班级信息,教室信息,并且能够对各种基本信息进行新增、修改、删除和查询。
(2)可以存储学生信息,包括学生档案信息,学生考勤信息,学生奖惩信息,学生成绩信息,并且能对各种学生信息进行新增、修改、删除和查询。
(3)可以存储课程基本信息和课表信息,并且能够对课程信息和课表信息进行新增、修改、删除和查询。
(4)整个系统需进行权限控制,系统管理员具有最高权限,可对系统中的所有信息进行维护,其他的系统操作用户则只能根据相应的权限信息对其中部分信息进行维护。比如系统管理员给操作用户A赋予对教师信息的维护权限,则操作用户A只能对教师信息进行维护。
(5)可在系统中进行用户密码修改。
为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应满足以下性能需求。
(1)系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。在系统设计和开发工程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足高校对信息处理的需求。
高校教务管理系统的查询功能在整个系统中占有举足轻重的位置,在系统开发过程中,必须采用有效方法保证数据查询的准确性。
(2)系统响应速度
高校教务管理系统在日常处理中的速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数量的不同而从秒级到分钟级,原则是保证操作人员不会应速度问题而影响工作效率。
(3)系统的数据精度
高校教务管理系统对数据精度有一定的要求。设计学生成绩的数据,如学生成绩管理中的分数一般保留到小数点后两位。对于学号、身份证号等标识性数据采用字符型数据即可。
主要任务是把需求分析转换为软件结构。设计软件结构的具体任务是将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。
图 3—1 系统框架图
本系统主要提供给教务管理人员使用,主要实现对各种教务信息的基本维护功能,能够实现对用户基本信息和用户权限的维护功能。另外需要实现用户密码修改功能。具体如下:
(1)系统管理模块
系统管理模块由用户权限管理和修改密码两个子模块组成,系统管理员可在用户权限管理中新建用户并为其分配操作权限,用户登录系统后只能对有权限的模块进行操作。修改用户密码模块用于当前用户修改自己的登录密码。
(2)基本信息管理模块
基本信息管理模块由教师信息管理、教室信息管理、班级信息管理三个子模块组成,各子模块中实现相应基本信息的新增、修改、删除、查询功能。
(3)学生管理模块
该模块由学生档案管理、学生考勤管理、学生奖惩管理、学生成绩管理四个子模块组成。学生档案管理实现学生档案的录入、修改、删除、查询功能;学生考勤管理实现考勤信息的录入、查询等功能;学生奖惩管理实现学生奖惩信息的录入、查询等功能;学生成绩管理实现学生成绩的录入、查询等功能。
(4)课程管理模块
课程管理模块由课程设置管理和课程安排管理两个子模块组成。课程设置管理实现课程基本信息的新增、修改、删除、查询功能;课程安排管理模块实现各学期各班级的课表制定、课表查询功能。
(5)查询管理模块
该模块主要用于方便教务管理者进行各种信息统计分析,该模块由查询学生信息、查询课程信息、查询教师信息、查询成绩信息、查询考勤信息、查询奖惩信息六个子模块组成。在各子模块中实现按照不同方式进行信息查询。比如,在查询学生信息子模块中可查询(全部)指定班级的全部(男/女)学生,也可以根据学生的学号和姓名查询指定条件的学生。
利用系统流程图的形式更能直观的表现整个教务管理系统的操作流程。本系统的操作流程为,运行系统首先显示系统主界面,点击系统管理下拉子菜单“连接”,系统弹出登录界面,输入用户名和密码,然后系统在数据库中查询用户数据信息表中是否有相符合的记录,如果没有则进行错误提示后返回登录界面,错误操作次数加1(当加至3的时候系统自动退出)。成功登录后系统根据用户权限信息设置可用的功能菜单,用户则可进入相应的功能模块进行操作。系统流程图如图3-2所示。
图3.2 安康学院教务管理系统流程图
这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。根据上面的设计规划出的实体有采购订单、采购订单明细、采购收货单、采购收货单明细、采购入库单、入库单明细、销售出库单、出库单明细、供应商、商品库存表、商品、仓库。各个实体的E-R图及其关系描述如下:
图3.3 系统E-R图
由需求分析和实体关系图可以得到数据库关系模型
采购订单(采购订单编号,制单日期,制单人,备注)
采购订单明细(明细编号,采购订单编号,商品编码,数量,单价,金额)
采购收货单(采购收货编号,供应商编号,交货日期,制单日期,经手人,操作员,备注)
采购收货单明细(明细编号,采购收货编号,商品编码,库存数量,产品进价,总额)
采购入库单(采购入库编号,供应商编号,仓库编号,入库日期,备注,采购收单编号,总金额,总数量,制单人,编号)
入库单明细(明细编号,入库编号,商品编码,库存数量,产品进价,金额,总库存)
销售出库单(出库编号,客户编号,仓库编号,出库日期,备注,订单编号,制单人,总金额)
销售出库单明细(明细编号,出库编号,商品编码,数量,单价,金额,总库存)
供应商(供应商编号,供应商名称,供应商地址,电话,邮编,地区,传真,开户行名称,开户行账号,联系人,联系人电话)
商品库存表(仓库编号,商品编码,库存数量,库存下限,库存上限,备注)
商品(商品编码,条形码,商品名称,规格,计量单位,有效期,成本价,类别名称)
仓库(仓库编号,仓库名称,仓库地址,库管员,联系电话)
在上面的实体以及实体之间关系的基础上,形成各个表格之间的关系。
库存管理系统数据库中的各个表的设计结果如下面的几个表格所示,,每个表格表示数据库中的一个表。
表3.1 采购订单表
表3.2 采购订单明细表
表3.3 采购收货单
表3.4 采购收货单明细
表3.5 采购入库单
表3.6 入库单明细
表3.7 销售出库单
表3.8 销售出库单明细
表3.9 供应商
表3.10 商品库存表
表3.11 商品
表3.12 仓库
系统功能模块设计,是在系统功能分析的基础上,设计出如图所示的系统功能模块图。
图3.4 系统功能模块图
1、 供应商基本信息:包含供应商品的人员的基本信息
2、仓库基本信息:仓库的信息和商品信息,如仓库地址,库存,商品种类,数量,金额等商品信息
3、商品库存表:仓库中各种商品德数量的信息
4、商品:需要保存在数据库的商品信息有商品名称,规格,单位,有效期,成本价,类别名称等
5、员工基本信息如姓名,性别,年龄,住址,联系电话等
6、采购计划:根据仓库商品的状况制定的要采购的商品计划
7、订货单:所要采购的商品种类及其有关信息
8、采购入库单:采购的商品存入仓库,并把有关数据存入数据库
9、采购退货:商品退换供应商的操作
10、销售出库管理:商品出售给其他人员并把销售后仓库信息的变化存入数据库
11、销售退货管理:消费者因不满意商品而退货,商品重新进入仓库并在数据库中重新你添加信息
12、仓库调拨:一个仓库资源不足时从另一个仓库调入商品
13、仓库盘点:仓库商品的种类数量等
13、仓库报警:某种商品数量少于最小限度时,系统自动发出警报
14、仓库汇总:所有仓库的所有商品的数量等的信息
15、库存单据:与商品库存有关的表格
16、库存明细:与商品有关的数据的详细罗列
17、供应商供货汇总:供货的种类、数量,价格、时间信息
18、供应商供货明细:供应商供货的种类,数量,价格的信息及供应商的信息,交易信息等
1. 库存统计视图
CREATE VIEW 库存统计视图
AS
SELECT 商品编号,商品名称,商品价格,商品数量, 仓库编号
FROM 商品 AND 商品库存表
2. 商品入库视图
CREATE VIEW 商品入库
AS
SELECT 货物编号,入库数量,仓库编号
FROM 入库单
WHERE 编号=
3. 商品信息视图
CREATE VIEW商品信息视图
AS
SELECT *
FROM 入库单
WHERE 编号=
4. 库存视图
CREATE VIEW库存视图
AS
SELECT 库存数量
FROM库存
WHERE 货物编号=
5. 盘点视图
CREATE VIEW 盘点视图
AS
SELECT *
FROM (仓库 INNER JOIN 货物信息 ON 仓库.ID = 货物信息.ID) INNER JOIN盘点单 ON 仓库.ID = 盘点单.ID;
6. 出库视图
CREATE VIEW 出库视图
AS
SELECT *
FROM (仓库 INNER JOIN 出库单 ON 仓库.ID = 出库单.ID) INNER JOIN 货物信息 ON 仓库.ID = 货物信息.ID;
数据库实现
数据库的创建
在SQLselver 2000 创建数据库:
图6.1 创建数据库
基本表的创建
1.使用如下语句创建档案表
CREATE TABLE [dbo].[DAB](
[BH] [varchar](4) NOT NULL PRIMARY KEY,
[XM] [varchar](10) NOT NULL,
)
图6.2 档案表
2.使用如下语句创建员工表
EATE TABLE [dbo].[YGB](
[BH] [varchar](4) NOT NULL PRIMARY KEY,
[SR] [datetime] NOT NULL,
[XM] [varchar](12) NOT NULL,
[XB] [varchar](2) NOT NULL,
[MZ] [varchar](10) NULL,
[WHCD] [varchar](10) NULL,
[XS] [varchar](6) NULL,
[SFZH] [nchar](20) NOT NULL,
[GW] [varchar](20) NOT NULL,
[BMBH] [varchar](4) NOT NULL,
[DH] [varchar](15) NULL,
[ZZ] [varchar](50) NULL,
)
图6.3 员工表
3.使用如下语句创建部门表
CREATE TABLE [dbo].[BMB](
[BH] [varchar](4) NOT NULL PRIMARY KEY,
[MC] [varchar](15) NOT NULL,
[ZN] [varchar](50) NULL,
[DY] [varchar](4) NULL,
)
图6.4 部门表
4.使用如下语句创建岗位表
CREATE TABLE [dbo].[GWB](
[BH] [varchar](4) NOT NULL PRIMARY KEY,
[MC] [varchar](10) NOT NULL,
)
图6.5 岗位表
5.使用如下语句创建员工调动表
CREATE TABLE [dbo].[YGDDB](
[BH] [varchar](4) NOT NULL PRIMARY KEY,
[RQ] [datetime] NOT NULL,
[YBBH] [varchar](4) NOT NULL,
[XBBH] [varchar](4) NOT NULL,
[YGBH] [varchar](4) NOT NULL,
[XGBH] [varchar](4) NOT NULL,
[BZ] [varchar](100) NULL,
)
图6.6 员工调动表
6.使用如下语句创建员工奖惩表 设编号为外键,并添加以置空值原则和级联原则的完整性约束
CREATE TABLE [dbo].[YGJCB](
[BH] [varchar](4) NOT NULL PRIMARY KEY,
[YY] [varchar](100) NULL,
[LX] [varchar](20) NOT NULL,
[RQ] [datetime] NULL,
FOREIGN KEY (BH) REFERENCES YGB(BH)
ON DELETE CASCADE
ON UPDATE CASCADE
)
图6.7 员工奖惩表
视图的创建
1.创建用于查询档案增删信息的视图
CREATE VIEW V_DAB_YGB
AS
SELECT XM AS 员工姓名
YAB.BH AS 员工编号
DAB.RQ AS 档案增删日期
FROM DAB ,YGB
WHERE DAB.XM=YGB.XM
2.创建用于查询员工奖惩情况的视图
CREATE VIEW V_YCQGB_YGB
AS
SELECT YGB.XM AS 员工姓名
YCQGB.RQ AS 奖惩日期
YCQGB.LX AS 奖惩类型
YCQGB.MC AS 奖惩名称
FROM YCQGB,YGB
WHERE YCQGB.YGBH=YGB.BH
3.创建用于查询员工调动情况的视图
CREATE VIEW V_BMB_GWB_DDJLB_YGB
AS
SELECT BMB.MC AS 前部门名称
BMB.MC’AS 后部门名称
YGB.XM AS 员工姓名
GWB.MC AS 前岗位名称
GWB.MC’AS 后岗位名称
DDJLB.RO 调动日期
FROM BMB, GWB, DDJLB , YGB
WHERE DDJLB.YGBH=YGB.BH 员工编号
DDJLB.YBMBH=BMB.BH 部门编号
DDJLB.XBMBH=BMB.BH
DDJLB.YGWBH=GWB.BH 岗位编号
DDJLB.XGWBH=GWB.BH
4.创建查询部门内部管理情况的视图
CREATR VIEW V_BMB_YGB_GWB
AS
SELECT YGB.XM AS 员工姓名
BMB.MC AS 部门名称
GWB.MC AS 岗位名臣
FROM BMB,YGB,GWB
WHERE YGB.BH=BMB.YGBH 部门编号
YGB.BH=GWB.YGBH 岗位编号
数据库的索引
1.在档案表上建立一个以档案编号为索引项的聚集索引
CREATE clustered INDEX IX_DAB ON DAB (DAB.BH);
2.在调动记录上建立一个以员工编号,岗位编号,部门编号为索引号的非聚集索引
CREATE nonclustered INDEX IX_BH ON DDJLB (DDJLB.YGBH,DDJLB.GWBH,DDJLB.BMBH);
3.在员工资料表建立一个以员工身份证号为索引号的聚集索引
CREATE clustered INDEX IX_YGB ON YGB (SFZH);
4.在培训表建立一个以员工编号,培训评分为索引号的非聚集索引
CREATE nonclustered INDEX IX_PX ON PXB (BH,PF);
5.在奖惩制度表建立一个以员工编号,奖惩原因为索引号的非聚集索引
CREATE nonclustered INDEX IX_JCZD ON JCZD (BH,YY);
安全性权限
Dbo.dab(BH,XM,DIS),假设有管理员A
Dbo.ygb(BH,XM,DIS),假设有员工B
Dbo.bmb(BH,XM,DIS),假设有部门负责人C
GRANT SELECT , UPDATE, DELETE ON Dbo.dab Dbo.ygb to A with grant option
GRANT SELECT ON Dbo.ygb to B
GRANT SELECT ON Dbo.bmb to B
GRANT SELECT ,UPDATE ,DELETE ON Dbo.bmb to C with grant option
GRANT SELECT ON Dbo.dab ,Dbo.ygb to C
总结
本文针对企业人事管理系统的管理流程进行了初步分析,采用了模块化和分层的设计思想,使整个系统逻辑合理。该系统的具体功能是可以根据用户的需要来分配,还要包括企业人事的信息添加,删除,修改,查找,同时也包括权限的分配,职务的调动等。在企业人事管理系统中,用户能够方便的对企业人事进行信息的检索与处理。由于本系统的设计是建立在设计基本要求的基础上的,还有很多需要完善的地方,比如:安全要求等等。
参考文献
[1] 陶宏才.数据库原理及设计[M].北京:清华大学出版社,2009
[2] 范立南.SQL Server 2000 实用教程[M].北京:清华大学出版社,2010
[3] 李香敏.SQL Server 2000 编程员指南[M].北京:希望电子出版社,2007
[4] 赵杰,李涛,朱慧.SQL Server数据库管理、设计与实现教程[M].北京:清华大学出版社,2004
[5]徐孝凯,贺贵英.数据库基础与SQL SERVER应用开发[M].北京:清华大学出版社,2012
}.
课程设计成绩评定表
本文来源:https://www.2haoxitong.net/k/doc/d6bfe654cc22bcd127ff0c35.html
文档为doc格式