《《数据库原理》课程设计报告-公司雇员管理系统设计.docx》由会员分享,可在线阅读,更多相关《《数据库原理》课程设计报告-公司雇员管理系统设计.docx(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库原理课程设计报告-公司雇员管理系统设计目录第1章概述31.1 选题的背景与意义31.2 相关技术分析3系统功能设计42.1 系统总体结构设计图42.2 系统功能模块4模块一(具体模块的名称)42.2.1 模块二5第3章数据库设计63.1 需求分析6流图63.1.1.1 字典6项歹U表63.1.2.2 数据结构列表7数据流83.1.2.3 数据存储8处理过程8图5日常工作管理E_R图图6公司雇员管理系统全局E_R图3.3逻辑结构设计33.1将E-R图转换为关系模式(1)一个实体转换成一个关系模型员工(员工号,姓名,性别,出生年月,住址,联系方式,入职日期,部门,职务,工 资,岗位补贴)部门
2、(部门号,部门名称,部门电话)经理(经理号,部门)(2) 一个联系转换为一个关系模式工资(员工号,基本工资,津贴,总工资)请假申请(员工号,请假日期,销假日期,请假理由)考勤(员工号,缺勤日期,缺勤类型)调职申请(员工号,原部门,调入部门,申请日期,调动日期)加班安排(员工号,加班时间,加班工时,加班补贴)关系模式规范化(1)员工(员工号,姓名,性别,出生年月,住址,联系方式,入职日期,部门,职 务,工资,岗位补贴)主键:员工号函数依赖:员工号姓名,性别,出生年月,住址,联系方式,入职日期,部门,职务,工资,岗位补贴范式级别:3NF 存在数据冗余模式分解:员工1 (员工号,姓名,性别,出生年月
3、,住址,联系方 式,入职 日期)职工2 (员工号,部门,职务,工资,岗位补贴)(2)工资(员工号,基本工资,津贴,总工资)主键:员工号,基本工资,津贴函数依赖:员工号,基本工资,津贴总工资范式级别:BCNF(3)部门(部门号,部门名称,部门电话)主键:部门号函数依赖:部门号部门名称,部门电话范式级别:BCNF(4)经理(经理号,部门)主键:经理号函数依赖:经理号部门范式级别:BCNF(5)请假申请(员工号,请假日期,销假日期,请假理由)主键:员工号,请假日期函数依赖:(员工号,请假日期)销假日期,请假理由范式级别:BCNF(6)考勤(员工号,缺勤日期,缺勤类型)主健:员工号,缺勤日期函数依赖:
4、(员职工号,缺勤日期 )缺勤类型范式级别:BCNF(7)调职申请(员职工号,原部门,调入部门,申请日期,调动日期)主键:员工号函数依赖:员工号原部门,调入部门,申请日期,调动日期范式级别:BCNF(8)加班安排(员工号,加班日期,加班工时,加班补贴)主键:员工号,加班日期函数依赖:(员工号,加班日期)加班工时,加班补贴范式级别:BCNF规范后的关系模式说明:”表示模式主键“”表示模式外键”表示既是模式主键又是模式外键员工1 (员工号,姓名,性别,出生年月,住址,联系方式,入职日期)员工2 (员工号,部门,,职务,工资,岗位补贴)工资(员工号,基本工资,津贴,总工资)部门(部门号,部门名称,部门
5、电话,部门总人数)经理(经理号,部门)请假记录(员工号,请假日期,销假日期,请假理由)考勤(员工号,缺勤日期,缺勤类型)调职记录(员工号,原部门,调入部门,申请日期,调动日期)加班记录(员工号,加班日期,加班工时,加班补贴)334视图表6员工基本信息视图列名数据类型可否为空说明Emp_NoChar (5)Not null员工编号Emp_NaVarchar (8)Not null员工姓名EmpSexChar(2)Not null员工性别Emp_BirDatetimeNot null员工出生年月EmpPhoneChar (11)Not null员工电话Emp_AdVarchar (55)Not n
6、ull员工住址EmpDaDatetimeNot null员工入职日期表7员工工作信息视图列名数据类型可否为空说明Emp_NoChar (5)Not null员工编号Emp_DeptChar (4)Not null员工所在部门表8员工工资信息表EmpPostChar (4)Not null员工职务Emp_SalIntNot null员工工资Emp_ComnIntNot null员工岗位津贴列名数据类型可否为空说明Emp_NoChar (5)Not null员工编号Wage_BaseIntNot null员工基本工资Wage_ComnIntNot null员工津贴Wage_TotalIntNot
7、null员工总工资表9部门基本信息视图表10经理信息视图列名数据类型可否为空说明Dep_NoChar (4)Not null部门编号Dep_NavarChar (8)Not null部门名称DepphoneChar (11)Not null部门电话Dep_NumChar (100)Not null部门人数列名数据类型可否为空说明Man_NoChar (5)Not null经理编号ManDeptChar (4)Not null经理管理部门表11加班记录信息视图表12考勤记录信息视图列名数据类型可否为空说明Emp_NoChar (5)Not null员工编号EW_TimeIntNot null加班
8、时长EW_DatedateNot null加班日期EW_ComnIntNot null加班补贴列名数据类型可否为空说明Emp_NoChar (5)Not null员工编号ChckDaDatetimeNot null缺勤日期Chck_TypeChar (4)Not null缺勤类型表13请假记录信息视图列名数据类型可否为空说明Emp_NoChar (5)Not null员工编号Lev_GoDatetimeNot null请假日期Lev_BackDatetimeNot null销假日期LevExceChar (4)Not null请假理由表14工作调动记录信息视图列名数据类型可否为空说明Emp_N
9、oChar (5)Not null员工编号WorkDeptlChar (4)Not null员工原所在部门Work Dept2Char (4)Not null员工申请调入部门WorkDatelDatetimeNot null调动申请日期Work Date2DatetimeNot null工作调动日期3.4物理结构设计3.4.1 存储结构与存取方法确定数据库的存储结构主要是指确定数据的存储位置和存储结构,包括确定关系、 索引、日志、备份等存储安排及存储结构,以及确定系统存储参数的配置。将日志文件和数据库对象(表、索引等)分别放在不同哦磁盘,可以改进系统的性 能,提高系统的安全性。所以,系统应将日
10、志文件和数据库文件放在不同磁盘上。3.4.2 数据的易变与稳定部分(1)易变结构:员工2,请假记录,考勤,调职记录,加班记录(2)稳定结构:员工1,经理,部门3.4.3 数据存储方面(1)主键Emp_No经常在查询条件和连接操作的连接条件中出现,且他们的值唯一,再 此属性上建立唯一性索引;(2)基本表Empl的Emp_No属性经常在查询条件出现,在此属性上建立聚簇索引。344数据库、表建立的代码3441数据库的建立数据库的建立create database EmployeeManagement表的建立use EmployeeManagement gogo一表的建立一员工基本信息表 create
11、 table Empl (Emp_NoChar (5)Emp Na Varchar(8) Notgo一表的建立一员工基本信息表 create table Empl (Emp_NoChar (5)Emp Na Varchar(8) NotEmp_SexEmp_BirEmp PhoneChar(2)DatetimeChar(11)Emp_Ad Varchar(55) Emp_Da Datetime Not );primary key,null,check (Emp Sex in (男,3女)not null,NotNotNotnull,null,null.nullgogo一员工工作信息表creat
12、e table Emp2(Emp_No Emp_Dept Emp_Post Emp_Sal Emp_ComnChar (5)Char (4)Char (4)primary key, Not null, Not null,Int Not null, Int Not nullgo一员工工资信息表create table Wage(Emp_NoWage_BaseWage_Comn(Emp_NoWage_BaseWage_ComnChar (5)Int NotInt NotNot null, null,null,Wage_Total Int Notnull,一部门基本信息表create table D
13、ept(Dep_No Char (4) Not null,Dep_Na varChar (8) Not null,Dep_phone Char (11)Dep_phone Char (11)Not nullgo一经理信息表go一经理信息表create table Man (Man_No Char (5) Man_Dept Char (4) ); go一加班记录信息表 create table Ew (Emp_No Char (5)Not null, Not nullNot null,EW_Time Int Not null,EW_Date date Not null,EW ComnEW Com
14、nInt Not nullgo考勤记录信息表create table Chck(Emp_No Chck_Da Chck_Type );(Emp_No Chck_Da Chck_Type );Char(5)DatetimeChar (4)primary key, Not null, Not nullgo请假记录信息表create table Lev(Emp_No Char (5)(Emp_No Char (5)primary key,Not null, Not nullNot null,Not null,Not null,Not null,Lev_Go Datetime Not nullzLev
15、_Back Datetime Lev_Exce Char (4) );go工作调动记录信息表 create table Work (Emp_NoChar (5)Work_Dept1 Char (4) Work_Dept2 Char (4) Work_Datel Datetime Work Date2 Datetime);一录入数据-向员工基本信息表插入数据insert into Empl values (010 91 I 李楠 I 男J 1983 02 . 05 J 1324 5678 956平顶山市新华区I,)insert into Empl valus ( 011011 王倩J 女 I 1
16、982 . 05.25 I 1874 9612356 I 平顶山 市新华区 I 1 2010.08.06,)insert into Empl values ( 1 020 91 1 1 李奇 I 1 男 I 1983 08 . 15 I 115 68 95 625411 平顶山 市新华区l,)insert into Empl values L 02101 I,王勇 I 男981.10.26、】132568 97456 I,平顶山 市新华区l,)insert into Empl values (030 911 赵永月生 I 男I ,1980 . 09.23, , 15532 5 685 96 I
17、 ,平顶 山市新华区,J2009.05.02,)insert into Empl valus (031011 到月生J男 I 平顶山 市新华区I,201008.06Dinsert into Empl values04091l,周武 I,男 I 4982.10.211 ,平顶山 市新华区I,2009.07.05insert into Empl values (041011 吴俊 I 男 I 1980 09 . 12 J 18 637568945 I 平顶山 市新华区I,2010.05.08 D一向员工工作信息表插入数据insertinto Emp2 values ( 101091 , A * 0
18、1J 经理,J 5000。J 1500,)insertinto Emp2 values(101101 ,01insert into Emp2 values ( 1 02091,02,员工 I,3500, J 800,),经理 I 1 52 00, J 1500,)insertinto Emp2 values (*02101 ,04insert into Emp2 values (1030 91f03,员工 I,360(r J80CT )J 经理 lYlOCT J1500 Dinsertinto Emp2 values(,03101 ,03,员工,J 3400, J 800,)insertint
19、o Emp2values ( 04 0 91 104 I 经理 I 5600 I11500f)insertinto Emp2 values ( 1 04101 ,04f,wZ:,3650,f800,)向员工工资信息表插入数据intoWagevalues(01090,5000 1U50CTJ 6500 1 )intoWagevalues ( 101101 ,3500 1f800 f4300f)intoWagevalues ( !02091 1,,5200 lU50CTJ 6700,)intoWagevalues (0210113600,f800 4400)intoWagevalues ( 103
20、091 1,5100l4500,f66001)intoWagevalues ( 031011,3400 1f800 f4200f)intoWagevalues (04091,5600,F50CT,7100)intoWagevalues ( 1041011 ,3650,800,4450)insertinsertinsertinsertinsertinsertinsertinsert向部门基本信息表插入数据insert into Dept values ( * 01,2829650,)insertinto Dept values ( 1 02 1 , 1 销售音B f , 1 2829230 f
21、)insertinto Dept values ( 1 03 * , 1 科研部,2829335)insert into Dept values ( 1041财政部1,2829550,)一向经理信息表插入数据insertinto Man values (010911 1 01)insertinto Man values ( 102091 * 02 1 )insertinto Man values (103091 *031)insertinto Man values ( * 040911, * 04 !)一向加班记录信息表插入数据insert into Ew values(1010911,08,
22、 *2012.02.231,160)insert into Ew values (f01091*z07z *2012.06.101,140)insert into Ew values (*02091087 ,2012.02.23160)insert into Ew values (T0309107z ,2012.06.01140)insert into Ew values (1040911, 05, *2012.06.021, 100) 一向考勤记录信息表插入数据insert into Chck values (101101 *2012.05.25*, * 迟至P )insert into C
23、hck valu s(02101l 2012.05.28,早退 ! )insert into Chck values (031011 迟至U) 一向请假记录信息表插入数据insert into Lev values (!01101 f2012.05.15 ,2012.05.16 )insert into Lev valus ( 021011 J 2012 . 05 . 211,2012.05 . 24 I,出差,) insert into Lev values ( 1 041011 z *2012.05.01 *2012.0 6.02 11 )一向工作调动记录表插入数据insert into
24、Work values(,01101 *01f, *02*, *2012.05.25,null)insert into Work values ( 10210114 f02f, *04*, 1 2 012.05.30 1 , 11 )3443建立索引create unique index index_Emp_No on Empl(Emp_No)3.4.4.4 建立视图-建立视图use EmployeeManagement gocreate view员工基本信息(员工编号,员工姓名,员工性别,员工电话,员工住址) asselect Emp_No,Emp_Na,Emp_Sex,Emp_Phone
25、Emp_Ad from Empl gocreate view员工工作信息(员工编号,员工所在部门,员工职务) asselect Emp_No,Emp_Dept,Emp_Postfrom Emp2 gocreate view部门基本信息(部门编号,部门名称,部门电话) asselect Dep_No,Dep_Na,Dep_phone from Dept gocreate view经理信息 (经理编号,经理管理部门)asselect Man_No,Man_Dept from Man gocreate view加班记录信息(员工编号,加班时长,加班日期,加班补贴) asselect Emp_No,E
26、W_Time,EW_Date,EW_Comn from Ew gocreate view考勤记录信息 (员工编号,缺勤日期,缺勤类型)asselect Emp_No,Chck_Da,Chck_Type from Chck gocreate view请假记录信息 (员工编号,请假日期,销假日期)asselect Emp_No,Lev_Go,Lev_Back from Lev gocreate view工作调动记录信息(员工编号,员工原所在部门,员工申请调入部门) asselect Emp_No,Work_Deptl,Work_Dept2 from Work go3.4.4.5 建立触发器一建立触
27、发器 use EmployeeManagement go一员工信息删除时候的触发器 create trigger Empl_delete on Empl for deleteasdeclare Emp_No Char (5) beginselect Emp_No=Emp_No from d1td-找至!J员工号 delete from Emp23.2 概念结构设计93.3 逻辑结构设计10将E-R图转换为关系模式103.3.1 关系模式规范化11规范后的关系模式123.3.2 视图123.4 物理结构设计14存储结构与存取方法143.4.1 数据的易变与稳定部分14数据存储方面14344数据库
28、、表建立的代码15库的建立151.1.1.1 表的建立15建立索引181.1.1.2 建立视图183A4.5建立触发器193.4.4.6 存储过程功能的验证20表的数据查询(基于视图查询)213.5数据库实施23表截图233.5.1 视图截图26仓U建存储过程列表283.5.2 备份与还原策略293. 5. 4. 1备份策略29还原策略29第4章结束语30where Emp_No=Emp_No-2删除考勤表中数据select Emp_No=Emp_No from deltd-找至员工号 delete from Chckwhere Emp_No=Emp_No-3删除工资表中数据 delete f
29、rom Wage where Emp_No=Emp_No -4删除调动内容表数据 delete from Levwhere Emp_No=Emp_No endgo3446存储过程功能的验证验证按性别查询员工信息存储过程的代码 exec Emp_sex 男图7口结果消息Emp_NoEmp_NaEmp_SexEmp_BirEmp_PhoneEmp_AdEmp_Da1| 01091I李楠男19834)2-05 00:00:00.000平顶山市新华区20吩052 00:00:00.000202091李奇里19834)8-15 00:00:00.000平顶山市新华区20094)1-02 00:00:00
30、.000302101王勇里1981-10-26 00:00:00.000平顶山市新华区201006 00:00:00.000403091赵永胜里198(M-23 00:00:00.000155325685%平顶山市新华区200)乂)2 00:00:00.000503101孙胜里1985)5-15 00:00:00.000平顶山市新华区20104)8-06 00:00:00.000604091周武男1982-10-21 00:00:00,000平顶山市新华区20(m)7-05 00:00:00,000704101吴俊里2 00:00:00.00018637568%5平顶山市新华区20104)54
31、)8 00:00:00.000一验证按职务查询员工信息存储过程的代码 exec Emp_Post 经理图8Emp_NoEmp_DeptEmp_PostEmp_SalEmp_Comn1:01091| 01.一经理5000150020209102经理5200150030309103经理5100150040409104经理56001500一验证按部门查询员工信息存储过程的代码exec Emp_Dept * 02图9Emp-Comn1500800Emp-Comn1500800Emp_NoEmp_DeptEmp_PostEmp_Sal1: 020012 、“防滋02经理520002员工3600验证按性别
32、统计员工人数存储过程的代码exec Count_sex图10验证按职务查询员工信息存储过程的代码exec Count_Post图11验证按部门查询员工信息存储过程的代码exec Count_Dept图12结果I屯网dEmp_Dept 人数1 f oi 202 22 0320423447基本表的数据查询(基于视图查询)(1)查看Empl (员工基本信息表)表中的数据(图13)select * from Emplrrr西结果心消息Emp_NoEmp_NaEmp_SexEmp_BirEmp_PhoneEnrip_AdEmp_Da1| 01091!李楠男19834)2-05 00:00:00.000平
33、顶山市新华区200以602 00:00:00,000201101王倩女1982-05-25 00:00:00.000平顶山市新华区2010418-06 00:00:00.000302091李奇里19834)8-15 00:00:00,000平顶山市新华区200)1-02 00:00:00.000402101王勇里1981-10-26 00:00:00.000平顶山市新华区201 (MJ8-06 00:00:00,000503091赵永胜里19804)9-23 00:00:00.000155325685%平顶山市新华区20094)54)2 00:00:00.000603101孙胜男1985)5-
34、15 00:00:00.000平顶山市新华区201(X08-06 00:00:00.000704091周武里1982-10-21 00:00:00.000平顶山市新华区20094)7-05 00:00:00.000804101吴俊男19804)9-12 00:00:00.000平顶山市新华区20104)5)8 00:00:00,000图13(2)查看Emp2 (员工工作信息表)表中的数据(图14)select * from Emp2(3)查看Wage (员工工资信息表)表中的数据(图15)select * from WageEmp_NoWage_BaseWage_ComnWage_Total1
35、| 01090| 50001500650020110135008004300302091520015006700402101360080044005030915100150066006031013400800420070409156001500710080410136508004450图15(4)查看Dept (部门基本信息表)表中的数据(图16)select * from DeptDep_NoDep_NaDep_phoneDep_Num1j 01l人事部28296500202消售部28292300303科研部28293350404财政部28295500图16(5)查看Man (经理信息表)表
36、中的数据(图17)select * from Manselect * from Ew图18(7)查看Chck (考勤记录信息表)表中的数据(图19)select * from Chck国结果0消息Emp_No Chck_DaChck_Type01101 1 2012-05-25 00:00:00.000 退到02101 20124)5*2800:00:00.000 早退3031012012-05-30 00:00:00.000 退到图19(8)查看Lev (请加记录信息表)表中的数据(图20)select * from Lev国结果|占消息Lev_Go2012-05-15 00:00:00.(
37、X)02012-05-21 00:00:00.000Emp_No 1 roiioi 2 、访亩Lev_BackLev_Exce2012-05-16 00:00:00.000 病假2012-05-24 00:00:00.000 出差3041013041012012-054)1 00:00:00.0002012-06)2 00:00:00.000私事图20(9)查看Work (工作调动记录信息表)表中的数据(图21)select * from Work国结果心消息11011012 、”/f而1011012 、”/f而Emp_No Work_Dept1 Work_Dept2 Work_Date1Wo
38、rk_Date201022012-05-25 00:00:00.000 NULL02042012-05-30 00:00:00,000 2012goi 00:00:00.000图213.5数据库实施表截图(1)员工基本信息表2013-20140925MG.gement - dbo.Empl SQLQueryl.sql - (lo.dministrator (52)*Emp_NoEmp_NaEmp_SexEmp_BirEmp_PhoneEmp_AdEmp_DaIo李楠里1983-02-05 00:.平顶山市新华区2009-05-02 00:.01101王倩女1982-05-25 00:.平顶山市
39、新华区2010-08-06 00:.02091李奇里1983-08-15 00:.平顶山市新华区2009-01-02 00:.02101王勇里1981-10-26 00:.平顶山市新华区2010-08-06 00:.03091赵永胜男1980-09-23 00:.平顶山市新华区2009-05-02 00:.03101孙胜男1985-05-15 00:.平顶山市新华区2010-08-06 00:.04091周武里1982-10-2100:.平顶山市新华区2009-07-0 5 00:.04101吴俊里1980-09-12 00:.平顶山市新华区2010-05-08 00:.米NULLMJLLAA
40、JLLNU.LMJLL图22(2)员工工作信息表2013-ll-l.Person.gement - dbo.Emp2 SQLQueryl.sql - 20.ministrator (52)*Emp_NoEmp-DeptEmp-PostEmp_SalEmp_Comn01经理500015000110101员工35008000209102经理520015000210102员工36008000309103经理510015000310103员工34008000409104经理560015000410104员工3650800米1NLILNULLA/LILNULLNULL图23(3)员工工资信息表2013-
41、20140925MG.gement - dbo.Wage SQLQueryl.sql - (lo.dministratEmp_NoWage_BaseWage_ComnWage_Total1。1090fai5000150065000110135008004300020915200150067000210136008004400030915100150066000310134008004200040915600150071000410136508004450米NLILNULLNULLNULL图24(4)部门基本信息表2013-ll-l.Persona.agement - dbo.Dept SQLQueryl.sql - 20.ministrator (!DepJMoDep_NaDep_phoneDep_Numsn人事部2829650002消售部2829230003科研部2829335004财政部28295500米1NULLNULLMALNULL图25(5)经理信息表2013-20140925MG.gement dbo.ManMan_NoMan-Dept01020910203091030409104米AtZNULL图26(6)加班记录信息表2013-ll-l.Persona.anagement - dbo.Ew SQLQueryl.sql -
限制150内