收藏 分销(赏)

数据库大作业1.doc

上传人:精*** 文档编号:2493106 上传时间:2024-05-30 格式:DOC 页数:14 大小:1.18MB
下载 相关 举报
数据库大作业1.doc_第1页
第1页 / 共14页
数据库大作业1.doc_第2页
第2页 / 共14页
数据库大作业1.doc_第3页
第3页 / 共14页
数据库大作业1.doc_第4页
第4页 / 共14页
数据库大作业1.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、机械工程与自动化学院设计说明书课程名称:VF及其应用系统开发实验项目:员工薪资管理班级名称:姓 名:学 号:一.摘要3二.引言3三.背景3四.需求分析41.1员工薪资管理系统的开题分析41.2数据字典5五.数据库设计51.1数据库概念设计51.2.逻辑设计81.3.物理设计8六.数据库实施、运行、维护101.1数据库实施、运行101.2.1备份系统数据101.2.2监视系统运行状况,及时处理系统错误111.2.3补充说明11七.对数据库的评价和总结12八.参考文献13九.附录131、打开文件132、 设置文件13一.摘要公司员工工资管理是公司管理的一项重要内容。随着公司员工数量增加,企业的工资

2、管理工作也变得越来越复杂。工资管理既涉及到企业的人事管理,同时也是企业财务管理的重要组成部分。工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存和查询,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。二.引言随着计算机技术的飞速发展,计算机在信息管理中应用的普及,利用计算机实现人事工资的管理势在必行,利用计算

3、机管理工资信息,是适应现代化的要求、推动管理制度走向科学化、规范化的必要条件:工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资需手工填制大量的表格,这就会耗费工作人员大量的时间和精力,利用计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计、服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点。三.背景1) 某单位现有1000名员工,其中有管理人员、财务人员、技术人员和销售人员。2) 该单位下设4个科室,即经理室、财务科、技术科和销

4、售科。3) 工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除。4) 每个员工的基本资料有姓名、性别、年龄、单位和职业(如经理、工程师、销售员等)。5) 每月个人的最高工资不超过3000元。工资按月发放,实际发放的工资金额为工资减去扣除。企业的工资管理是公司管理的一个重要内容,随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既设计到企业劳动认识的管理,同时也是企业财务管理的重要组成部分,工资管理需要和人事管理相联系,同时连接工时考核和医疗保险等等,来生产那个企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。资金是企业生存的主要元素,资金的流

5、动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎活计算疏漏,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。企业工资管理系统极大的提高了工作效率,节省了人力和财力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志。四.需求分析1.1员工薪资管理系统的开题分析:1、公司的员工各自只能不同,领取的工资也不相同

6、,员工分为管理人员、财务人员、技术人员和工人。2、 下设几个部门,各部门人员领取的工资也不相同,有人事部、售会计部、广告部、售后服务部和生产车间等一系列部门。3、工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除。4、每个员工的基本资料有姓名、性别、年龄、单位、参加工作时间和职务(如经理、主任、科长、工程师、办事员和工人等)。5、每月个人的最高工资不超过3000元。工资每月按部门发放,实际发放的工资金额为工资总额减去失业保险和住房公积金。如果违反劳动纪律,每次扣除基本工资的10%,若扣除金额每月累计超过基本工资,下月工资停发。1.2数据字典查询信息修改密码实发工资应得工资

7、删除员工信息查询员工信息增加员工信息编辑员工信息员工会计部用户登录薪资管理五.数据库设计1.1数据库概念设计薪资管理系统额度功能和实体属性是画E-R的主要依据,根据系统所要实现的功能,可以列出本系统的一系列关系,从而构造出系统的逻辑功能结构。本系统中的实体主要有员工信息实体,员工应得工资实体,员工实发工资实体,以及员工罚扣工资实体和员工奖励工资实体。员工实体性别姓名职务实发工资应发工资员工E-R图鼓励补贴基本工资应得工资应得工资实体E-R图奖励工资应得工资实发工资实发工资实体E-R图奖励实体E-R图职位姓名奖励工资奖励性别姓名实得工资罚扣工资罚扣员工罚扣员工实体E-R图1.2.逻辑设计员工管理

