精华内容
下载资源
问答
  • 数据库课程设计---大学生就业管理系统数据库设计.pdf
    千次阅读
    2021-01-26 07:01:30

    数据库课程设计---大学生就业管理系统数据库设计

    课程设计评分细则

    序号 评 分 内 容 分值 得 分

    1 选题新颖、结构完整、原创性强,语言规范、排版美观、装订规范。 20%

    2 需求分析工作深入详细,业务流程图、数据流程图、数据字典等需求文档完整,正确性高 40%

    3 概念结构设计合理, CDM 的属性及其数据类型与数据字典一致,且正确性高 20%

    4 转换的PDM 正确性高,相应的SQL 教本正确,参考文献完整 10%

    5 提交了数据库文件,且电子文档与打印稿一致 10%

    6 迟到、早退、打游戏或做无关之事,发现一次扣10 分;旷课一次扣30 分 负分

    答辩

    最终成绩 教师

    签名

    《数据库原理及应用》课程设计报告

    题目:大学生就业管理系统的数据库设计

    学 号:

    姓 名:

    同组人员:

    指导教师:

    2011 12

    年 月

    目录

    摘要2

    1.项目背景 2

    1.1问题定义和项目简介 2

    1.2选题背景 2

    1.3系统目标 3

    1.4可行性分析 4

    2.需求分析 4

    2.1 系统性能需求分析 4

    2.1.1 系统软件/硬件平台4

    2.1.2 运行环境4

    2.2 系统功能需求分析 4

    2.2.1 系统功能的划分4

    2.2.2 系统功能描述5

    该模块的主要功能是搜索和查看企业基本信息。 5

    2.4数据流程分析 7

    2.5数据字典 10

    3.系统设计 12

    3.1概念结构设计 12

    3 .2 逻辑结构设计 13

    3.3物理结构设计 13

    4.心得与收获 16

    5.结论 17

    6.参考文献 17

    7.小组组员分工情况说明 17

    1

    摘要

    大学生就业问题关系到高等教育持续健康的发展,关系到国家的经济建设、社会的稳定和人民群众的

    根本利益。随着我国高校毕业生就业制度改革的不断深化,双向选择、自主择业已成为主要的就业方式。

    我国加入世贸组织后,就业信息的时效性等问题越来越突出地表现出来。因此,为了使校园招聘成为大学

    生就业的主体市场,我们建立了基于WEB的“大学毕业生就业管理系统”。为毕业生、用人单位与学校搭建

    了一个进行信息交换的平台,为毕业生就业工作的顺利开展开辟了一条快捷、高效的途径。

    本系统主要是为了方便负责就业管理工作的老师使用,向毕业生提供一些招聘信息、就业指导及相关

    的政策信息,以帮助同学们更好的就业。本系统分为管理员登陆子系统,包括毕业生信息管理功能,企业

    信息管理功能,和招聘信息管理功能;毕业生登陆子系统,包括个人信息查

    更多相关内容
  • 企业工资管理系统--数据库课程设计PAGE得分:课程设计报告企业工资管理系统姓名XXX班级XXXXX学号XXXXXX课程名称数据库原理及应用指导教师201X年X月X日目 录一.工资管理系统需求分析…………………………………1.1...

    企业工资管理系统--数据库课程设计

    PAGE

    得分:

    课程设计报告

    企业工资管理系统

    姓名

    XXX

    班级

    XXXXX

    学号

    XXXXXX

    课程名称

    数据库原理及应用

    指导教师

    201X年X月X日

    目 录

    一.工资管理系统需求分析…………………………………

    1.1功能需求…………………………………………………

    1.1.1功能划分………………………………………

    1.1.2功能描述……………………………………………

    1.2性能需求…………………………………………………

    1.3数据流图………………………………………………

    二.总体设计…………………………………………………

    2.1数据库概念设计…………………………………………

    2.2功能模块…………………………………………………

    三.系统详细设计……………………………………………

    3.1数据库逻辑设计…………………………………………

    3.2各模块功能………………………………………………

    3.2.1职工信息管理系统…………………………………

    3.2.2职工工资管理系统…………………………………

    3.2.3职工津贴管理系统…………………………………

    四.系统实现…………………………………………………

    4.1界面截图…………………………………………………

    4.1.1主界面及工资基本信息界面……………………

    4.1.2登录界面…………………………………………

    4.1.3系统主界面………………………………………

    4.1.4信息录入,修改,删除,查询界面…………

    4.2设计代码…………………………………………………

    五.实验总结…………………………………………………

    需求分析

    功能需求

    1.1.1功能划分

    (1)、员工信息表;及时反映员工的基本信息

    (2)、员工津贴表,反映员工津贴

    (3)、员工基本工资表

    1.1.2 功能描述

    (1)、基本工资的设定

    (2)、津贴的设定

    (3)、计算出月工资

    (4)、录入员工工资信息

    (5)、添加员工工资信息

    (6)、更改员工工资信息

    1.2性能需求

    此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后5位的精度。在时间特性上,当用户发出命令请求时的服务器的响应时间、对数据更新处理、工资数据的查询检索等上,同样要求系统响应时间不会超过0.5秒时间。系统支持多种操作系统的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互通,及共享。当服务器移植到其他的系统平台,如:Linux平台下时,同样能和其他的系统进行数据存取同步,不会出现系统之间互不兼容的情况,系统支持多系统之间的互连互通,系统有巨大的强健性。本课程设计是用Java语言编写,mysql数据库。

    1.3数据流图

    根据工资管理要求及用户需求调查分析,得到以下数据流图

    图1.1第一层数据流图

    修改职工信息

    修改职工信息

    删除职工记录

    输入职工基本信息

    工资表

    添加操作

    修改操作

    删除操作

    用户

    查询操作

    职工号

    图1.2职工信息的载入

    津贴表

    津贴表

    添加操作

    修改操作

    删除操作

    查询操作

    用户

    图1.4考勤的信息载入

    2.总体设计

    2.1数据库概念设计

    有了数据流图,用E-R图来说明工资信息管理系统的数据库概念模式,如图

    姓名基本工资

    姓名

    基本工资

    职工号工资员工

    职工号

    工资

    员工

    职工号

    职工号

    领取1 n

    领取

    m

    影响

    影响

    姓名津贴

    姓名

    津贴

    领取姓名津贴

    领取

    姓名

    津贴

    密码

    密码

    职工号

    职工号

    图2.1实体之间关系E-R图

    2.2功能模块

    工资管理系统

    工资管理系统

    员工管理模块 职工登陆模块 工资管理模块 系统模块

    员工管理模块

    职工登陆模块

    工资管理模块

    系统模块

    3.系统详细设计

    3.1数据库逻辑设计

    将以上E-R转换成如下关系模式

    员工(职工号,姓名,密码)

    工资(职工号,姓名,基本工资,)

    津贴(职工号,姓名,奖金)

    其中,标有下划线的字段表示为该数据表的主码,即主关键字。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。

    工资信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。

    表一:员工信息表:

    列名

    数据类型

    可否取空

    备注说明

    no

    Char ( 8 )

    NOT NULL

    职工号(主键)

    name

    C

    展开全文
  • 企业ERP管理系统源码下载(含数据库和文档) 企业ERP管理系统源码下载(含数据库和文档)
  • 数据库课程设计 (刚结束数据库的课设上机,因为最近特别特别忙,所以数据库课设也没有特别认真在做,前后只用了几天,发表在这里只是为了记录成长历程,不用作任何商业用途,大家有需要可以参考一下,但建议大家看...

    数据库课程设计——企业员工人事管理系统

    (刚结束数据库的课设上机,因为最近特别特别忙,所以数据库课设也没有特别认真在做,前后只用了几天,发表在这里只是为了记录成长历程,不用作任何商业用途,大家有需要可以参考一下,但建议大家看看就好,如果时间充裕的话,大家自己写出来的一定会比我的更好,毕竟本人也是菜鸟一枚,正蓄力成长中。

    废话不多说,数据库前端应用界面是用Java Swing写的,数据库是Sql Server,一些代码资源啥的可见如下百度网盘链接:https://pan.baidu.com/s/1S8pGr8CvC1dq5nGwi4FxNg
    提取码:n08u

    一、概述

      近年来,由于计算机硬件、软件的飞速发展和广泛应用,对于企业管理而言,研发一个信息化自动化的员工人事管理系统至关重要。在本次数据库课设中,通过前期查阅企业员工工作流程等相关资料,根据开发设计系统时系统应该满足的可操作性、实用性、可靠性、安全性以及可维护性等原则,针对企业管理员工的主要数据以及功能需求,开发了一个基于Sql Server数据库且利用Java Swing书写windows前端界面实现该系统的相关功能的简要企业员工人事管理系统,该系统大概内容如下:
      企业人事管理系统主要用于员工个人资料的录入、职务变动的记录和管理,使用人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配。人事管理系统主要以下几项功能要求:新员工资料的输入;自动分配员工号,并且设置初始的用户密码;人事变动的详细记录,包括岗位和部门的调整;员工信息的查询和修改,包括员工个人信息和密码等。

    二、需求分析

    (一)用户需求

    1.企业员工:

      上班签到和下班签离;

    2.企业系统管理人员:

      (1) 对员工基本信息如姓名、学历、所属部门等的查询与修改;
      (2) 对员工职位或部门调整等信息的管理;
      (3) 对企业各部门信息的添加修改等管理;
      (4) 对员工工资的调整,奖金的发放金额的管理;
      (5) 对员工入职离职等信息的管理,如新员工入职时在数据库相应表中
      (6) 录入该员工基本信息,将员工设定为在职状态;当员工离职时,将员工改为离职状态,并从数据库中删去该员工相关数据。

    (二)功能需求(行为需求)

      通过前期利用网络媒体等平台对企业管理员工流程等方面数据的调研结果,本系统应具有的功能有:

    1.登录功能:

      系统有两类用户,企业员工,企业系统管理员;

    2.员工基本信息管理:

      管理员拥有对入职员工基本信息的查询,因升职等客观原因而引起的职位变动、薪资增长等员工基本信息的修改,新员工信息的添加以及离职员工信息删除等功能;

    3.部门信息管理:

      部门信息查询,部门合并或削减时部门信息的修改或删除功能;

    4.签到签离:

      员工拥有上班签到和下班签离的功能;

    5.工资信息管理:

      管理员拥有对员工基本工资信息的查询,因升职或奖励等原因引起的工资的增加、修改及离职等原因导致的员工基本工资信息的删除等功能;

    6.员工签到管理:

      管理员拥有对员工签到信息的查询功能;

    7.人员调用管理:

      人员调用信息的查询,当执行人员调动时人员调动信息的自动添加,当撤销人员调动时系统自动删除相关人员调动信息。
      以上该系统的主要功能需求可如下图1所示:
    在这里插入图片描述

    图1 员工人事系统功能需求用例图

    (三)数据需求

    1.员工基本信息管理

    (1) DD(数据字典):
    数据结构:员工基本信息(编号、姓名、性别、照片、民族、生日、政治面貌、文化程度、婚姻状况、籍贯、身份证号、手机号码、档案存放地、户口所在地、入职时间、员工级别、员工基本工资、所在部门编号、状态)
    数据项:
    编号:在添加新入职员工的基本信息时,系统会根据预先设定的某种规则,自动为每个员工分配一个唯一且有特殊意义的编号;
    状态:状态有在职和离职两种形式;
    入职时间:入职时间由系统确定,规定某员工转正时间为正式入职时间;
    员工级别:员工级别有试用、正式、组长、部门经理、总经理;
    员工基本工资:员工基本工资分为两类,基础底薪和奖金,员工初始工资应为职位所对应的具体薪资。
    (2) DFD(数据流图):

    在这里插入图片描述

    图2 员工基本信息查询用例图
    2.员工信息修改

    (1)DD(数据字典):
    数据结构:员工信息修改(编号、姓名、性别、照片、民族、生日、政治面貌、文化程度、婚姻状况、籍贯、身份证号、手机号码、档案存放地、户口所在地、入职时间、员工级别、员工基本工资、所在部门编号、状态)
    数据项:
    所在部门编号:由系统预先定义,部门编号与具体部门一一对应;
    编号:在添加新入职员工的基本信息时,系统会根据预先设定的某种规则,自动为每个员工分配一个唯一且有特殊意义的编号;
    状态:状态有在职和离职两种形式;
    入职时间:入职时间由系统确定,规定某员工转正时间为正式入职时间;
    员工级别:员工级别有试用、正式、组长、部门经理、总经理。
    (2)DFD(数据流图):

    在这里插入图片描述

    图3 员工信息修改用例图
    3.员工签到签离

    (1)DD(数据字典):
    数据结构:签到签离(签到编号、员工编号、所属部门、签到时间、签离时间)
    数据项:
    签到编号:根据打卡时间,系统自动排序生成;
    签到时间:系统根据当前时间自动生成;
    签离时间:系统根据当前时间自动生成;
    (2)DFD(数据流图):
    在这里插入图片描述

    图4 员工打卡用例图
    4.部门管理

    (1)DD(数据字典):
    数据结构:部门管理(部门编号、部门名称、部门职能、上级部门编号)
    数据项:
    部门编号:系统预先为公司各部门分配一个编号;
    上级部门编号:由输入部门信息时,管理员根据公司实际情况指定,一个部门只能有1个或0个上级部门。
    (2)DFD(数据流图):
    在这里插入图片描述

    图5 部门信息管理用例图
    5.人员调动

    (1)DD(数据字典):
    数据结构:人员调动(调动编号、员工编号、调动时间、调动部门编号、调动原因、调动职位)
    数据项:
    调动编号:该编号无实际意义,由系统自动生成,作为调动信息的记录编号,根据调动时间进行排序;
    调动职位:职位主要有:执行总裁、部门负责人、组长;
    调动原因:调动原因处无固定选项,为字符串格式,可自行输入调动的原因,如升职任命、部门合并、降职及工作失误等;
    调动时间:具体调动时间以执行调动命令时当前系统时间为准,由系统自动生成;
    (2)DFD(数据流图):
    在这里插入图片描述

    图6 员工人员调动用例图
    6.员工工资管理

    (1)DD(数据字典):
    数据结构:员工工资管理(工资编号、员工编号、员工姓名、员工基本工资、员工奖金、发放时间)
    数据项:
    工资编号:该编号由系统自动生成,用来标识发放工资的记录;
    发放时间:由系统根据薪资发放成功的时间自动生成;
    员工奖金:员工奖金包括年终奖和平时奖励,年终奖由签到全勤的员工获得,平时奖励根据具体事例由管理员输入,在发工资时由系统统一计算;
    (2)DFD(数据流图):
    在这里插入图片描述

    图7 员工工资查询用例图
    7.系统全局用例图如图8所示:

    在这里插入图片描述

    图8 系统全局用例图

    三、系统功能设计

    在这里插入图片描述

    图9 企业员工人事管理系统功能模块图

    四、数据库设计

    (一)数据库概念设计

      采用E-R方法进行数据库的概念设计,分数据抽象、设计局部概念模式、设计全局概念模式三个过程,经过数据抽象、局部视图设计,最终集成的全局E-R图如下所示如下:
    在这里插入图片描述

    图10 企业员工人事管理系统全局E-R图

    (二)数据库逻辑设计

    1.关系模式

      根据数据库概念结构设计,并按照一定的转换原则,根据范式规则,数据库概念结构转化的关系模式如下:
      (1)部门(部门编号、名称、职能、上级部门编号);
      (2)工资信息(工资编号、员工编号、基本工资、奖金,发放时间);
      (3)员工基本信息(编号、姓名、性别、照片、民族、生日、政治面貌、文化程度、婚姻状况、籍贯、身份证号、手机号码、档案存放地、户口所在地、入职时间、员工级别、员工基本工资、所在部门编号、状态,密码,身份);
      (4)人员调动(调动编号、员工编号、调动时间、调动部门、调动原因、调动职位);
      (5)员工签到(签到编号、员工编号、签到时间、签离时间)。

    2.完整性要求

      (1)工资信息—基本工资和奖金不能低于0,员工编号只能是数据库里面有的信息,不能随意添加;
      (2)员工基本信息—入职时间为当前时间,由系统自动添加,不可随意更改;
      (3)人员调动信息—调动时间为当前时间,由系统自动添加,不可随意更改;
      (4)人员签到信息—签到时间和签离为当前时间,由系统自动添加,不可随意更改。

    3.安全管理和用户角色设置

      (1)管理员:可对部门信息,员工信息,工资信息,人员调动等进行增删改查的操作,对员工签到信息,可以进行查看
      (2)普通用户:只能进行登陆后,进行签到,签离的操作

    4.数据库备份和恢复方案

      backup database 工资人事管理系统
      to disk = ‘F:\工资人事管理系统.Bak’ with format,
      name = ‘工资人事管理系统’;
    在这里插入图片描述

    图11 数据库备份和恢复方案示意图

    (三)数据库物理实现

    1.数据库的创建(创建的具体表可见附录1A)

      create database 工资人事管理系统;
      use 工资人事管理系统;

    2.表的创建

      (1)企业部门表的创建
      create table BM(
       bmbh varchar(40) not null primary key,
       bmmc varchar(40) not null,
       bmzn varchar(40) not null,
       sjbmbh varchar(40) not null
      );
      (2)员工工资信息表的创建
      create table Gzxx(
       gzbh varchar(40) not null primary key,
       ygbh varchar(40) not null,
       jbgz float not null,
       jj float not null
      );

    (3)企业人事调动表的创建

      create table Rydd(
       ddbh varchar(40) not null primary key,
       ygbh varchar(40) not null,
       ddsj date not null,
       ddbm varchar(40) not null,
       ddyy varchar(40) not null,
       ddzw varchar(40) not null
      );

    (4)员工基本信息表的创建

      create table Ygjbxx (
       bh varchar(40) not null primary key,
       xm varchar(40) not null,
       xb varchar(40) not null,
       zp varchar(40) not null,
       mz varchar(40) not null,
       sr varchar(40) not null,
       zzmm varchar(40) not null,
       whcd varchar(40) not null,
      hyzk varchar(40) not null,
       jg varchar(40) not null,
       sfzh varchar(40) not null,
       sjhm varchar(40) not null,
       dacfd varchar(40) not null,
       hkszd varchar(40) not null,
       rzsj date not null,
       ygjb varchar(40) not null,
       ygjbgz float not null,
       szbmbh varchar(40) not null,
       zt varchar(40) not null,
      mm varchar(40) not null,
      sf varchar(40) not null
      );
      (5)员工签到表的创建
      create table Ygqd (
       qdbh varchar(40) not null primary key,
       ygbh varchar(40) not null,
       qdsj date not null,
       qlsj date
      );

    3.视图设计

      (1)展示工资编号,员工名字,基本工资和奖金
      create view 员工_工资
      as
      select gzxx.,ygjbxx.xm
      from ygjbxx,gzxx
      where ygjbxx.bh=gzxx.ygbh;
      (2)展示调动信息和它对应的员工名字
      create view 调动_员工
      as
      select rydd.
    ,ygjbxx.xm
      from ygjbxx,rydd
      where rydd.ygbh=ygjbxx.bh;
      (3)展示员工签到信息和它对应的员工名字
      create view 签到_员工
      as
      select ygqd.*,ygjbxx.xm
      from ygjbxx,ygqd
      where ygqd.ygbh=ygjbxx.bh;

    4.存储过程设计

      (1)输入员工名字,得到他的工资信息
      create procedure procedurea
      @mc varchar(20)
      as
      begin
      select *
      from gzxx
      where ygbh=
      (select bh
      from Ygjbxx
      where xm=@mc);
      end;
      (2)输入员工名字,得到他的签到信息
      create procedure procedureb
      @mc varchar(20)
      as
      begin
       select * from Ygqd where ygbh=(select bh   from Ygjbxx where xm=@mc);
      end;
      (3)输入员工名字,得到他的账号和密码
      create procedure procedurec
      @mc varchar(20)
      as
      begin
       select * from uuser where ygbh=(select bh from   Ygjbxx where xm=@mc);
      end;

    5.触发器设计

      (1)删除员工时,删除对应的人员调动,员工签到以及工资信息
      create trigger triggerb
      on ygjbxx after delete
      as
      begin
       delete from rydd where ygbh=(select bh from deleted);
       delete from ygqd where ygbh=(select bh from deleted);
       delete from gzxx where ygbh=(select bh from deleted);
      end;
      (2)当员工职位调动时,其当月工资和奖金翻倍
      create trigger triggerc
      on rydd after insert
      as
      begin
      update gzxx set jbgz=jbgz2,jj=jj2
      where ygbh=(select ygbh from inserted)
    and ffsj like concat(’%’,concat(month(getdate()),’%’));
      end;

    6.索引设计

      编写索引,根据员工签到时间排序
      create index indexa on ygqd(qdsj desc);

    五、数据库应用系统编码实现

    (一)程序流程图

    程序流程图可如图12所示。在这里插入图片描述

    图12 企业员工人事管理程序流程图

    (二)数据库连接代码

    package com.util;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
    public class DBhelper {
    
    	/**
    	 * 绑定数据库的帮助类
    	 */
    private final static String CNAME="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    	private final static String URL="jdbc:sqlserver://localhost:1433;databasename=工资人事管理系统";
    	private final static String NAME="sa";
    	private final static String PWD="123";
    	
    	static {
    		try {
    		Class.forName(CNAME);
    		}catch(Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	//连接数据库的方法
    	public static Connection getCon(){
    		Connection con=null;
    		try {
    			con=DriverManager.getConnection(URL,NAME ,PWD);
    		} catch (Exception e) {
    			// TODO: handle exception
    			e.printStackTrace();
    		}
    		return con;
    	}
    	
    	//关闭连接的方法
    	public static void myClose(Connection con,PreparedStatement ps,ResultSet rs){
    		try {
    			if(rs!=null){
    				rs.close();
    			}
    			if(ps!=null){
    				ps.close();
    			}
    			if(con!=null&&!con.isClosed()){
    				con.close();
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    }
    

    (三)程序界面
    该系统用户共分为两类,一为企业系统管理员,一为普通员工,因此从管理员与用户两个角度简要展示该数据库前台应用的功能。

    1. 企业系统管理员
      (1)管理员操作界面
      在这里插入图片描述
    a) 登录界面

    在这里插入图片描述

    b)登录成功

    在这里插入图片描述

    a) C)管理员操作主界面
    图13 管理员界面

    (2)主要功能演示
    在这里插入图片描述

    a)部门管理界面
    在这里插入图片描述

    b)员工离职操作
    在这里插入图片描述

    c)员工人事调动操作
    在这里插入图片描述

    d)员工工资基本操作
    图14 主要功能演示
    管理员进入主界面后,可进行员工基本信息的查询,为新入职的员工录入信息,对离职的员工进行离职操作,对部门信息进行管理,对员工的工资信息进行查询记录,对员工进行职位或部门之间的调动管理,查看员工签到情况等。
    其中,部门功能操作截图可见图14,因为篇幅有限,故此不一一展示。
    (3)图14所示主要功能的核心代码展示如下:

    在这里插入图片描述

    图15 主要功能的核心代码展示
    2. 普通用户
    在这里插入图片描述

    图16 普通员工操作界面及签到签离功能
    普通用户登录进取只有上班签到打卡以及下班签离打卡操作,界面简洁,其中部分操作可见图16所示。

    六、附录1A
    工资信息
    列名 数据类型 是否允许为空 是否为主键 备注
    Gzbh varchar(40) 否 是 工资编号
    Ygbh varchar(40) 否 员工编号
    Jbgz Float 否 基本工资
    Jj Float 否 奖金
    Ffsj varchar(40) 否 发放时间

    员工基本信息
    列名 数据类型 是否允许为空 是否为主键 备注
    Bh varchar(40) 否 是 员工编号
    Xm varchar(40) 否 姓名
    Xb varchar(40) 否 性别
    Zp varchar(40) 否 照片
    Mz varchar(40) 否 名字
    Sr varchar(40) 否 生日
    Zzmm varchar(40) 否 政治面貌
    Whcd varchar(40) 否 文化程度
    Hyzk varchar(40) 否 婚姻状况
    Jg varchar(40) 否 籍贯
    Sfzh varchar(40) 否 身份证号
    Sjhm varchar(40) 否 手机号码
    Dacfd varchar(40) 否 档案存放地
    Hkszd varchar(40) 否 户口所在地
    Rzsj date 否 入职时间
    Ygjb varchar(40) 否 员工级别
    Ygjbgz float 否 基本工资
    Szbmbh varchar(40) 否 所在部门编号
    Zt varchar(40) 否 状态(离职,实习,正式等)
    Sf varchar(40) 否 身份(管理员,普通员工)
    Mm varchar(40) 否 密码

    人员调动
    列名 数据类型 是否允许为空 是否为主键 备注
    Ddbh varchar(40) 否 是 调动编号
    Ygbh varchar(40) 否 员工编号
    Ddsj date 否 调动时间
    Ddbm varchar(40) 否 调动部门编号
    Ddyy varchar(40) 否 调动原因
    Ddzw varchar(40) 否 调动职位

    员工签到
    列名 数据类型 是否允许为空 是否为主键 备注
    Qdbh varchar(40) 否 是 签到编号
    Ygbh varchar(40) 否 员工编号
    Qdsj date 否 签到时间
    Qlsj date 否 签离时间

    部门
    列名 数据类型 是否允许为空 是否为主键 备注
    Bmbh varchar(40) 否 是 部门编号
    Bmmc varchar(40) 否 部门名称
    Bmzn varchar(40) 否 部门职能
    Sjbmbh varchar(40) 否 上级部门编号

    展开全文
  • 数据库设计员工管理系统

    千次阅读 2021-12-04 18:41:34
    数据库原理课程设计,员工管理系统

    数据库实验,课程设计

    员工管理系统的数据库设计

    实验数据库选用MySQL,结合数据库原理相关知识模拟课题,创建员工管理系统数据库。(应付学校实验报告)

    一、实验目的

    1.能够正确运用数据库的思想与方法,结合一个模拟课题,复习、巩固数据库知识,提高数据库的实践能力。

    2.能够完成对具体某一个管理系统的数据库分析和概念结构和逻辑结构设计能力,并通过数据库管理软件完成实施操作。

    二、实验内容

    1、需求分析

    通过设计数据库实现对企业员工的基本信息、职位、所属项目、工资等数据进行存储、查询和管理。数据库需要存储员工的基本信息如员工编号、身份证号、联系方式、所属部门信息、工资信息等,还要对员工参与的项目信息进行存储,如项目编号,项目名称,项目起止时间等。

    系统开发先通过ER图设计模型,然后根据设计好的概念模型进行建库建表。

    并且加入相关数据,在数据库中完成查询管理工作。

    2、概念结构设计:ER图

    在这里插入图片描述

    3、逻辑结构设计

    ①关系模式设计

    一个公司部门中可以包含多个员工,每个员工只能属于一个公司部门,因此员工与公司部门的关系为N:1.

    一个公司部门内可以多个职位,每个特定职位只能属于一个部门,因此公司部门与部门职位的关系为1:N.

    每个员工可以属于不同部门的相同职位,及同一个职位可以对应多个员工,而每个员工只能由一个职位,因此部门职位与员工的关系为1:N.

    每个员工都对应一个工资单,每个工资单只能属于一个员工,因此员工表与工资表的关系是1:1.

    每个员工可以参与多个项目,每个项目可以由多个员工参与,因此员工表与项目表的关系是N:M.

    ②按照三范式标准检验

    没有传递依赖,是3NF

    4、物理结构设计:表的结构设计和索引设计部分

    4.1、表结构

    1:1的关系如员工信息表和工资表,可将员工信息表的主键设置为工资表的外键,也可将工资表的主键设置为员工信息表的外键

    1:N的关系如公司部门表和员工信息表,公司部门表为1的一方,员工信息表为N的一方,需要将公司部门表的主键设为员工信息表的外键。

    M:N的关系如员工信息表和项目表,需要建立一个联系表(员工和项目关系表)将员工信息表的主键和项目表的主键分别设为员工和项目关系表的外键。

    4.2、表索引

    • 根据员工姓名建立索引
    • 根据部门名称建立索引
    • 根据项目名称建立索引
    • 根据职位名称建立索引

    5、SQL语句实施: 建表、输入数据

    CREATE DATABASE `employee_management` CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    USE `employee_management`;
    
    CREATE TABLE `employee` (
      `employee_id` int(8) COMMENT '员工id',
      `department_id` int(8) NULL COMMENT '部门id',
      `position_id` int(8) NULL COMMENT '职位id',
      `employee_name` varchar(50) NULL COMMENT '员工名称',
      `cart_id` int NULL COMMENT '身份证号',
      `sex` varchar(10) NULL COMMENT '性别',
      `phone` varchar(20) NULL COMMENT '手机号',
      `email` varchar(30) NULL COMMENT '邮箱',
      PRIMARY KEY (`employee_id`)
    );
    
    
    CREATE TABLE `department`(
      `department_id` int(8) PRIMARY KEY,
      `department_name` varchar(50),
      `chairman_number` varchar(20)
    );
    
    
    CREATE TABLE `POSITION` (
      `position_id` int(8) PRIMARY key,
      `department_id` int(8),
      `position_name` varchar(20)
    );
    
    CREATE TABLE `project` (
      `project_id` int(8) PRIMARY key,
      `project_name` VARCHAR(20),
      `start_time` varchar(20),
      `end_time` varchar(20)
    );
    
    
    #员工和项目关系表
    
    CREATE TABLE `emp_project_info`(
      `emp_project_r_id` int PRIMARY KEY,
      `employee_id` int(8),
      `project_id` int(8)
    );
    
    CREATE TABLE `salary_info` (
      `bill_id` int(8) PRIMARY key,
      `employee_id` int(8),
      `base_pay` int,
      `insurance_pay` int,
      `merit_pay` int,
      `subsidy_pay` int,
      `overtime_pay` int
    );
    
    #添加表之间的约束
    
    ALTER TABLE `salary_info` 
    ADD FOREIGN KEY (`employee_id`) REFERENCES `employee` (`employee_id`);
    
    ALTER TABLE `salary_info` 
    ADD FOREIGN KEY (`employee_id`) REFERENCES `employee` (`employee_id`);
    
    ALTER TABLE `position` 
    ADD FOREIGN KEY (`department_id`) REFERENCES `department` (`department_id`);
    
    
    ALTER TABLE `emp_project_info` 
    ADD FOREIGN KEY (`employee_id`) REFERENCES `employee` (`employee_id`),
    ADD FOREIGN KEY (`project_id`) REFERENCES `project` (`project_id`);
    
    ALTER TABLE `employee` 
    ADD FOREIGN KEY (`position_id`) REFERENCES `position` (`position_id`);
    
    #3 创建索引
    CREATE INDEX idx_emp_name ON employee(employee_name);
    
    CREATE INDEX idx_dept_name ON department(department_name);
    
    CREATE INDEX idx_project_name ON project(project_name);
    
    ALTER TABLE `position` 
    ADD INDEX `idx_position_name`(`position_name`) USING BTREE;
    
    #插入数据
    INSERT INTO `department` (`department_id`, `department_name`, `chairman_number`) VALUES (1001, '开发部', '202101');
    INSERT INTO `department` (`department_id`, `department_name`, `chairman_number`) VALUES (1002, '设计部', '202102');
    
    INSERT INTO `position` (`position_id`, `department_id`, `position_name`) VALUES (2001, 1001, '技术总监');
    INSERT INTO `position` (`position_id`, `department_id`, `position_name`) VALUES (2002, 1002, '设计总监');
    
    INSERT INTO `employee` VALUES (202101, 1001, 2001, '张三', 2204554, '男', '21343545', '23478957@qq.com');
    INSERT INTO `employee` VALUES (202102, 1001, 2001, '李四', 2203425, '女', '23475453', '23184672@qq.com');
    INSERT INTO `employee` VALUES (202103, 1001, 2001, '王五', 2204545, '男', '32313435', '12323233@qq.com');
    INSERT INTO `employee` VALUES (202104, 1002, 2002, '刘六', 2206756, '女', '12313445', '32847239@qq.com');
    INSERT INTO `employee` VALUES (202105, 1002, 2002, '赵七', 2204735, '男', '32490294', '31287463@qq.com');
    
    INSERT INTO `project` VALUES (3001, 'xx电子平台', '2021.01', '2021.03');
    INSERT INTO `project` VALUES (3002, 'xx电商', '2021.04', '2021.07');
    
    INSERT INTO `emp_project_info` (`emp_project_r_id`, `employee_id`, `project_id`) VALUES (4001, 202101, 3001);
    INSERT INTO `emp_project_info` (`emp_project_r_id`, `employee_id`, `project_id`) VALUES (4002, 202102, 3001);
    INSERT INTO `emp_project_info` (`emp_project_r_id`, `employee_id`, `project_id`) VALUES (4003, 202103, 3001);
    INSERT INTO `emp_project_info` (`emp_project_r_id`, `employee_id`, `project_id`) VALUES (4004, 202104, 3002);
    INSERT INTO `emp_project_info` (`emp_project_r_id`, `employee_id`, `project_id`) VALUES (4005, 202105, 3002);
    
    INSERT INTO `salary_info` VALUES (5001, 202101, 8000, 1000, 2000, 4000, 3000);
    INSERT INTO `salary_info` VALUES (5002, 202102, 7500, 1000, 2000, 3000, 3000);
    INSERT INTO `salary_info` VALUES (5003, 202103, 8000, 1000, 2000, 4000, 3000);
    INSERT INTO `salary_info` VALUES (5004, 202104, 7000, 1000, 2000, 2000, 3000);
    INSERT INTO `salary_info` VALUES (5005, 202105, 9000, 1000, 2000, 1000, 3000);
    

    6、查询,创建视图操作(SQL)

    #1.查询全部员工的平均工资
    SELECT AVG(base_pay+insurance_pay+merit_pay+subsidy_pay+overtime_pay) avg_salary FROM salary_info;
    
    #2.查询开发部员工的平均工资
    
    SELECT AVG(base_pay+insurance_pay+merit_pay+subsidy_pay+overtime_pay) avg_salary_dep 
    FROM salary_info WHERE employee_id IN(SELECT employee_id FROM employee,department 
    WHERE employee.department_id=department.department_id AND department.department_id=1001);
    
    #3.查询各个项目平均补贴
    SELECT AVG(subsidy_pay) FROM salary_info WHERE employee_id 
    IN(SELECT employee_id FROM emp_project_info WHERE project_id=3001);
    SELECT AVG(subsidy_pay) FROM salary_info WHERE employee_id 
    IN(SELECT employee_id FROM emp_project_info WHERE project_id=3002);
    
    #4.查询工资最高的员工的姓名
    SELECT employee_name FROM employee e 
    JOIN salary_info s
    ON e.employee_id=s.employee_id
    HAVING MAX(base_pay+insurance_pay+merit_pay+subsidy_pay+overtime_pay);
    
    #5.查询技术总监的平均工资
    SELECT AVG(base_pay+insurance_pay+merit_pay+subsidy_pay+overtime_pay) avg_pos FROM salary_info 
    WHERE employee_id IN(SELECT employee_id FROM employee 
    WHERE position_id IN(SELECT position_id FROM `position` WHERE `position_name`='技术总监'));
    
    #创建视图:
    CREATE VIEW s1 AS SELECT AVG(base_pay+insurance_pay+merit_pay+subsidy_pay+overtime_pay) avg_salary FROM salary_info;
    
    

    7、实验总结

    经过这次实验,我学习如何正确运用数据库,加深了对数据库思想与方法的理解,通过这次实验复习、巩固数据库知识,提高数据库的实践能力。深一步了解了数据库的设计,学会创建ER图,能够更加熟练的完成对具体某一个管理系统的数据库分析和概念结构和逻辑结构设计能力,并通过数据库管理软件完成实施操作。

    展开全文
  • 含基本的人事管理的档案管理、员工管理、部门管理等乱七八糟的,还附加了发送邮件,群聊,生成动态二维码,excel导入导出,生成柱状图等。功能比较完善!最重要的是一个综合查询的功能,一个非常复杂的多表连接查询...
  • 数据库课程设计:建材物资管理系统数据库课程设计 ** 一.课设简述 ** 本次设计基于大二学习的数据库原理这门课程,选择了建材物资管理系统这个课设题目,在查阅了相关资料后,设计了集进货商家信息,进货报表到物资...
  • 展开全部首先在SQL中利用企业管理器或向导建立一个数据库,命名为学生管理系统,启动SQL Sever服务,运行32313133353236313431303231363533e59b9ee7ad9431333365646235企业管理器,单击要创建数据库的服务器左边的...
  • 企业销售管理系统数据库课程设计) 1.源代码 程序采用C#语言编写!涵盖 系统登陆功能、查询管理功能、客户管理功能、产品管理功能、员工管理功能、促销管理功能、退货管理功能,共7大功能。部分界面如下: 2....
  • 企业人事管理系统(c#.net SQL 含数据库 源代码) 企业人事管理系统(c#.net SQL 含数据库 源代码)
  • asp.net+c#+sql server企业文档管理系统全套源码 开发工具vs 含源代码和SQL数据库文件,可用于代码参考和计算机专业毕业设计。
  • 数据库课程设计—企业工资管理系统(java版+完整代码).
  • 图书管理系统数据库设计

    万次阅读 多人点赞 2018-05-26 23:44:35
    图书管理系统数据库设计 博主在github上找的这个项目链接,大家想参考的可以看看! JAVA GUI 图书馆管理系统:https://github.com/uboger/LibraryManager 图书馆流通管理系统:...
  • 《考勤信息管理系统数据库课程设计

    万次阅读 多人点赞 2021-01-09 17:11:19
    考勤信息管理系统 目 录 一、课程设计目的和要求 2 二、课程设计过程 2 数据库设计的基本步骤如下: 3 1.需求分析阶段 3 1.1应用背景 3 1.2需求分析目标 4 1.3系统设计概要 4 1.4软件处理对象: 4 1.5系统可行性分析...
  • 该人力资源管理系统功能强大,分为企业管理员和内部员工多种角色登陆。企业管理员可以实现对内部员工的增加、删除、修改、查看、发布企业公告、常见企业培训班、审核内部员工信息、员工内部岗位调度等等; 内部员工...
  • 企业人事管理系统【SQLServer数据库+课程设计文档】 1.需求分析 1.1 系统目标与要求 1.2 用户需求 1.3 系统业务流程图 2. 系统逻辑方案 2.1 数据流图(简称为DFD) 2.2 数据字典(简称DD) 3. 系统总体结构...
  • 企业人事管理系统主要用于员工个人资料的录入、职务变动的记录和管理。使用人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配。 一、系统需求分析 1.1 系统功能分析 人事管理系统主要有以下几项功能...
  • 仓库管理系统数据库课程设计)

    万次阅读 2020-06-30 12:20:19
    仓库管理系统 模拟设计一般仓库的管理内容,包括物资管理、仓库管理、入库操作、入库查询统计、出库操作、出库查询统计、库存查询统计等处理情况。主要内容如下: (1)分类管理物资信息(2)系统能管理多个仓库(3)...
  • 数据库主要用来存储、维护和管理...数据库管理系统就是一款数据库软件,可以对数据库进行管理和控制; 简单来说,相互依赖的关系(数据库中的数据是数据库管理系统来操作的,要是没有数据,后者也就没什么用了) ...
  • 免费的Access数据库员工管理系统下载前言:满足大多数志在指尖用户的要求,今天给大家带来一个志在指尖团队自己用Access开发的数据库员工管理系统。下面就给大家介绍一下本系统的大概功能!网上有许多员工管理系统的...
  • 8大常用数据库管理系统简介

    万次阅读 2019-06-20 14:48:15
    转自:http://vps.zzidc.com/vpsjishu/817.html 数据库管理系统(Database Management System)是种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称DBMS。是企业进行数据管理及维护不可或...
  • 人力资源管理系统 java web 完整项目 包含源码和数据库 人力资源管理系统 java web 完整项目 包含源码和数据库
  • 企业员工信息管理系统 企业员工信息管理系统 数据库课程设计 数据库课程设计
  • 人事管理是企业,校园等大型集团管理中的一个重要内容,随着时代的进步,企业也逐渐变得庞大起来,如何管理好一个企业内部的员工信息是企业管理的一大问题,因此在这种情况下开发一个好的人事管理系统就十分重要。...
  • 一、数据库系统、数据库数据库管理系统 DBS包括DB和DBMS。 1、DBS是Database System的缩写,数据库系统。 2、DB是database的缩写,数据库。 3、DBMS是Database Management System的缩写,数据库管理系统。 ...
  • 用教材管理系统来举例 一、 引言 随着时代的进步,计算机技术飞速发展,电子信息技术在各行各业起着越来越重要的作用。其中,应用最广泛的就是数据库技术。对一个企业来说,数据的安全关系着整个企业的发展,如何...
  • 为配合学习数据库系统原理及应用开发,实现公司对员工的培训管理的员工培训管理系统,基于python Flask Web开发系统。 二、总体设计 1、员工培训管理系统模块介绍以及E-R图: 培训管理应用程序数据模块的创建、培训...
  • 企业进销存管理系统java web 完整项目 包含源码数据库 企业进销存管理系统java web 完整项目 包含源码数据库
  • jsp+servlet+mysql企业人事管理系统

    热门讨论 2014-06-05 14:11:19
    企业人事系统,使用jsp+servlet+mysql编写,使用的IDE是Intellij IDEA 12,包含数据库备份sql文件. 主要模块包括: ①人事档案管理:户口状况、政治面貌、生理状况、合同管理等; ②考勤加班出差管理; ③人事变动:...
  • 本后台管理系统源码可适用于学习参考,资深人士也可在此基础上进行开发学习等

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 404,407
精华内容 161,762
关键字:

企业管理系统数据库

友情链接: dos.zip