数据库原理课程设计报告参考例文

更新时间:2024-04-20 16:30:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程设计报告

( 2014 -- 2015年度第2学期)

名 称:数据库原理课程设计 题 目: 院 系: 班 级: 学 号: 学生姓名: 指导教师: 阎蕾,王晓辉 设计周数: 一

成 绩:

日期:2015年7月17日

一、课程设计(综合实验)的目的与要求

1. 本实验是为软件工程、网络工程、信息安全等专业的学生在学习数据库原理后,为

培养更好的解决问题和实际动手能力而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。

2. 通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。 3. 通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系

统编码、界面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。

二、设计(实验)正文

1、实验内容:员工请假管理系统 2、系统分析

2.1 需求分析

员工请假管理系统是根据企业对员工进行请假管理的需要来设计开发的,目标是给员工提供更加快速、便利的平台,具有对员工请假信息进行管理和维护的功能。 2.1.1普通员工对功能的需求

添加请假申请:可添加申请请假的信息。

查看请假是否被确认:可以查询请假是否已被审核。 查看请假历史信息:可查询个人的全部请假信息 安全退出:退出当前页面至登录界面 2.1.2部门管理员对功能的需求

管理请假确认:可以对本部门的员工的请假信息进行确认。 查看请假历史信息:可以查询全体员工的全部请假记录。 生成统计表:可以生成对全体员工的请假信息的统计表。 安全退出:退出当前页面至登录界面。 2.2 系统功能描述 2.2.1用户登录

由于此系统设计不同的用户级别,因此要对不同登录用户分配不同的登录首页,并记录下每个用户的用户名id和级别信息。 2.2.2添加请假申请

普通员工登录系统后,可以添加请假申请信息,包括员工编号、请假日期、请假类型编号、请假开始时间、请假结束时间和请假原因。 2.2.3查看请假是否已审核 普通员工登录系统后,可以查看本人申请的请假信息是否已经被审核,可以浏览本人申请信息未被审核列表,包括申请编号、员工编号、请假日期、请假类型编号、请假开始时间、

请假结束时间、请假原因,并可以分页和排序显示。 2.2.4查看个人请假记录

普通员工登录系统后,可以查看本人申请的全部请假信息的列表,包括申请编号、员工编号、请假日期、请假类型编号、请假开始时间、请假结束时间、请假原因、确认标志、确认人,并可以分页和排序显示。 2.2.5请假确认

部门管理员登录系统后,可以审核本部门的员工的请假申请信息,并可以对员工的请假申请信息进行编辑和确认,包括员工编号、请假日期、请假类型编号、请假开始时间、请假结束时间、请假原因、确认标志、确认人,并可以分页和排序显示。 2.2.6查询全体员工请假记录 部门管理员登录后,可以浏览全体员工的请假申请记录列表,包括申请编号、员工编号、请假日期、请假类型编号、请假开始时间、请假结束时间、请假原因、确认标志、确认人, 并可以分页和排序显示。 2.2.7 生成统计表

部门管理员登录后,可以浏览所有员工请假信息的统计列表,包括申请日期、员工编号、员工姓名、部门编号、请假类型、请假天数,并可以查看每个员工对应的请假累计天数,并可以分页和排序显示。 2.2.8系统备份和恢复

部门管理员登录后,可以选择数据库,并可以对所有的请假信息进行备份和恢复,生成以.bak结尾的备份文件。 2.2.9安全退出

退出本页面,返回至登录页面。 2.3功能模块划分

在了解了系统的需求分析和功能描述后,可以将员工请假管理系统划分为以下模块: (1)用户登录管理:用户登录系统,并划分用户的管理权限。 (2)请假申请添加管理:增加普通员工的请假申请信息。

(3)请假信息管理:查看个人及所有员工的请假历史记录、请假记录是否被确认、对员工请假信息进行审核。

(4)请假统计管理:查看所有员工的请假统计信息。 (5)系统备份和恢复管理:进行数据的备份和恢复。 (6)安全退出管理:退出当前页面至登录界面。 2.4系统流程分析