8、:YG(应发工资,实发工资,职务,姓名,性别)应得工资管理:YDGZ(基本工资,鼓励补贴) 实发工资管理:SFGZ(应得工资,奖励工资)奖励管理:JL(奖励工资,职位,姓名)罚扣员工管理:FKYG(罚扣工资,实得工资,姓名,性别)1.3.物理设计员工表列名数据类型应发工资数值型(8)实发工资数值型(8)职务字符型(8)姓名字符型(4)性别字符型(2)应得工资表列名数据类型基本工资数值型(20)鼓励补贴数值型(20)实得工资表列名数据类型应得工资数值型(20)奖励工资数值型(20)奖励表列名数据类型奖励工资数值型(20)职位字符型(10)姓名字符型(4)罚扣员工表列名数据类型罚扣工资数值型(20

9、)实得工资数值型(20)姓名字符型(4)性别字符型(2)六.数据库实施、运行、维护1.1数据库实施、运行SQL语言Crea data 员工薪资管理 Modify data 员工薪资管理Crea table YG(应发工资 n(8),实发工资 n(8),职务 c(8),姓名 c(4),性别 c(2)Crea table YDGZ(基本工资 n(20),鼓励补贴 n(20)Crea table SDGZ(应得工资 n(20),奖励工资 n(20)Create table JL(奖励工资 n(20),职位 c(20),姓名 c(4)Crea table FKYG(罚扣工资 n(20),实得工资 n(

10、20),姓名 c(4),性别 c(2)1.2数据库的维护1.2.1备份系统数据A. 备份数据库B. 备份事务日志C. 备份数据库及其日志间的相互作用D. 万一系统失败时恢复数据库系统1.2.2监视系统运行状况,及时处理系统错误A. 监视当前用户以及进程的信息B. 监视目标占用空间情况1.2.3补充说明I. 命令按钮组含有新增、修改、删除、存储、取消等命令按钮。II. 在运行新增或修改功能时,除了存储、取消按钮可操作,其余按钮都设置为禁止状态,防止使用者操作不当引起错误。III. 不是运行新增或修改功能时,除了存储、取消按钮为禁止状态外,其它按钮都是可以选择操作。IV. 在运行新增或修改功能时,

11、光标自动会跳到第一个输入框(文本框)V. 设计步骤:i. 从表单控件工具栏,点工具按钮,添加一个命令按钮组到表单上ii. 设置CommandGroup对象的AutoSize属性为.T.,BottomCount属性为5,Name属性为UpdateBtn。iii. 设置其中的各个按钮属性如下:Command1:Caption=新增FontSize=12Name=CmdNewCommand2:Caption=修改FontSize=12Name=CmdEditCommand3:Caption=删除FontSize=12Name=CmdDelCommand4:Caption=存储FontSize=12N

12、ame=CmdSaveCommand5:Caption=取消FontSize=12Name=CmdCanceliv. 在表单新增一属性UpDateMode,用于存储表单当前是否处于可编辑状态(即新增或修改状态),初始值为.f.。v. 在表单上所有可编辑对象的WhenEvent方法程序里都写上RETURNThisForm.UpDateModevi. 设置表单的数据环境的表缓冲模式为“3-开放式行缓冲”。vii. 因为在编写代码时一般要控制定位记录的按钮,以下编写代码假设表单上存在另一组用于定位记录的按钮组,取名为Navigator,其中的四个按钮分别为:首记录:CmdTop;上一记录:CmdPr

13、ior;下一记录:CmdNext;末记录:CmdBottomviii. 编写新增按钮的ClickEvent程序ix. 编写修改按钮的ClickEvent程序:x. 编写删除按钮的ClickEvent程序(说明:为了提高程序运行效率,应将程序的运行环境中的SetDeleted设置为On,即隐藏删除记录,但是在运行删除命令后,必须移动记录指针,被删除的记录才会隐藏。一般来说在删除记录后应该用TableUpdate()更新原始表,但这里我们开始将数据环境设置为开放式的行缓冲,所以Skip以后会自动更新。)xi. 编写存储按钮的ClickEvent程序xii. 编写取消按钮的ClickEvent程序七

14、.对数据库的评价和总结随着计算机技术的发和普及,各行各业的管理机构需要由计算机处理大量的信息,而选择一个优秀的数据库管理系统作为开发平台,将给日后的信息处理带来极大的方便。通过学习vf,让我认识到了他的神奇,而与团队和作更让我见识到了他的魅力,它能够管理大量的数据信息。能够实现数菊的存储加工。刚开始设计感觉一头雾水,什么都不懂,觉得很乱,不知如何下手,于是借阅书籍,向人求助,一步一步来,慢慢的报表、封面等都有了头绪,最后程序经过大家的女力基本完成,尽管他依然存在缺点,以前在写一些控件的事件时,只看老师在哪儿讲演,自己什么都不会,通过此次设计让我学会了好多,也让我明白了一个完整的程序是由许多小小

15、的枝干连接而成。这在之前不曾意识到的问题如今全都暴露无遗,但庆幸的是我选了这门课。因此,从这门课程的学习中我初步对vfp软件有了了解,并且学到了如何利用vfp去建表、表单、菜单、报表、以及数据库等,此外,我也会使用select-sql命令在命令窗口下执行查询,我也知道了如何用查询设计器去建立查询,以及最令我头疼的程序设计和那些以前对我来说如甲骨文般的各种命令都在这门课程中有所涉及,我也很高兴去学习并使用我所学到的每一点知识。开发工程中存在着一些问题,造成这些问题的原因是多方面的。如:前期系统数据库的设计缺陷和部分代码的构建缺陷、客户需求的理解上也存在一定问题,这就需要我们用一定的时间来维护客户

16、使用过程中提出的新问题和存在的debug,当然,经过了这次小组作业我才发现我学到的远远不够,因为在这过程中我们真的碰到了很多很多问题,但经过我们小组人员的团结协作再加上我们对相关资料的查阅绝大多数问题最终得到了解决,而我们也在这次作业中复习并检验了我们这一个学期所学到的知识,最终的结果虽不是完美但总体来说我们的任务几乎得到完成。一个项目的开发成败或者说项目开发带来效益的大小,在很大程度上是受项目合同签定的影响的。往往,很多一部分公司与客户签定的项目合同都是很模糊的,也很难签定的比较清楚,这样以来就会导致在项目的开发后期,工作两会越来越大,影响项目的竣工周期;而且,项目的开发费用一般是不会变的系

17、统开发框架:此系统的框架使用的是简单三层结构,此框架在开发一些中小软件是比较实用的。但是我们要是可以开发出自己的框架,把一些通用的功能开发到框架中。这样以来,在以后的系统开发中,针对系统中一些通用的功能就不需要再开发,从而也可以很好的提高我们的开发效率;减少很多维护费用。使我们的技术不断的更加成熟。从刚开始表的建立到最后程序的设计及系统开发,一路走过,遇到了许多问题。尤其是在最后一次作业中,让我成长了许多。测试工具的应用可以提高测试的质量、测试的效率。但是在选择和使用测试工具的时候,我们也应该看到,在测试过程中,并不是所有的测试工具都适合我们使用,同时,有了测试工具、会使用测试工具并不等于测试

18、工具真正能在测试中发挥作用通过这次系统设计,我深深体会到”千里之行始于足下”这句千古名言的真正含义。今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。这次系统设计,我在多方面都有所提高,首先掌握了一些数据库程序用语,对不同文件的设计需要不同的程序,然后也提高了我设计程序的能力以及综合运用知识的能力,当然在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督也学会了合作,学会了宽容,学会了理解,也学会了做人与处世。总之,数据库激发了我对计算机的热爱,在以后的日子里我会继续学习这方面的知识。八.参考文献1数据库原理及应用 钱雪忠主编 北京

19、邮电大学出版社 2007,8 第二版2SQL server 2000数据仓库与Analysis Services Bain T著 中国电力出版社 20033数据库技术与联机分析处理 王珊主编 北京科学出版社 1998九.附录1、打开文件 在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是: void open(const char* filename,int mode,int access); 参数: filename: 要打开的文件名 mode: 要打开文件的方式 access: 打开文件的属性 打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值

20、如下: ios:app: 以追加的方式打开文件 ios:ate: 文件打开后定位到文件尾,ios:app就包含有此属性 ios:binary: 以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文 ios:in: 文件以输入方式打开 ios:out: 文件以输出方式打开 ios:nocreate: 不建立文件,所以文件不存在时打开失败 ios:noreplace:不覆盖文件,所以打开文件时如果文件存在失败 ios:trunc: 如果文件存在,把文件长度设为0 2、 设置文件read()成员函数的第一个参数是一个字符指针(即char *类型),而b是一个int变量,所以在传递之前要先进行类型转换,首先取b的地址(也就是&b的作用),然后再把这个地址转换为char *类型,所以要写成(char *)&b,转换之后最终将数据存入b变量,但在使用b时,会按int类型解释i里面的数据。而且read()成员函数的第二个参数就是用于控制最多读取多少字节的内容,像这里,它最多只会读取sizeof(b)个字节的数据,而sizeof(b)将返回b变量的字节宽度,在32位系统上,它的值是4,也就是说,这里的read()调用最多读取4个字节的数据到b变量的空间中(也就是4个字符)。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服