精品文档.苏州市职业大学实习(实训)报告名称SQLServer数据库项目实训01企业人事管理数据库2013年6月27日至2012年6月30日共1周学院(部)计算机工程学院班级15软件技术2姓名单燕(126306103)学院(部)负责人李金祥系主任周德富指导教师程媛朱敏精品文档.目录一、题目介绍....................................................11.1开发背景...................................................11.2开发工具介绍...............................................1二、数据库需求分析及建模......................................12.1需求分析...................................................12.2概念设计...................................................22.3逻辑设计...................................................42.4物理设计...................................................5三、数据库及库中各种对象的实现...............................63.1创建和配置数据库...........................................63.2查询........................................................73.3存储过程和函数的实现.......................................93.4触发器的实现...............................................113.5视图.......................................................123.6索引.......................................................133.7数据库的用户与权限管理.....................................14四、遇到的主要问题及解决方法.................................14五、实训总结...................................................14六、参考文献...................................................15精品文档.一、题目介绍1.1开发背景随着计算机技术的飞速发达,其强大的效用已为人们长远认识,它已进入人类社会的各个领域并阐明着越来越紧急的作用。计算机在企业管理中应用的遍及,运用计算机完成企业人事管理,给人们的劳动和生活带来了极大的便当和高效。具有检索迅速、查找方便、确实性高、存储量大、失密性好、寿命长、本钱高等手工管理所无法相比的便宜。这些便宜能够极大地进步人事劳资管理的效率,也是企业的迷信化、正轨化管理,与世界接轨的紧急条件。于是乎根据企业的需求,策化企业人事管理系统,以援救企业抵达人事管理办公主动化。此次的企业人事管理系统是采用SqlServer2008作为开发数据库的工具,企业人事管理系统的具体功能可以根据用户的需要来分配,但主要还是包括企业人事的信息添加,删除,修改,查找,同时也包括权限的分配,职务的调动等。在企业人事管理系统中,用户能够方便的企业人事进行信息的检索与处理。1.2开发工具介绍SQLServer2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQLServer版本。对于现在非常流行的业务连续性领域,SQLServer2008的数据库镜像功能也得到了加强,转换的操作速度更快,而且创建和驱动也都更容易了。当然,数据库镜像的实现要求日志文件在两个服务器之间能够顺利流动交换,所以新的日志流压缩功能非常有用,能够加速数据库镜像的执行速度。SQLServer2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察与信息给所有用户的成本。这个平台有以下特点:·可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。·高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。·智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。精品文档.二、数据库需求分析及建模2.1需求分析图2-1系统功能结构图企业员工资料管理系统主要需要实现对企业各部门和全部员工的资料管理。具体要实现的功能包括:(1)系统用户管理功能。在本系统中有两种用户:一种是普通用户,这种用户根据用户名和密码进入系统后,可查询所有员工的资料信息,但是只能修改自身的密码;另一种是管理员用户,这种这种用户根据用户名和密码进入系统后,可查询所有员工的资料信息,同时可以添加、修改和删除员工资料,还能添加、修改和删除普通用户和管理员用户的用户名和密码。(2)员工资料管理功能。录入企业员工的编号、姓名、性别所属部门、职务等信息,同时支持对企业员工资料的添加、修改和删除功能。(3)职务/部门变动信息管理功能。录入企业员工的职务/部门变动信息,包括曾任职务/部门,现任职务/部门、变动时间、变动原因等,同时支持对企业员工职务变动信息的添加、修改和删除功能。(4)员工工资资料管理功能。录入企业员工的工资资料,同时支持对企业员工工资资料的添加、修改和删除功能。2.2概念设计根据系统需求分析的结果,本系统中包含以下实体信息。员工实体包括用户名和密码;企业人事实体包括员工编号、姓名、照片、。。。。。。。以下是各个实体的E-R图。(1)用户实体的E-R图,如图2-2所示:企业员工资料管理系统系统用户管理员工资料管理职务/部门变动信息管理员工工资资料管理精品文档.图2-2用户信息E-R图(2)员工实体的E-R图,如图2-3所示:图2-3员工信息E-R图(3)变动实体的E-R图,如图2-4所示:用户名员工密码企业人事员工编号姓名照片性别民族出生日期政治面貌籍贯身份证号员工ID家庭电话居住地址邮政编码工作日期所在部门编号职务备注填表时间变动编号变动类型员工编号精品文档.图2-4变动信息E-R图(4)部门实体E-R图,如图2-5所示:图2-5部门信息E-R图(5)部门实体E-R图,如图2-6所示:图2-6工资信息E-R图(6)完整信息E-R图,如图2-7所示:M1MNM1变动状况现任职务/部门曾任职务/部门变动时间变动原因部门部门编号部门名称部门描述上级部门编号工资基本工资奖金员工编号从属员工部门编号工资查询员工调动企业人事管理精品文档.1MM1图2-7系统信息E-R图2.3逻辑设计E-R图中的每个矩形框都要转换成一张表格,比如企业人事是一张表格,它包含的属性就是画E-R图时给出的椭圆形的部分。对于菱形框,分三种情况:1:1的菱形框不用转换成表格,只要把任意一边的主键加到另一边的表格中。1:n的菱形框也不用转换成表格,只要把1所在的表格的主键加到n所在的表格中。N:m的菱形框需要转换成表格,这个表格包含的属性是两边的表格的主键。按照这个规则,把e-r图转换成表格,用关系模式表述。以下是实例,不完整。(1)实体“员工”与“部门”之间存在M对1的关系,转化为关系模式如下:部门关系模式(编号,部门名称)职务关系模式(编号,职务名称)(2)实体“员工”与“企业人事”之间存在N对M的关系,转化为关系模式如下:员工关系模式(编号,密码)企业人事关系模式(员工编号,姓名,照片,性别,出生日期,民族,政治面貌,籍贯,身份证号,员工ID,家庭电话,居住地址,邮政编码,工作日期,所在部门编号,职务,备注,填表时间)(3)实体“员工”与“工资”之间存在M对1的关系,转化为关系模式如下:员工关系模式(员工编号,密码)工资关系模式(员工编号,基本工资,奖金2.4物理模型设计职务名称任职职务部门名称编号调动精品文档.(1)Users表,如表2-1所示:表2-1员工表表中列名数据类型可否为空说明用户名CHARNOTNULL(主键)用户的编号密码CHARNOTNULL用户的登录密码(2)企业人事表,如表2-2所示:表2-2企业人事表表中列名数据类型可否为空说明员工编号INTNOTNULL(主键)员工的个人编号姓名VARCHARNOTNULLunique员工的姓名照片VARCHARNOTNULL员工的照片家庭住址VARCHARNULL员工的家庭住址。。。。。。。。。。。。2.5关系图建立完表格,以及表格的外键后,在SQL中,把表格的关系图截取进来。精品文档.三、数据库及库中各种对象的实现3.1创建和配置数据库usemastergocreatedatabasedbon/*使用createdatabase创建名称为db的数据库*/(name=db_data,filename='F:\Rita\db.mdf',size=10,filegrowth=5)logon(name=db_log,filename='F:\Rita\db.ldf',size=5MB,filegrowth=1MB)/**/3.2创建数据表(1)员工表Createtable员工表(用户名char(50)primarykey,密码char(50)notnull)员工表运行截图如图3-1所示:图3-1员工表运行截图。。。。。。。。。。。。。。精品文档.3.3查询(1)查询VC部门和VS部门的名称以及部门编号usedbselectdepart_name,depart_idfromdepartswheredepart_namein('VC部门','VS部门')查询结果如图3-2所示:图3-2查询VC部门和VS部门的名称以及部门编号(2)查询员工的基本工资,小于等于5000,则显示“工资较低”;小于等于7000,则显示“工资适中”;否则,则显示“工资较高”usedbselectstaff_id,base_sal=casewhenbase_sal=5000then'工资较低'whenbase_sal=7000then'工资适中'else'工资较高'endfromsalary查询结果如图3-3所示:图3-3查询员工的基本工资(3)用betweenand查询出生日期在1980-01-01和1990-01-01之间的员工姓名usedbselectstaff_name,birthfromstaffwherebirthbetween'1980-01-01'and'1990-01-01'精品文档.查询结果如图3-4所示:图3-4查询员工姓名(4)查询所有员工的编号、电话,查询所有员工的编号、工资,合并两次查询的结果集selectstaff_id,depart_idfromstaffunionselectstaff_id,base_salfromsalary查询结果如图3-5所示:图3-5。。。。。(5)查询姓林的读者姓名及员工号selectstaff_name,staff_idfromstaffwherestaff_namelike'林%'查询结果如图3-6所示:图3-6。。。。。(6)将查询结果生成新表selectusername,pwdintonewusersfromusersselectstaff_id,staff_name,sexintonewstafffromstaff精品文档.selectchange_id,staff_id,now_string,pre_stringintonewc