员工请假管理系统在应用时首先需要进行登录操作,根据登录用户的权限实现不同的操作,系统总体使用流程图如下所示: 普通员工 请假申请添加管理 请假信息管理

用请假统计管理 户登系统备份和恢复管理 录

安全退出管理 部门管理员

2.4.1请假申请添加管理 请假信息管理提供了员工添加请假申请的功能,请假申请信息添加后不得删除或修改,所以只涉及了请假申请添加管理的功能,其功能流程图如下图所示。

请假申请添加管理

填写请假申请信息 提交 重置

添加申请记录 2.4.2请假信息管理 请假信息管理提供了请假申请信息的列表的功能,在此功能中可以查看个人及所有员工的请假历史记录、请假记录是否被确认、对员工请假信息进行审核。其功能流程图如下:

请假信息管理

员工个人请假记录 所有员工请假记录 请假 请假记录确认 请假信息审核 审核 取消 更新 2.4.3请假统计管理 请假统计管理的主要功能是查看所有员工的请假统计信息,以便企业领导了解每个员工的具体请假信息及请假累计天数。 2.4.4系统备份和恢复功能 请假统计管理功能的主要功能是提供前台的备份和恢复功能,以防止以外事件发生数据丢失,保护数据的安全。

系统备份和恢复 选择数据库

填写数据库文件名

备份 恢复

确定 取消

2.4.5安全退出管理

安全退出管理是用户退出本次登录并转到登录页面的功能。 3、数据库设计:

该系统使用的是SQL Server2005数据库管理系统。数据库服务器安装的位置为本机,数据库名称为Employee_Date 。 3.1数据库分析和设计

3.1.1 用户登录E-R实体图

用户登录的实体具有用户id、用户密码、用户权限3个属性,用户登录E-R实体图如下图所示。 用户登录 用户id 用户密码 用户权限

3.1.2员工信息E-R实体图

员工信息的实体具有员工编号、员工姓名、上级员工编号、部门编号4个属性,员工信息的E-R实体图如下图所示。

员工信息

员工编号 员工姓名 上级员工编号 部门编号

3.1.3部门管理员信息E-R实体图

部门管理员信息的实体具有部门编号、管理员姓名、管理员编号3个属性,部门管理员信息的E-R实体图如下图所示。

部门管理员信息

部门编号 管理员姓名 管理员编号

3.1.4请假申请信息E-R实体图

请假信息申请的实体具有申请编号、员工编号、请假日期、请假类型编号、请假开始时间、请假结束时间、请假原因、请假累计天数、确认标志、确认人。请假申请信息E-R实体图如下图所示。 请假申请信息 请请请请 员请假假假请假确确 申工假类开结假累认认 请人 编日型始束原计标 编号 期 因 志 编时时天 号 号 间 间 数 3.2数据表的创建

根据E-R实体图的内容,可以创建员工请假管理系统中的各个数据表,在此系统中共涉及到4个数据表的应用,分别如下。 3.2.1用户登录表

用户登录表(Login)用于存放登录员工请假管理系统中的用户登录信息,用户登录表是判断用户的登录权限必不可少的部分,表中各个字段的数据类型、大小以及简短描述如下表1所示。

表1 用户登录表(Login)

字段名 User_id Password Authority 数据类型 Char Char Int 大小 10 20 4 字段描述 用户编号,主键 用户密码 用户权限 3.2.2员工信息表 员工信息表(EmployeeInfo)用于存放员工管理系统中所有普通员工的信息,用户信息表是申请请假判断是否有效的基础,表中各个字段的数据类型、大小以及简短描述如下表2所示。

表2 员工信息表(EmployeeInfo)

数据类型 Char Char Char Char 大小 10 20 10 10 字段描述 员工编号,主键 员工姓名 上级员工编号 员工所在部门编号 字段名 Employee_id Employee_Name Leader_id Department_id 3.2.3部门管理员信息表

部门管理员信息表(ManagerInfo)用于存放员工管理系统中所有部门管理员的信息。表中各个字段的数据类型、大小以及简短描述如下表3所示。

表3 部门管理员信息表(ManagerInfo)

