数据库课程设计报告

更新时间:2024-05-22 03:01:01 阅读量: 综合文库 文档下载

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

数据库课程设计

设计题目: 工资管理系统 班 级: 电商5班 学 号: 131309228 姓 名: 杨珊珊

2016年 04 月 25 日

目 录

1.系统概述 ................................................................................................................. 3 1.1系统功能与应用背景………………………………………………………..3 2.系统设计 ................................................................................................................. 3 2.1 系统设计思想…………………………………………………………...3 3.数据库结构设计 ..................................................................................................... 3 3.1数据库需求分析…………………………………………………………3 3.2数据库概念结构设计……………………………………………………3 3.3数据库逻辑结构设计……………………………………………………5 3.4数据库物理结构设计……………………………………………………5

4.应用程序设计……………………………………………………………………6 4.1 系统功能模块划分…………………………………………………….6

4.2登录界面截图………………………………………………………..7 4.3查询界面截图…………………………………………..8

4.4津贴查询界面截图…………………………………………..8 4.5添加删除员工界面截图…………………………………………..8 4.6显示所有信息界面截图……………………………………….9

5.程序代码……………………………………………………………………….10

6.总结……………………………………………………………………………..12

1. 系统概述

1.1系统功能与应用背景

目前,公司的员工信息管理工作已不局限于对员工基本信息数据库的维护,而是越来越多地参与到为其他部门提供一些必要的协调与服务。员工信息管理的现状主要为:缺乏统一的管理模式,员工数据较为分散,随着员工的改变,需要经常对数据进行变更,而且对于变更的数据不能做到及时统一与修正。相关部门之间很难建立一套机制来确保数据的完整性,因而需要大量的人力资源来弥补这个空缺。

本系统提供了一套员工综合信息管理的平台,使得系统管理人员对公司的工种进行分类,进而确定各个工种所对应的部门信息,在已有部门信息的基础上能够对所有的员工信息进行分类管理。 本系统的主要功能包括以下几个方面:

? 工种种类设置 ? 员工个人信息管理 ? 员工所属部门信息管理 ? 员工月收入信息管理

2. 系统设计

2.1 系统设计思想

本实例选用C#作为开发语言,采用结合后台SQL Server 数据库的C/S 结构开发模式,优化了程序代码及结构,提高了程序的运行效率,实例在.NET环境中进行开发,该环境提供了大量可选择的数据对像,可以很方便地建立与数据库之间的链接,并在此连接的基础上,利用各种常用数据组件对数据库进行操作。

在本实例中,采用SqlConnection 对象与后台数据库创建连接,所有针对数据库的操作都需要利用这个对象作为数据库连接对象

3.数据库设计

3.1数据库需求分析

在设计数据库结构时,应该尽可能满足用户提出的各项要求,同时避免冗余数据的产生。由于在员工信息管理系统中需要采集大量的信息,包括工种信息、员工信息、部门信息、收入信息等,如果不能有效合理地组织数据表的结构以及每张表所包含的字段,那么在后期进行数据整理机汇总时,将增加开发人员的工作难度和工作量。根据员工的基本信息及相关特点,可以总结出以下规律; ? 一个工种包含一个或多个员工; ? 一个部门包含多名员工; ? 每个员工都有不同的工号;

? 每个员工都有自己所对应的月收入; ? 一个角色对应一个或多个用户。 3.2数据库概念结构设计

根据数据库需求分析的结果就可以确定程序中所包含的实体与实体之间的关系,作为数据库逻辑结构设计的基础与指导。根据本系统的

需要,可以归纳出一下实体:工种信息实体、部门信息实体、员工信息实体、员工月收入实体。为了更好地理解各个实体及其含义,用E-R图,即实体关系图对实体进行描述。

员工信息E-R图:

工种号 基本工资 Work 部门 工种名称 账号

员工工资信息E-R图:

