题目: 职工工资管理 成绩:
数据库原理课程设计
1设计题目
职工工资管理
2 系统概述
企业的工资管理是公司管理的一个重要内容,随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既设计到企业劳动认识的管理,同时也是企业财务管理的重要组成部分,工资管理需要和人事管理相联系,同时连接工时考核和医疗保险等等,来生产那个企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资。
3系统功能模块设计
(1)员工信息和履历模块
员工基本信息模块具有员工信息输入、员工增删和员工信息查询三个功能。员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在职务、和工资等级等信息。员工增删实现了对数据库中员工信息的增加和删除。员工信息查询可以通过员工号或员工姓名对员工信息进行查询。 (2)工资结构设置模块
根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资和工龄工资三部分。该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。 (3)工资汇总模块
用在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇
数据库原理课程设计
总模块会自动对员工工资进行汇总。用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打印预览户。 4数据库概念结构设计 员工实体E-R图: 员工 员工号 姓名 性别 年龄 部门 职务 工资实体E-R图: 工资 基本工资 福利补贴 奖励工资 失业保险 住房公积金 部门实体E-R图: 部门 部门号 部门名 职务实体E-R图:
职务 职务号 职务名 数据库原理课程设计
考勤实体E-R图: 考勤 记录编号 员工号 出勤情况 日期 总E-R图 考 勤 1 属于 1 n 员 n 1 n 1 属于 1 职务 包含 工 从事 1 应得工资 拥有 实发工资 1 工资 部门 5数据库逻辑结构设计 员工表(员工号,姓名,性别,年龄,部门号,职务号) 工资表(员工号,基本工资,福利补贴,奖励工资,失业保险,住房公积金,应得工资,实发工资) 部门表(部门号,部门名) 职务表(职务号,职务名) 考勤表(记录编号,员工号,出勤情况,日期) 员工表: 用于记录员工数据,此表创建的字段名是 :员工号、部门号、职业号、
数据库原理课程设计
姓名、性别、年龄,其中员工号设为主键 属性名 员工号(yg) 姓名 性别 年龄 部门号 职务号 数据类型 char char char char char char 字段长度 11 2 7 8 2 2 是否为空 NO NO NO NO NO NO 是否主外键 主键 工资表: 此表创建的字段名是:员工号、基本工资、福利补贴、奖励工资、失业保险、住房工积金、应得工资、实发工资,其中员工号设为主键 属性名 员工号 基本工资 福利补贴 奖励工资 失业保险 住房公积金 应得工资 实发工资 类型 char char float float float float float float 长度 11 7 7 7 7 7 7 7 是否允许为空 NO NO NO NO NO NO NO NO 是否主外键 主键 部门表(bb): 用于区分员工的类别,此表创建的字段名是:经理室,财务科,技术科 属性名 部门号(bm) 部门名(bh) 类型 char char 长度 10 7 是否允许为空 NO NO 是否主外键 主键 考勤表: 属性名 记录编号 员工号 出勤情况 日期 部门号 职务号
数据类型 char char char char char char 字段长度 11 8 8 8 2 2 是否为空 NO NO NO NO NO NO 是否主外键 主键 数据库原理课程设计
职业表(zb): 员 属性名 职务号(zy) 职务名(zh) 类型 char char 长度 8 10 是否允许为空 NO NO 是否主外键 主键 用于区分员工的职业,此表的字段名是:管理人员,财务人员,技术人6数据库物理设计 建立索引: CREATE UNIQUE INDEX zb ON zh(zy) CREATE UNIQUE INDEX bb ON bh(bm) 数据项:员工号 含义说明:唯一的标识每个员工 类型:字符型 长度:6 取值范围:000000-999999 取值含义:1-2位标识部门号3-4位标识职业号,5-6位标识员工号 数据项:姓名 含义说明:标识每个员工的姓名 类型:字符型 长度:8 取值含义:顺序标识每一个员工的姓名 数据项:性别 含义说明:唯一的标识每一个员工的性别 类型;逻辑型 长度:1 取值范围:0或者1 取值含义:唯一的标识每一个员工的性别 数据项:年龄
数据库原理课程设计
含义说明:标识每一个员工的年龄 类型:整型 长度:2 取值范围:18-100
取值含义:顺序的标识每一个员工的年龄
员工是该系统中的一个核心数据结构,它可以描述如下: 数据结构:员工
含义说明:是员工薪资管理系统中的主体数据结构,定义了一个员工的有关信息
组成:员工号,姓名,性别,年龄 数据项:基本工资
含义说明:标识每一个员工的基本工资 类型:浮点型 长度:7 取值范围:0000.00-3000.00
取值含义:顺序的标识每一个员工的基本工资 数据项:福利补贴
含义说明:标识每一个员工的福利补贴 类型:浮点型 长度:7
取值范围:0000.00-3000.00
取值含义:顺序的标识每一个员工的福利补贴 数据项:奖励工资
含义说明:标识每一个员工的奖励工资 类型:浮点型 长度:7 取值范围:0000.00-3000.00
取值含义:顺序的标识每一个员工的奖励工资 数据项:失业保险
数据库原理课程设计
含义说明:标识每一个员工的失业保险 类型:浮点型 长度:7 取值范围:0000.00-3000.00
取值含义:顺序的标识每一个员工的失业保险 数据项:应得工资
含义说明:标识每一个员工的应得工资 类型:浮点型 长度:7 取值范围:0000.00-3000.00
取值含义:顺序的标识每一个员工的应得工资 数据项:实得工资
含义说明:标识每一个员工的实得工资 类型:浮点型 长度:7 取值范围:0000.00-3000.00
取值含义:顺序的标识每一个员工的实得工资
7程序运行环境和开发环境
操作系统:windows 7 后台数据库:SQL Server 2008 开发工具:JAVA等
由于java编程与win7系统的SQL Server 2008比较兼容,所以我用的win7系统,这更便于我们编程与调试
8数据库的实施与运行
通过员工信息登入工资管理系统界面,如图:
数据库原理课程设计
图8-1
具体代码如下:
public void createDialog ()
{
JPanel jpan1 = new JPanel (); JButton jbut1 = new JButton (\"确定\"); jbut1.setFont (fn);
jbut1.setFocusPainted(false); JButton jbut2 = new JButton (\"取消\"); jbut2.setFont (fn);
jbut2.setFocusPainted(false);
JTextField jte1 = new JTextField (\"\
JPasswordField jte2 = new JPasswordField (\"\
dialog = new JDialog (Salary.this, \"用户登录框\创建对话框 //Font fn = new Font (\"宋体\
dialog.setSize (new Dimension (300, 200));//设置对话的大小 dialog.setLayout (new GridLayout (4, 1));//设置对话框的布局 dialog.setLocation (400, 260); JLabel jlab1 = new JLabel (\"请登录\"); JLabel jlab2 = new JLabel (\"用户名:\"); JLabel jlab3 = new JLabel (\"密 码:\");
数据库原理课程设计
jpan1.add (jlab1); jpan2.add (jlab2); jpan2.add (jte1); jpan3.add (jlab3); jpan3.add (jte2); jpan4.add (jbut1); jpan4.add (jbut2); //监听按钮事件
jbut1.addActionListener (new ActionListener () { });
jbut2.addActionListener (new ActionListener () { });
//监听对话框事件
addWindowListener (new WindowAdapter () { });
public void windowClosing (WindowEvent e) { }
System.exit (0);
public void actionPerformed (ActionEvent e) { }
System.exit (0);
public void actionPerformed (ActionEvent e) { }
dialog.dispose ();
jte1.setFont (fn); jte2.setFont (fn); jte2.setEchoChar ('*'); jlab1.setFont (fn); jlab2.setFont (fn); jlab3.setFont (fn);
JPanel jpan2 = new JPanel (new FlowLayout (FlowLayout.LEFT)); JPanel jpan3 = new JPanel (new FlowLayout (FlowLayout.LEFT)); JPanel jpan4 = new JPanel ();
dialog.add (jpan1); dialog.add (jpan2); dialog.add (jpan3);
数据库原理课程设计
}
dialog.add (jpan4); dialog.setResizable(false); dialog.setVisible (true);
工资管理系统界面,整个系统的核心程序,如图:
图8-2
具体代码如下:
public static final int FRAME_WIDTH = 500
public static final int FRAME_HEIGHT = 350; private Font fn = new Font (\"宋体\private JDialog dialog; ImageIcon img; String filename;
public Salary (String title, String filename) { }
public void launchFrame () {
this.createDialog (); super (title);
this.filename = filename;
数据库原理课程设计
this.createMenu (); this.setSize (FRAME_WIDTH, FRAME_HEIGHT); this.setLocation (400, 260); this.setResizable (false); this.setLayout (null); this.setVisible (true);
img = new ImageIcon(filename); JLabel imgLabel = new JLabel(img);。
this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE)); imgLabel.setBounds(0 ,0
,img.getIconWidth(), img.getIconHeight());
Container cp = this.getContentPane(); cp.setLayout (new BorderLayout()); ((JPanel)cp).setOpaque (false);
this.addWindowListener (new WindowAdapter () { });
public void windowClosing (WindowEvent e) { }
System.exit (0);
员工工资管理系统员工删除界面,便于删除员工数据,如图:
图8-3
员工工资管理系统添加界面,便于管理员工成员,如图:
数据库原理课程设计
图8-4
9遇到的问题及主要收获
本次数据库系统设计我选的是员工薪资管理系统,是我第一次设计数据库的系统,这对我来说是一个很严峻的考验,同时也激发了我的热情,使我能够完全投入到本次系统的设计中来。因为这不仅要求我能熟练掌握数据库的理论知识和实践知识,还对我的软件设计能力有较高得要求。
本系统实现的功能有查询、插入、修改、删除等,这就要求我能够熟练掌握和使用数据库的操作和使用,另外,数据得完整性和安全性也是本次设计得一个重点和难点,如果不能做好,那么这个系统也就相应的失去它的优势。
在本次设计过程中,我也遇到了一些问题,毕竟我是首次设计这种系统,经验不足,还有很多设计的方法和技巧没有掌握,但是我通过查询资
数据库原理课程设计
料和请教别人,终于把遇到得问题解决了。本次设计使我获益匪浅,不仅使我对数据库的知识更加熟练,掌握得更加牢固,为今后的进一步学习打下了坚实的基础,还让我学会了更多的设计方法和技巧,使我的设计能力有了进一步提高。 小组成员及分工: 题目 本组成员 李林冲 课题负责部分 系统功能模块设计 员工 工资 管理 李会瀛 数据库概念结构设计 李明祖 数据库逻辑结构设计 李超越 数据库物理设计
因篇幅问题不能全部显示,请点此查看更多更全内容