字段名 Department_id Manager_id Manager_Name 数据类型 Char Char Char 大小 10 10 20 字段描述 部门编号 部门管理员编号,主键 部门管理员姓名 3.2.4 请假申请信息表

请假申请信息表(ApplicationInfo)用于存放员工请假申请信息,表中各个字段的数据类型、大小以及简短描述如下表4所示。

表4 请假申请信息表(ApplicationInfo)

字段名 Application_Number Application_id Application_Date Employee_id Leave_StartDate Leave_OverDate Leave_CountDay Confirm_Mark Confirm_Name Leave_Reason 数据类型 Int Char Char Char Char Char Int Int Char Varchar 大小 4 10 10 10 10 10 4 4 20 500 字段描述 申请编号,主键 请假类型编号 请假日期 员工编号 请假开始时间 请假结束日期 请假累计天数 确认标志 确认人 请假原因描述

3.2.5 全部信息视图

全部信息视图(AllInfomation)用于联系各个表中员工的信息。表中各个字段的数据类型、大小以及简短描述如下表5所示。

表5 全部信息视图(AllInfomation) 字段名 Application_Number Application_id Application_Date Employee_id Leave_StartDate Leave_OverDate Leave_CountDay Confirm_Mark 数据类型 Int Char Char Char Char Char Int Int 大小 4 10 10 10 10 10 4 4 字段描述 申请编号 请假类型编号 请假日期 员工编号 请假开始时间 请假结束日期 请假累计天数 确认标志

Confirm_Name Leave_Reason Department_id Manager_id Manager_Name Employee_Name Leader_id Char Varchar Char Char Char Char Char 20 500 10 10 20 20 10 确认人 请假原因描述 部门编号 部门管理员编号 部门管理员姓名 员工姓名 上级员工编号 3.3数据表关系图 在员工请假管理系统中各数据表中不存在外键,每个表都有自己独立的主键。 3.4创建存储过程 在系统中,应用存储过程处理数据事对数据库进行优化的一种方法,所以在此系统中大部分的数据操作都使用了存储过程,这里使用了AddApplication存储过程,它将会在系统程序文件的后台应用中调用。 AddApplication存储过程用于向员工信息表中添加新的员工信息,代码如下:

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON go

ALTER Procedure [dbo].[AddApplication] AS