基本工资 工资 salary 总工资 奖金 员工号

管理员用户E-R图:

用户 UserPeople 账号 密码

津贴管理E-R图:

员工号 加班费用 Allowance 加班时间 误工数 误工费 3.3数据库逻辑结构设计

系统数据库名称为gongziguanlixitong,数据库中包括:

1.Work(gongzhongno,jibensalary,gongzhongmincheng,bumen,zhanghao) 2.Salary(salary,yuangongno,jibensalary,allowance,totalsalary) 3.UserPeople(yonghuno,zhanghao,mima)

4.Allowance(yuangongno,jiabantime,jiabansalary,wugongshu,wugongsalary)

3.4数据库物理结构设计 表1Work的数据结构

表2 Salary的数据结构

表3 UserPeople的数据结构

表4 Allowance的数据结构

4.应用程序设计

4.1系统功能模块设计

登陆 添删津显工加除 贴示资员员查界查 工工询面询

显示所有信息返回

4.2主界面程序截图

登录界面截图,这里输入:

登录后:

4.3查询工资界面:

4.4津贴查询界面:

4.5添加员工界面:

删除员工界面:

4.6显示所有信息:

5.程序代码

下面是连接数据库部分的代码: 视图:

SELECT jibensalary, yuangongno, allowance, gongzhongno, salary, totalsalary FROM dbo.Salary

WHERE (totalsalary >= 3000)

存储过程:

USE [gongziguanlixitong] GO

/****** Object: StoredProcedure [dbo].[count_3000] Script Date: 12/26/2012 19:52:48 ******/ SET ANSI_NULLS ON GO

SET QUOTED_IDENTIFIER ON GO

ALTER proc [dbo].[count_3000] @num int output

as select @num = count(*) from Salary where totalsalary>=3000

触发器:

USE [gongziguanlixitong] GO

/****** Object: Trigger [dbo].[updateyuangno] Script Date: 12/26/2012 21:30:46 ******/ SET ANSI_NULLS ON GO

SET QUOTED_IDENTIFIER ON GO

ALTER trigger [dbo].[updateyuangno] on [dbo].[Salary] for update as

declare @ayuangno char(10),@byuangno char(10) select @ayuangno = yuangongno from inserted select @byuangno = yuangongno from deleted

update Allowance set yuangongno = @ayuangno where yuangongno = @byuangno

CHECK约束:

6.总结

该工资管理系统总体说来功能比较齐全,管理员和员工的一些基本的功能都已经具备;数据库的设计方面,建有员工表、管理员表、工资表、津贴表。数据库中存在一些问题,如数据冗余,不够完善。

但在做课程设计的过程中也遇到很多问题,一开始时其中最大的问题是不知道用哪种编译工具,后来选择了Microsoft Visual Studio,在编写程序时,编写程序起来也有点困难,但是也越来越顺利了。经过调试后终于把自已想到实现的功能一步步实现了,通过这次课程设计使我收获了好多,熟悉了C#的运用,还复习了数据库相关语句的编写。

此次课程设计让我感受颇多:做一个数据库其实是一件很有趣的事情。想到自己可以创建一个小型的数据库系统,有点学习后的满足

感。数据库的建立并非难事,难点在于数据库的连接和编程语言的选择。C#的功能很强大,这也是我以后需要学习的课程,于是我毅然选择了它。再就是建立数据库系统的步骤,我的经验就是要先总体规划,再局部整理。先做好总的界面,再通过该界面的布置一步一步实现其功能!

同时我体会到:熟练的编程能力,对知识运用的强烈渴望及其创新和团队的合作精神设做好一个大型数据库的基础。因此通过此次课程设计我明显感觉到自身的不足,并希望以后能更加用心地运用所学知识和学习新的知识。

参考文献

[1] [2] [3]

C#实用开发教程 清华出版社 软件工程 清华大学出版社 数据库系统概论 高等教育出版社

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

Top