枣庄学院信息科学与工程学院课程设计任务书题目:企业工资管理系统学号:姓名:专业:网络工程课程:数据库系统概论指导教师:职称:完成时间: 20 11 年 12 月----2011 年 12 月枣庄学院信息科学与工程学院制年月日课程设计任务书及成绩评定目录第一章目的《数据库系统概论》课程设计对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
本课程设计实验主要围绕两方面内容:数据库设计和基本数据库编程实践。
通过本实验,使学生了解数据库系统的理论,掌握数据库的设计方法及数据库的运用和基本开发技术。
1. 掌握数据库设计的基本方法,熟悉数据库设计的步骤;2. 通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力;3. 学习基本数据库编程方法。
第二章引言企业工资管理系统是一个中小型企业单位不可缺少的部分,它的内容对于中小企业的决策者和管理者来说都至关重要,所以企业工资管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件工资,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对员工工资信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高企业工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
下面我所做的工资管理系统,该系统可以实现以下功能:(1) 员工各种信息的输入及维护。
(2) 员工每个工种基本工资的设定。
(3) 加班津贴管理,根据加班时间和类型给予不同的加班津贴;(4) 按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资;(5) 员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/6;(6) 能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计。
第三章课程设计内容与要求描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
数据字典(DD)通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
1、数据项2、数据结构3、数据流4、数据存储5、处理过程二、概念结构设计概念结构设计的步骤:第一步:进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。
因此我们先逐一的设计分E-R图。
第二步:进行视图的集成:各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E-R图。
采用一次集成两个分E-R图的方式。
三、逻辑结构的设计将E-R图转换成等价的关系模式;按需求对关系模式进行规范化;对规范化后的模式进行评价,调整模式,使其满足性能、存储等方面要求;根据局部应用需要设计外模式。
逻辑结构设计的任务是将概念结构设计的E-R图,转化为与选用的DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。
员工信息(员工号、工种号、姓名、性别、民族、联系电话、家庭住址、出生日期、身份证号),1NF范式;工作信息(工种号、工种名称、部门、基本工资),3NF范式;罚款(罚款类型、每次缺勤罚款额、),3NF范式;津贴(津贴类型、每小时加班津贴),3NF范式;月工资(员工号、工种号、罚款类型、津贴类型、基本工资、缺勤次数、加班小时数、本月罚款、本月津贴、月工资数),3NF范式;年总工资(员工号、年份、年总工资数、年终奖金),3NF范式。
表3-1 员工信息表表3-2 工作信息表表3-3 考勤信息表表3-4 收入信息表四、物理结构设计数据库的物理设计通常分为两步:(1)定数据库的物理结构,在关系数据库中主要指存取方法和存储结构。
(2)物理结构进行评价,评价的重点是时间和空间效率。
4.1 索引的建立索引的选择:①如果一个属性经常在查询条件中出现,要考虑在这个属性上建立索引。
②如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引。
建立索引:为提高检索性能,为表创建符合索引。
4.2 数据库的存储结构选择在SQL SERVER2005上实现数据库后台设计。
Microsoft SQL Server2005 是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。
自定义窗体收集信息。
数据表示图可以使数据库一目了然,还提供了排序功能。
Microsoft SQL Server2005也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。
根据掌握的知识,设计了一些存储过程,这些都为数据库的功能实现提供了很好的帮助,这些功能将在数据实施和维护段详细说明。
五、数据实施和维护用SQL SERVER2005建立数据库结构,此数据库命名为:salary,加载(测试/虚拟)数据,能体现对数据库的保护(安全性和完整性控制等)。
实现各种查询、链接应用程序,并能对数据库做简单的维护操作。
5.1建立数据库Create database 工资管理系统5.2 建立表create table 员工信息(wno int primary key,wname char(10),sex char(2),birth int,addr char(20),call char(20),typ int,types int,ide int,deper int);create table 工作信息(deper char(10),types int,typ int,tname char(8));Create table 考勤信息(absence char(10),overhour int,abstime int);create table 津贴表(absence char(12) primary key,atcash int,);create table 加班表(wno int,overtime char(12),overhour int,primary key(wno,overtime),foreign key (wno) references 员工信息(wno),foreign key (overtime) references 加班表(overtime) );create table 收入信息(bwage char(10),wno int primary key,ohcash int,atcash int,month int,wage int,allo int,fine int,chuqinday int,yingfa int,shifa int);5.3建立视图Create view 员工信息_收入信息AsSelect 员工信息.wname,收入信息.* From 员工信息,收入信息Where 员工信息.wno=收入信息.wno;5.4存储过程:月工资表的存储过程create procedure m1(@wno int)asinsertinto月工资表(wno,moonallo,moonfine,bwage,wage)select 员工信息.wno,abstime*atcash,overhour*ohcash,工作信息.bwage, abstime*atcash+overhour*ohcash+工作信息.bwagefrom员工信息,工作信息,考勤信息,津贴表,收入信息where @wno=员工信息.wno and 员工信息.wno=加班表.wno and加班表.wno=考勤信息.wno and 津贴表.overtime=加班表.overtime;年总工资表的存储过程create procedure m2(@wno int)asinsertinto 年总工资表(wno,allwage,weal)select 月工资表.wno,sum(wage),(sum(wage)+sum(moonallo))/6from 月工资表where @wno=月工资表.wnogroup by wno;查询月工资的存储过程create procedure m3(@wno int)asselect *from 月工资表where;查询年工资的存储过程create procedure m4(@wno int)asselect *from 年总工资表where;按月查询部门工资情况的存储过程create procedure m5(@depar char(8),@moon int)asselect depar,sum(wage),avg(wage)from月工资表, 工作信息where 月工资表.moon=@moon and 工作信息.depar=@depar group by 工作信息.depar;5.5建立索引create index wno_wname_indon 员工信息(wno,wname);5.6查询select *from 员工信息;select chuqinday,wnofrom 收入信息;select 员工信息.wno,wname,typ,shifafrom 收入信息,员工信息where 收入信息.wno =员工信息.wno ;select wno,month, bwage, ohcash ,atcash ,wage ,allo, finefrom 收入信息,员工信息where 员工信息.wno=收入信息.wno and wname like '林%';select typ, avg(shifa)from 收入信息,员工信息where 工信信息.wno=收入信息.wnogroup by typ ;select wno,month, bwage, ohcash ,atcash ,wage ,allo, fine,yingfa,shifa from 收入信息,员工信息where 员工信息.wno=收入信息.wno;5.7用户与权限管理create login login1 with password='1234';use master;create user stu fro login1;exec sp_addrogin ‘mytest’grant updata,deleteon usersto mytestexec sp_addrolemember’mytest’;小结随着信息化浪潮的日益临近,企业在激烈的市场竞争环境下的求得生存,就必须有效地利用人才、时间、信息结合的优势。