均转换为关系的属性,而关系的码为各实体码的组合。
三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
(3)依照该规则将工资管理系统的E-R图转换为关系模型如下:
将每一个实体转换成一个关系模式(实体的属性就是关系的属性,实体的码就是关系的码)带下划线的为主码。
管理员(,密码)
管理(员工号,)
员工(员工号,,性别,所在部门,年龄,密码,职位,工资,工资类型)
工资(工资号,基本工资,奖金,应减工资,实际工资,工资日期)
拥有(员工号,工资号)
部门(部门编号,部门名称)
属于(员工号,部门编号)
第5章 系统详细模块设计与实现
5.1 用户登录及主界面
工资管理系统第一个界面就是用户登录界面,该界面是用户想要登录本系统必须有的步骤,当运行时,弹出界面,该界面登录时用户受权限限制,有管理员登陆和员工
登陆。员工登录时只有里面各项的查询功能。管理员则有对里面各项的一切操作功能。这里介绍管理员的登录及管理员的其他功能。按钮选中管理员后,输入正确的管理员用户名和密码后,按登录按钮就可进入系统主界面。如果用户名或密码输入错误会出相应的提示信息。运行时登录界面,如图5.1所示。
图5.1登陆界面
用户登录的代码如下:
public login1() { //登陆界面
setTitle("用户登录");
setSize(WIDTH, HEIGHT);
setLocation((screenWidth - WIDTH) / 2, (screenHeight - HEIGHT) / 2); setLayout(new BorderLayout());
JPanel check = new JPanel();
check.setBackground(new Color(230,235,250));
caozuo = new ButtonGroup();
r1 = new JRadioButton("管理员", true);
r1.setBackground(new Color(230,235,250));
caozuo.add(r1);
r2 = new JRadioButton("职工", false);
caozuo.add(r2);
r2.setBackground(new Color(230,235,250));
check.add(r1);
check.add(r2);
add(check, BorderLayout.NORTH);
JPanel p1 = new JPanel();
p1.setLayout(new BorderLayout());
add(p1, BorderLayout.CENTER);
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
JPanel p4 = new JPanel();
p1.add(p2, BorderLayout.NORTH);
p1.add(p3, BorderLayout.CENTER);
p1.add(p4, BorderLayout.SOUTH);
p2.setBackground(new Color(230,235,250));
p3.setBackground(new Color(230,235,250));
p4.setBackground(new Color(230,235,250));
JLabel lno = new JLabel("用户名:");
JLabel lpassword = new JLabel("密 码: ");
tname = new JTextField(10);
tpassword = new JPasswordField(10);
JButton enter = new JButton("登录");
JButton exit = new JButton("退出");
p2.add(lno);
p2.add(tname);
p3.add(lpassword);
p3.add(tpassword);
p3.setPreferredSize(new Dimension(300, 30));
p4.setPreferredSize(new Dimension(300, 50));
p4.add(enter);
p4.add(exit);
this.setVisible(true);
enter.addActionListener(this);
exit.addActionListener(this);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public void actionPerformed(ActionE