数据库系统概论人事管理系统设计报告.docx
《数据库系统概论人事管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《数据库系统概论人事管理系统设计报告.docx(13页珍藏版)》请在冰点文库上搜索。
数据库系统概论人事管理系统设计报告
信息技术学院
《数据库概论》课程设计报告
专业:
计算机科学与技术
班级:
10级计算机科学与技术(专升本)
姓名:
赵伟杰、胡振威、詹昌红、
侯淑镔、高尚辉
学号:
96、101、91、87、99
设计题目:
人事管理系统
指导教师:
王燕玲
2010年12月14日
人事管理系统设计
一、系统设计的目的和意义
随着信息技术的发展,公司越来越更加趋于正规化,与此同时,公司的规模也越来越大,此时,对员工信息准确的记录,也是非常有必要的。
相应的构建数据库,来存放员工的信息,对工作也有一定的帮助作用。
所以人事管理系统的设计随着时代而应运而生。
这个系统实现了对员工信息的合理存放,同时,对公司各部门的的准确了解,也可以方便以后工作。
使用的工具:
sql2005和visualc#2005,图片截图工具等等。
二、系统需求分析
1、员工
员工可以简单的修改个人的信息,修改个人的密码等等框架图如下:
图一
2、管理员
管理员可完成员工的增加、删除和修改以及对对某一员工的查询,以及对自身账户密码的修改等等,框架图如下:
图二
三、概念结构设计
数据库需要表述的信息有以下几种:
可以用E/R模型表述该模型的设计,E/R图所示。
图三
这个E-R图十简单的,并没有书写各个实体的属性,只有表示实体之间的关系。
四、逻辑结构设计
通过E/R模型到关系模型的转化,可以得到如下关系模式:
关系模式如下:
(下划线表示本关系模式的主键)
员工表(sno,snme,sage,mid,xid,address,id,zid,hid,bid,gid)
民族表(mid,mname,等等)
性别表(hid,hname,等等)
学历信息表(xid,xname,等等)
职称或岗位表(zid,zname,zmoney,asum,等等)
部门表(bid,bname,badmin,baddress,bsum,等等)
管理员表(ano,aname,等等)
进而优化关系模式,尽量转换为第三范式,尽可能的减少冗余。
在数据库中所实现的逻辑表如下:
1、Guanliyuan表:
说明:
管理员表,这个表主要储存系统最高权限的管理员对账号,密码,以及姓名等等信息。
见下图:
图四
2、bumen表
说明:
部门表,这个表主要储存部门代号,部门名称,以及其他信息。
见下图:
图五
3、minzu表
说明:
民族表,这个表主要储存民族代号,名族名称等信息,见下图:
图六
4、sex表
说明:
性别表这个表主要储存性别代号,性别种类等信息,见下图:
图七
5、xueli表
说明:
学历表,这个表主要储存学历代号,学历名称等信息,见下图:
图八
6、yuangong表
说明:
员工表,这个表主要储存了员工的各类信息,包括员工代号,员工名称,登录密码,性别代号,部门代号,性别代号,身份证号,学历代号,地址等等个人信息见下图:
图九
7、zhicheng表
说明:
职称或岗位表,这个表主要存储了职称代号,职称名称等等信息,见下图:
图十
以上就是在数据库中存储的逻辑结构设计二维表。
简单设计了数据库,以及数据库中相关联的表,至于各个表之间的关系在E-R图,可以简单明了的看出来。
五、物理结构设计
为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引。
下面是各表中建立索引的表项。
一般设置主键为索引项。
加快访问速度。
建立视图,保证一些数据的安全性,等等
下面是创建yuangong_view视图所需要的表以及表之间的关系图
图十一
代码如下:
SELECTdbo.yuangong.sno,dbo.yuangong.spasswd,dbo.yuangong.sname,dbo.yuangong.sage,dbo.yuangong.mid,dbo.minzu.mname,dbo.yuangong.zid,
dbo.zhicheng.zname,dbo.yuangong.xid,dbo.xueli.xname,dbo.yuangong.hid,dbo.sex.hname,dbo.yuangong.id,dbo.yuangong.bid,dbo.bumen.bname,
dbo.yuangong.address,dbo.bumen.badmin,dbo.bumen.baddress,dbo.bumen.bsum,dbo.zhicheng.zmoney
FROMdbo.bumenINNERJOIN
dbo.yuangongONdbo.bumen.bid=dbo.yuangong.bidINNERJOIN
dbo.minzuONdbo.yuangong.mid=dbo.minzu.midINNERJOIN
dbo.sexONdbo.yuangong.hid=dbo.sex.hidINNERJOIN
dbo.xueliONdbo.yuangong.xid=dbo.xueli.xidINNERJOIN
dbo.zhichengONdbo.yuangong.zid=dbo.zhicheng.zid
六、系统实现
下面主要介绍界面的设计:
1、系统的首页设计:
图十二
2、员工登录界面设计:
图十三
3、管理员登录界面设计:
图十四
4、管理员首界面设计:
图十五
5、管理员注册员工界面设计:
图十六
6、管理员查询员工界面设计:
图十七
7、用户首界面设计:
图十八
8、员工修改个人信息界面设计:
图十九
9、员工修改自身密码界面设计:
图二十
关键代码如下:
SqlConnectionconn=newSqlConnection("server=(local);database=rsgl;trusted_Connection=true;UserID=sa;Password=sa");//实现连接数据库的语句。
yuangong0yg=newyuangong0();
yg.Show();
this.Hide();//定义类变量,使用show()方法弹出窗口,使用hide()方法隐藏窗口
stringss="";conn1.Open();SqlCommandcd=newSqlCommand("select*fromyuangongwheresno='"+this.textBox2.Text.ToString()+"'",conn1);
SqlDataReaderdr=cd.ExecuteReader();
if(dr.Read())
{ss="123"}
dr.Close();
conn1.Close();
if(ss!
="123")
{conn.Open();
SqlCommandcmd=newSqlCommand("insertintoyuangongvalues('"+this.textBox2.Text.ToString()+"','1','"+this.textBox3.Text.ToString()+"','"+this.textBox4.Text.ToString()+"','"+this.textBox5.Text.ToString()+"','"+this.textBox7.Text.ToString()+"','"+this.textBox8.Text.ToString()+"','"+this.textBox6.Text.ToString()+"','"+this.textBox9.Text.ToString()+"','"+this.textBox11.Text.ToString()+"','"+this.textBox10.Text.ToString()+"')",conn);
cmd.ExecuteNonQuery();
conn.Close();
this.label14.Text="员工信息注册成功";
}elsethis.label14.Text="员工账号已经注册,请重新输入账号";
}}//这是管理员实现注册员工的关键代码。
publicSystem.Windows.Forms.TextBoxtextBox1;
admin1ad1=newadmin1();ad1.textBox1.Text=this.textBox1.Text.ToString();
//这段代码主要实现登录用户的账号绑定,简单的说就是实现哪个人登录,就显示那个人登录。
七、总结
经过这次的数据库的设计,让我明白,任何时候,只要坚持,就会取得成功,当我想要放弃的时候,是我的同学在我的身边,给我以支持,所以我也清楚明白了,团结的力量大,在此,我不想多说什么,在这次的设计过程中,让我认识到了许多不足,也督促我以后更加的努力,更加以及更深的培养了我的学习数据库的兴趣,我相信自己,我肯定学的很好,同时老师这次要求的对程序的设计,并不是那么的重要,但是对于我来说,程序设计也是非常重要,相对的数据库的设计并不是那么的完善,但是相对于这个系统来说,我并没有向深层探究,由于时间仓促,所以,我对数据库的设计也简单,同时对数据库中的表也是非常让人理解,关系也是非常明了。
便于初学着当成学习的模板。
这些就是我这次设计的心得。