INSERT INTO ApplicationInfo ( ) VALUES (

@Application_Date , @Employee_id , @Application_id , @Leave_StartDate , @Leave_OverDate , Application_Date , Employee_id , Application_id , Leave_StartDate , Leave_OverDate , Confirm_Mark , Leave_Reason

@Application_Date char(10), @Employee_id char(10), @Application_id char(10), @Leave_StartDate char(10), @Leave_OverDate char(10), @Confirm_Mark int,

@Leave_Reason varchar(500)

@Confirm_Mark , @Leave_Reason

4系统公用模块创建

员工请假管理系统中使用了公共模块,包括web.config文件的配置、普通员工和部门管理员标题控件、员工和部门管理员的导航控件和页脚控件。

在系统中的Web.config文件中定义了很多配置节处理程序,在此文件中添加了一个节,定义了数据库连接的设置,在其他应用程序的后台程序中可以直接调用此连接的设置,程序代码如下:

在系统中页脚控件、普通员工和部门管理员的标题控件、普通员工和部门管理员的导航控件代码基本类似,只是简单的设计。现仅列出普通员工的标题控件的核心代码如下:

5、系统界面和代码的实现

这里介绍员工请假管理系统的应用界面和设计代码,但限于篇幅有限,仅介绍部分页面的后台的关键代码,其他的请参照电子版的内容。 5.1 员工请假管理系统首页 员工请假管理系统页面如下图所示,作为系统首页,登陆页面具有自动导航的功能,不同用户登陆,根据其不同的身份,将进入不同的系统功能页,普通员工页面和部门管理员页面,在用户身份验证通过后,系统有Sesstion变量记录用户名和登录权限,伴随用户对系统进行操作的整个生命周期。

5.1.1定义命名空间 在下面的程序中定义了Default文件后台应用程序的命名空间,在此,程序开发人员定义了using System.Data.SqlClient和using System.Configuration命名空间,在此,其中using System.Data.SqlClient命名空间用于访问托管空间的SQL Server数据库,而using System.Configuration命名空间提供类和接口,用于以变成方式访问web.config文件。代码如下:

using System; using System.Data;

using System.Configuration; using System.Web;

using System.Web.Security; using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient;

5.1.2定义登录按钮事件: 在下面的代码中定义了用户按下“登陆”按钮后所执行的操作。主要实现了用户身份的验证和根据用户身份,分配不同的界面。在程序中应用了System.Configuration命名空间的ConfigurationSetting.AppSettings属性,获取元素配置节中的配置设置,在此系统中为数据库连接,对于数据连接的方法来说,应用了SqlConnection构造函数,初始化了一个SqlConnection类的新实例,并应用了此实例的open()方法打开了数据库的连接,在此段代码的后面定义了一个select数据查询语句,同时定义了一个SqlCommand实例,并应用了ExecuteReader()方法读取数据库中的数据,最后应用了session变量存储了用户的用户id和用户权限,并根据登录用户的权限分配到不同的系统界面中。

定义登录按钮的代码如下:

protected void Login_Click(object sender, EventArgs e) {

string strconn=ConfigurationSettings.AppSettings[\];

SqlConnection conn=new SqlConnection(strconn); conn.Open();

string strsql = \ + User_id.Text + \Password='\ + Password.Text+\+ Authority.SelectedItem.Value+\;

SqlCommand cm=new SqlCommand(strsql,conn); SqlDataReader dr=cm.ExecuteReader(); if(dr.Read()) {

//保存用户权限

Session[\]=dr[\];

//保存用户ID

Session[\] = User_id.Text;

}

} else { }

WrongNote.Text=\登录失败,请检查用户名、密码输入、用户权限!\; if(Session[\].ToString()==\) { } else { }

//部门管理员登录

Response.Redirect(\); //普通员工登录

Response.Redirect(\);

5.1.3定义重置按钮事件

下面的代码定义了用户按下“重置”按钮后的所执行的操作,主要实现了页面的刷新,在此应用Page类的Response属性的Redirect方法将客户端重新定向到员工请假管理系统首页,实现了界面的刷新。

protected void Reset_Click(object sender, EventArgs e) {

Page.Response.Redirect(\);

}

5.2 普通员工请假申请页面

普通员工请假页面如下图所示,在该页面中需要填写员工编号、请假日期、请假类型、请假开始时间、请假结束时间、请假原因描述。

5.2.1定义“提交”按钮事件

下面的代码中定义了按下“提交”按钮后所执行的操作,主要实现了请假信息的添加操作,在程序中首先要判断page.Isvalid是否为真,如果为真则定义了一个SqlCommand实例调用AddApplication存储过程,然后将SqlCommand类的CommandType属性值设置为StoredProcedure,即为存储过程,接下来应用Parameters属性获取存储过程的参数,最后应用了ExecuteNonQuery()方法执行存储过程,此方法没有返回值。

……

三、课程设计(综合实验)总结或结论

员工请假管理系统是用asp.net平台编写的,数据库开发环境是用SQL Server2005,使用的语言是C#。可以安装在window2000以上的操作系统中。

员工请假管理系统操作简单,使用方便,条理清晰,用户可以根据导航条的内容跳转到不同功能的页面。 员工请假管理系统是我第一次独立编写完成的较大的小软件,虽然这个系统的实用性不是很强,功能不是很完备,无法投入商业使用,但鉴于只有一周的时间,我对这个系统还是比较满意的,首先这个系统的可运行性非常好,界面也比较美观,基本的功能也都已经实现。但是这个系统的安全性不够完善,里面肯定还有些不足的地方。总之,我给自己的评价是这个系统基本是符合课题的要求。

四、参考文献

[1] 陈天河.JAVA数据库高级编程宝典[M].电予工业邮电出版社,2005. [2] ??

附录(设计流程图、程序、表格、数据等)

本文来源:https://www.bwwdw.com/article/uxtp.html

Top