《公司员工及财务管理系统数据库设计.doc》由会员分享,可在线阅读,更多相关《公司员工及财务管理系统数据库设计.doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、. .目录一、需求分析31.1 需求概述31.2 功能简介3二、数据库概念构造设计32.1 确定联系集及E-R图32.2 画出E-R图42.3公司员工信息及财务管理系统总E-R图5三、数据库逻辑设计53.1 员工信息表(worker)63.2 收入信息表(ine)63.3 支出信息表payment63.4 数据字典7四、 建表74.1 创立数据库74.2 创立数据表7五、数据库的运行和维护105.1 创立触发器和表的根本操作105.2 创立函数和调用135.2.1 ptotal函数查询员工的支出金额135.2.2 itotal函数查询员工的收入金额145.3 创立登录名和权限155.3.1创立
2、用户yy155.3.2 创立用户xx155.4 数据库的平安性16六、总结17一、需求分析1.1 需求概述 近年来,随着我国经济实力的不断增强,相关事业单位的基建工程也日渐增多,对其财务管理带来了更大的挑战。在这种背景下,加强事业单位基建财务管理显得尤为重要,为了积极应对国际金融危机的冲击,实现“保增长、保稳定、保民生目标,按照社会主义市场经济规律的根本要求,全面加强企业单位财务管理编写出财务管理系统,该系统可以给我们提供正确的意见和方案,让消费状况变得更加直观,也便于我们更好更方便的管理公司的财务状况;同时也需要员工管理系统,该系统分析对当今社会的人事管理方面的需求进展了认真而全面的调查。根
3、据对企业的员工管理系统的功能需求、业务操作规程及其数据构造等具体要求,调查了单位对员工管理企业的员工根本信息,确定了系统性能要求,系统运行支持环境要求,数据项的名称、数据类型、数据规格。以上这一切为统下一步的开发工作奠定了良好的根底,双系统的结合便于查看员工信息和收入支出情况。1.2 功能简介能够进展数据库的数据定义、数据操纵、数据控制等处理功能,进展联机处理的相应时间要短。具体功能应包括:系统应该提供对员工数据的插入、删除、更新、查询。例如:1.单表查询 查询员工编号为101的XX 2.插入数据 员工表中插入一数据 3.修改数据 小陈的年龄为25 4.删除数据 删除编号为103的员工记录二、
4、数据库概念构造设计2.1 确定联系集及E-R图根据前面对系统进展的分析,已经初步了解了公司员工及财务管理系统的数据处理流程,找出与系统有关的各个实体及其相互联系如下:、标示实体集:三个关系:员工,收入,支出、标示联系集:员工和收入:一个员工有多种收入方式 关系为:1:N员工和支出:一个员工可以有多种支出方式 关系为:1:M、标示属性集:员工员工编号,名字,年龄,性别)收入收入编号,员工编号,收入金额,收入时间支出支出编号,员工编号,支出金额,支出时间2.2 画出E-R图 员工信息图如下: 员 工 名 字 年 龄 性 别员工编号 图2-2-1员工实体集的E-R图收入信息图如下: 收 入 收入时间
5、 收入金额 员工编号收入编号 图2-2-2收入实体集E-R图 支出信息图如下: 支出 员工编号 支出时间 支出金额支出编号 图2-2-3支出实体集E-R图2.3公司员工信息及财务管理系统总E-R图 根据上面对实体联系的分析,可以画出E-R图如下: 员工11mn 收 入 支 出 图2-2-5公司员工信息及财务管理系统总E-R图三、数据库逻辑设计逻辑构造是独立于任何一种数据模型的信息构造。逻辑构造的任务是把概念构造设计阶段设计好的根本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑构造,并对其进展优化。E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定
6、这些关系模式的属性和码。设计公司员工信息及财务管理数据库,包括员工、收入、支出三个关系, 其关系模式中对每个实体定义的属性如下:员工信息表 员工员工编号,名字,年龄,性别)收入信息表 收入收入编号,员工编号,收入金额,收入时间支出信息表 支出支出编号,员工编号,支出金额,支出时间设计出E-R图后,可将E-R图转换为数据库模式。本系统建立的数据库为“yy,运行本系统时在库中所建立的表分别介绍如下:3.1 员工信息表(worker)字段名别名数据类型字段限制员工编号widintPrimary key名字wnameChar(10)Not null年龄wageintNot null性别wsexChar
7、(10Not null3.2 收入信息表(ine)字段名别名数据类型字段权限收入编号iidintPrimary key员工编号 iwidintForeign key收入金额 imoneyfloatNot null收入时间 itimevarchar(100)Not null3.3 支出信息表payment字段名属 性数据类型字段权限支出编号pidintPrimary key员工编号pwidintForgien key支出金额 pmoneyfloatNot null支出时间 ptimevarchar(100)Not null3.4 数据字典员工:指企业单位中各种用工形式的人员,包括固定工、合同工、
8、临时工,以及代训工和实习生。员工编号:代表员工的代号名字:是人类为区分个体,给每个个体给定的特定名称符号,是通过语言文字信息区别人群个体差异的标志。年龄:指一个人从出生时起到计算时止生存的时间长度,通常用年岁来表示。性别:主要指男女两性的区别收入:指企业在日常活动中所形成的、会导致所有者权益增加的、非所有者投入资本的经济利益的总流入收入编号:代表收入的代号收入金额:企业在日常活动中所获取的金钱数量收入时间:收入入账的时间支出:企业在生产经营过程中为获得另一项资产、为清偿债务所发生的资产的流出。支出金额:企业在日常活动中所使用的金钱数量支出时间:支出入账的时间四、 建表4.1 创立数据库Crea
9、te database yy 4.2 创立数据表 一个完整的数据库不可缺少的就是数据表,假设干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创立数据表的过程其实就是定义字段的过程。在此公司员工信息及财务管理系统中需要创立三个表,即员工信息表、收入信息表、支出信息表。创立数据库后,为yy数据库添加数据表,步骤如下。新建查询窗口在查询窗口中键入以下SQL语句 create table worker( wid int primary key, wname char(10), wsex char(10), wage int);执行上述SQL语句即可
10、创立员工信息表相关表格insert into worker values(101,小X,男,24);insert into worker values(102,小X,女,26);insert into worker values(103,小陈,男,27);insert into worker values(104,小邱,女,22);运行结果为:create table ine( iid int primary key, iwid int , imoney float, itime varchar(100), foreign key(iwid) references worker(wid) );
11、执行上述SQL语句即可创立收入信息表相关表格insert into worker values(101,小X,男,24);insert into worker values(102,小X,女,26);insert into worker values(103,小陈,男,27);insert into worker values(104,小邱,女,22); 运行结果为:create table payment( pid int primary key, pwid int , pmoney float, ptime varchar(100) foreign key (pwid) reference
12、s worker(wid); 执行上述SQL语句即可创立支出信息表相关表格 insert into ine values(201,103,1000,2021年2月4日);insert into ine values(202,104,2000,2021年6月10日);insert into ine values(203,101,1500,2021年8月17日);insert into ine values(204,102,2500,2021年10月3日);运行结果为:五、数据库的运行和维护5.1 创立触发器和表的根本操作触发器的作用:当删除、插入及修改数据时,显示所有数据。create trig
13、ger yy on workerafter insert,delete,updateasbegin select * from worker -插入数据 员工表中插入一数据insert into worker values(105,小李,女,22);-单表查询 查询员工编号为101的XXselect wname from worker where wid=101;-修改数据 小陈的年龄为25update worker set wage=25 where wname=小陈;-删除数据 删除编号为103的员工记录 delete from worker where wid=103;5.2 创立函数和
14、调用5.2.1 ptotal函数查询员工的支出金额if exists (select name from sysobjects where name=ptotal) drop function ptotalgo create function ptotal(a char)returns float begin declare b float select b =(select payment.pmoney from payment,worker where payment.pwid=worker.wid and worker.wname=a) return b endselect * from
15、 ptotal(小X) 运行结果如以下图:5.2.2 itotal函数查询员工的收入金额 if exists (select name from sysobjects where name=itotal) drop function itotalgo create function itotal(c char)returns double as begin declare h double select h=(select sum(imoney) from ine.wid=worker.wid where worker.wname=c) return h endselect * from it
16、otal(小X) 运行结果如以下图:5.3 创立登录名和权限5.3.1创立用户yydb_owner:数据库所有者,可以执行数据库的所有管理操作create login yy with password=123, default_database=yy create user yy for login yy exec sp_addrolemember db_owner,yy5.3.2 创立用户xxdb_denydatawriter:数据库拒绝数据写入者,不能添加、修改或删除数据库内用户表中的任何数据create login xx with password=123, default_databa
17、se=yy create user xx for login xx exec sp_addrolemember db_denydatawriter,xx5.4 数据库的平安性所谓计算机系统平安性,是指为计算机系统建立和采取的各种平安保护措施,以保护计算机系统中的硬件,软件及数据,防止其偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。为防止因用户非法使用数据库造成数据泄露、更改或破坏,必须采取一些平安性控制措施以保证数据库中数据的平安、可靠和正确有效。平安性控制的防X对象是非法用户和非法操作,防止他们对数据库数据的非法存取。主要采用用户标识及鉴定,使用用户名或用户标识号来标明用户身份。用户想要对对数据库内容进展相关操作,必须申请一个用户名或用户标识号,每次登陆都必须输入该用户名以及相应正确的口令,然后系统对其进展验证,只有通过验证的用户方可对数据库进展操作。. .word.