数据库设计与开发.docx

上传人:b****8 文档编号:9428011 上传时间:2023-02-04 格式:DOCX 页数:37 大小:855.06KB
下载 相关 举报
数据库设计与开发.docx_第1页
第1页 / 共37页
数据库设计与开发.docx_第2页
第2页 / 共37页
数据库设计与开发.docx_第3页
第3页 / 共37页
数据库设计与开发.docx_第4页
第4页 / 共37页
数据库设计与开发.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

数据库设计与开发.docx

《数据库设计与开发.docx》由会员分享,可在线阅读,更多相关《数据库设计与开发.docx(37页珍藏版)》请在冰豆网上搜索。

数据库设计与开发.docx

数据库设计与开发

 

课程设计〔论文〕

 

课程名称:

数据库系统分析与设计

题目:

人事信息管理系统

数据库设计与实现

院〔系〕:

专业班级:

姓名:

学号:

指导教师:

年月日

摘要

数据库是数据管理的最新技术,是计算机科学的重要分支。

在应用需求的推动下,在计算机硬件、软件的开展根底上,数据库技术从人工管理阶段、文件系统阶段一直开展到现在的数据库系统阶段这几个过程。

现在的数据库系统具有存储容量大、数据构造化、数据的共享性高、冗余度低、易扩大、数据独立性高等特点。

便于用于现代社会开展各个领域的数据的管理。

人事信息管理是数据管理的一项非常重要任务。

社会上许多的公司、部门、机关、学校等,都需要对自己的人事进展管理。

在对于一些大型公司、部门或者一些跨地区乃至跨国的公司,原始的数据管理技术显得会很麻烦,不便管理,甚至在人员发生变动后,在数据处理上便会发生很多不可抗的问题。

此处,如果使用了数据库管理技术,会使问题简化许多。

此处,针对光影传媒公司的人事信息管理系统为例,对数据库进展分析与设计。

在与相关人员进展了充分的交流,掌握了即将设计的数据库的根本信息之后,进展根本的需求分析,通过需求分析得出的结论,找出人事信息管理中的根本对象,对每个对象进展认真的分析。

之后,应用数据库设计软件PowerDesigner,建立起根本的概念模型,由概念模型抽象出逻辑模型,然后有所得的概念模型得出物理模型。

关键字:

数据库,分析,设计,人事信息管理,PowerDesigner

 

1绪论

1.1系统简介

光影传媒公司是成立于19XX年的一家传媒公司,公司目在全国各地有三家分公司。

该公司囊括电影、电视、音乐、动漫等行业,公司内的部门有董事会、营销部、筹划部、后勤部等。

公司现有职工一千多人,其学历、收入、所在部门各不一样,同时,有时由于业务需求,各部门之间会有一定的人事调动。

对于如此庞大且繁杂的数据系统,如果采用传统的数据管理显然不能满足管理的需求。

于是,要求设计一个适合于光影传媒公司人事信息管理数据库,用以实现统计、管理公司内各职员的根本信息、各个部门的情况、员工的转入或转出、人员的调动,以及公司的各项事务、各项事务的负责情况、进展情况、实施情况和一些相关的后续情况等。

要求对于建成的数据库,要能对其中的数据进展增添、删除、修改和更新操作,并且,在使用时,要方便对数据库进展查询,并显示出查询结果。

1.2设计目的

实现对公司员工的根本信息进展统计,包括姓名、员工号、性别、学历、职称等;对公司各项业务以及业务的实施情况进展统计,包括工程编号、工程名称、工程进展情况等;记录各个员工的转入、转出、调动情况;各个部门的具体情况、负责人、各工程的负责人等。

用以记录公司正常运营的各种业务以及提供所需数据,方便公司管理人员以及数据库管理人员对数据进展增加、删除、修改、查询等处理。

维持公司的正常运转,提供必要的资料,对公司进展更好的管理。

1.3设计内容

分析光影传媒公司人事信息管理数据库所要求实现的功能的要求,针对要求,做出具体的需求分析,在需求分析之后,需要进展设计的内容如下:

〔1〕根据业务调查以及查阅资料了解了光影传媒公司人事信息管理的根本业务之后,设计观影传媒公司人事信息管理的业务、数据流程图;

〔2〕根据已设计的流程图设计出相应的数据字典;

〔3〕根据以设计好的业务和数据流程图进展仔细分析,设定实体、属性及关系,设计出业务根本的概念模型,并对其进展适当的优化;

〔4〕基于已设计出的概念模型设计出逻辑模型,对逻辑模型进展优化;

〔5〕根据以上的概念模型设计出物理模型,该模型用于存储数据。

2需求分析

2.1.需求分析的任务

进展整个数据库设计必须准确了解与分析用户需求〔包括数据和处理〕。

需求分析是整个设计过程的根底,是最困难、最消耗时间的一步。

作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度和质量。

需求分析的任务是通过详细调查现实世界要处理的对象〔组织、部门、企业等〕,充分了解原系统〔手工系统或计算机系统〕工作概况,明确用户的各种需求,然后在此根底上确定新系统的功能。

需求分析调查的重点是“数据〞和“处理〞,通过调查、收集和分析,获得用户对数据库的如下需求:

〔1〕信息需求:

①公司员工信息:

员工编号、员工姓名、性别、学历、所属部门、毕业院校、安康状况、学历、职称、工资、联系方式、职务、奖惩状况、起始工作时间、终止工作时间;

②公司部门信息:

部门编号、部门名称、部门负责人、部门工作描述;

③工程信息:

工程编号、工程名称、工程描述、工程负责人、工程参与部门、工程开场时间、工程完毕时间;

④员工出勤信息:

员工编号、员工姓名、日期、出勤状况、缺勤原因、备注;

⑤员工参与工程信息:

员工编号、员工姓名、工程编号、工程名称、工程负责人、备注。

〔2〕处理要求。

指用户需要完成什么处理功能。

明确用户对数据有什么样的处理要求,从而确定数据之间的相互关系。

①数据的录入:

对公司的员工的根本信息、部门的根本信息、工程的根本信息等进展信息的录入,并对数据进展存储;

②信息的更新:

数据库管理人员要求能对公司员工的信息、部门信息、工程信息等进展增加、修改、删除、查询等功能;

③信息的查询:

公司各部门的员工能对自己的信息进展查询、也能对公司部门的信息进展查询;

④信息的管理:

公司的管理人员通过对信息的查询,做出相应的决策,并对信息进展定期的维护和更新。

〔3〕平安性与完整性要求。

员工的员工编号、部门的部门编号、工程的工程编号均不能为空且必须唯一;员工姓名、部门名称、工程名称均不能为空。

普通员工仅能对自己以及公司的信息进展查询,仅有数据库管理人员能对公司数据库中的数据进展增加、删除、修改、更新等操作。

2.2系统数据流程分析

1〕根本业务调查通过查阅资料和与公司内人员交流,得出的业务根本流程如图2.1所示:

图2.1.根本信息录入流程

通过各个管理部门对根本信息进展登记和审核,待审核合格之后录入公司数据库。

待数据库建成之后需要对数据库进展定期的维护和更新,并把新的数据存入数据库,其流程如图2.2.所示:

图2.2.数据更新流程图

对于每个工程,先要对工程进展申报、筹划,得到批准之后,再分配相关人员配合参与,并把参与信息录入数据库,其流程如图2.3.所示:

图2.3.工程申报流程图

2〕数据流程图

根据对公司人事信息管理的调查和了解,以及查阅资料了解相关业务之后,对数据的流动及传输做了一定规划,设计出来的数据流程图如图2.4所示:

图2.4人事管理数据流程图

2.3数据字典

在数据流程图中,数据信息和处理过程需要通过数据字典才能描述清楚,因此在数据字典中主要对数据流程图中的数据流、数据存储和处理过程给出更详细、更准确的说明。

1〕数据流定义

可以通过表格的形式给出数据流程图的主要数据流,如表2.1所示。

表2.1人事管理系统主要数据流定义

序号

名称

位置

构造定义

最大数据流量

1

员工信息

01

员工编号+员工姓名+性别+安康状况+职称+照片+联系方式+学历+毕业院校+所属部门+参加工作时间

5000次/天

2

部门信息

02

部门编号+部门名称+部门+部门地址+部门主管

1000次/天

3

工程信息

03

工程编号+工程名称+工程负责人+开工日期+完毕日期

1000次/天

4

员工出勤信息

04

员工编号+员工姓名+日期+出勤状况+缺勤原因+备注

10000次/天

5

工程参与信息

05

工程编号+员工编号+工程主管

1000次/天

6

工资信息

06

员工编号+员工类型+职称+参与工程+出勤状况+奖励类别

10000次/天

7

转入转出

07

员工编号+转动类型+转动时间

100次/天

8

奖惩信息

08

奖惩类别+奖惩名称+奖惩记录

1000次/天

2〕数据存储定义

可以采用如下表格的形式给出系统的主要数据定义,如表2.2所示。

表2.2人事管理系统主要数据存储定义

编号

名称

输入

输出

数据量

存取频度

存取方式

说明

D1

员工记录

员工信息

员工的各种信息

25000条

1000次/天

联机处理;检索和更新;随即检索

员工号唯一且非空

D2

部门记录

部门信息

部门的各种信息

25000条

100次/天

联机处理;检索和更新;随即检索

部门号唯一且非空

D3

工程记录

工程信息

各种工程信息

25000条

100次/天

联机处理;检索和更新;随即检索

工程编号唯一且非空

D4

员工出勤记录

员工出勤信息

员工是否出勤

25000条

10000次/天

联机处理;检索和更新;随即检索

员工号为员工记录中的员工号,记录不允许为空

D5

工程参与记录

工程参与信息

员工各自参与的工程

25000条

5000次/天

联机处理;检索和更新;随即检索

员工编号和工程编号分别参照员工记录和工程记录

D6

工资记录

员工号及各项相关因素

员工各自的工资

25000条

5000次/天

联机处理;检索和更新;随即检索

员工号参照员工记录,工资与出勤记录工程记录等因素有关,且员工的工资因是否在职而异

D7

转入转出记录

员工的转入转出信息

员工转入转出的部门,以及员工从公司转入或转出的信息

25000条

500次/天

联机处理;检索和更新;随即检索

员工编号号参照员工记录

D8

奖惩记录

员工奖惩信息

员工奖惩记录

25000条

1000次/天

联机处理;检索和更新;随即检索

员工编号参照员工记录

3〕处理过程

可以采用如下表格的形式给出系统的主要处理过程定义,如表2.3所示。

表2.3人事管理系统主要处理过程定义

序号

处理过程名称

输入

输出

处理说明

P1

人员管理

人员情况

人员记录

对公司人员统一编码,将人员信息数据化,存储入员工记录表中

P2

部门管理

部门情况

部门记录

对公司部门统一编码,将部门信息数据化,存储入部门记录表中

P3

工程管理

工程情况

工程记录

对工程统一编码,将工程信息数据化,存储入工程记录表中

P4

员工出勤管理

员工出勤情况

出勤记录

将出勤信息数据化,存储入出勤记录表中

P5

工程参与管理

工程参与情况

工程参与记录

将工程参与信息数据化,存储入工程参与记录表中

P6

工资管理

员工工资情况

员工工资记录

将员工工资信息数据化,存储入工资记录表中

P7

转入转出管理

员工转入转出情况

员工转入转出记录

将员工转入转出信息数据化,存储入转入转出记录表中

P8

奖惩管理

员工的奖惩情况

员工的奖惩记录

将员工的奖惩信息数据化

3概念模型设计

3.1概念模型设计的方法和步骤

翻开软件PowerDesigner,使用其辅助设计概念模型:

1)在PowerDesigner主页面下新建一个概念模型;

2)在设计页面下点击实体图标,按照需求分析的结果建立实体,并一一对实体的属性进展设置;

3)在实体和属性建立完成之后,建立各个实体之间的联系。

在所有实体、属性与实体之间的联系建立好后,根本的概念模型便设计好了。

设计的结果如图3.1所示:

图3.1人事管理系统概念模型图

3.2系统概念模型

根据系统的需求分析所得到的概念模型,用E-R图表示如图3.2所示:

图3.2人事信息管理E-R模型图

4逻辑模型设计

4.1逻辑模型设计的方法

在软件PowerDesigner中,在原本已建立好的概念模型下,对概念模型进展检查,检查实体的名字、编码,关系的名字、编码是否唯一,如果不唯一,那么将它们改唯一。

之后,在概念模型的主页面之下,点击Tool按钮,选择GenerateLogicalDataModel命令进展设置,使概念模型转化为逻辑模型。

生成的逻辑模型如图4.1所示:

图4.1人事管理逻辑模型图

4.2逻辑模型实现

关系模式:

员工〔员工编号,员工姓名,性别,安康状况,职称,照片,联系方式,学历,毕业院校,所属部门,参加工作时间〕

部门〔部门编号,部门名称,部门,部门地址,部门主管〕

出勤〔员工编号,员工姓名,日期,出勤状况,缺勤原因,备注〕

工程〔工程编号,工程名称,工程负责人,开工日期,完毕日期〕

工资〔员工编号,员工类型,职称,参与工程,出勤状况,奖励类别〕

奖罚〔员工编号,奖惩名称,奖罚记录〕

转入转出〔员工编号,转动类型,转动时间〕

工程参与信息〔工程编号,员工编号,工程主管〕

奖罚情况〔员工编号,奖罚名称〕

工程管理〔工程编号,部门编号〕

4.3数据完整性约束定义

根据上面的关系模式,数据库的完整性约束如下所示:

1〕实体完整性约束

员工〔员工编号〕

部门〔部门编号〕

出勤〔员工编号,日期〕

工程〔工程编号〕

工资〔员工编号〕

奖罚〔员工编号,奖罚名称〕

转入转出〔员工编号〕

工程参与信息〔工程编号,员工编号〕

奖罚情况〔员工编号,奖罚名称〕

工程管理〔工程编号,部门编号〕

员工姓名、部门名称必须非空

2〕参照完整性约束

出勤〔员工编号〕参照:

员工.员工编号

工资〔员工编号〕参照:

员工.员工编号

奖罚〔员工编号〕参照:

员工.员工编号

转入转出〔员工编号〕参照:

员工.员工编号

工程参与信息〔工程编号,员工编号〕参照:

员工.员工编号,工程.工程编号

奖罚情况〔员工编号〕参照:

员工.员工编号

工程管理〔工程编号,部门编号〕参照:

工程.工程编号,部门.部门编号

3〕用户自定义完整性约束

员工表中,员工编号必须以Y开头,后面根7位数字;

部门表中,部门编号必须以D开头,后面跟5位数字;

工程表中,工程编号必须以P开头,后面根5位数字;

工程表中,起始日期必须早于截止日期

5物理数据库模型设计与实现

5.1物理数据库模型的图示

对之前已经生成的CDM模型进展检查,待检查完毕之后,在CDM主页面选择Tool中的GeneratePhsicalDataModel命令进展设置,待设置完成后,点击确定按钮,生成PDM。

如图5.1所示:

图5.1人事信息管理物理模型图

5.2物理数据库模型的详细表示

表格形式表示:

图5.2.1员工表

图5.2.2部门表

图5.2.3工资表

图5.2.4出勤表

图5.2.5转入转出表

图5.2.6奖惩表

图5.2.7工程表

图5.2.8工程信息表

图5.2.9奖罚情况表

图5.2.10工程管理表

5.3物理数据库模型的实现

生成具体数据库的SQL语句:

ifexists(select1

fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('Relationship_4')ando.name='FK_RELATION_RELATIONS_JIANGCHE')

altertableRelationship_4

dropconstraintFK_RELATION_RELATIONS_JIANGCHE

go

ifexists(select1

fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('Relationship_4')ando.name='FK_RELATION_RELATIONS_YUANGONG')

altertableRelationship_4

dropconstraintFK_RELATION_RELATIONS_YUANGONG

go

ifexists(select1

fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('Relationship_6')ando.name='FK_RELATION_RELATIONS_BUMENXIN')

altertableRelationship_6

dropconstraintFK_RELATION_RELATIONS_BUMENXIN

go

ifexists(select1

fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('Relationship_6')ando.name='FK_RELATION_RELATIONS_XIANGMUX')

altertableRelationship_6

dropconstraintFK_RELATION_RELATIONS_XIANGMUX

go

ifexists(select1

fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('chuqinxinxi')ando.name='FK_CHUQINXI_RELATIONS_YUANGONG')

altertablechuqinxinxi

dropconstraintFK_CHUQINXI_RELATIONS_YUANGONG

go

ifexists(select1

fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('gongzixinxi')ando.name='FK_GONGZIXI_RELATIONS_YUANGONG')

altertablegongzixinxi

dropconstraintFK_GONGZIXI_RELATIONS_YUANGONG

go

ifexists(select1

fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('yuangongxixi')ando.name='FK_YUANGONG_RELATIONS_BUMENXIN')

altertableyuangongxixi

dropconstraintFK_YUANGONG_RELATIONS_BUMENXIN

go

ifexists(select1

fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('zhuanruzhuanchu')ando.name='FK_ZHUANRUZ_RELATIONS_YUANGONG')

altertablezhuanruzhuanchu

dropconstraintFK_ZHUANRUZ_RELATIONS_YUANGONG

go

ifexists(select1

fromsysindexes

whereid=object_id('Relationship_4')

andname='Relationship_5_FK'

andindid>0

andindid<255)

dropindexRelationship_4.Relationship_5_FK

go

ifexists(select1

fromsysindexes

whereid=object_id('Relationship_4')

andname='Relationship_4_FK'

andindid>0

andindid<255)

dropindexRelationship_4.Relationship_4_FK

go

ifexists(select1

fromsysobjects

whereid=object_id('Relationship_4')

andtype='U')

droptableRelationship_4

go

ifexists(select1

fromsysindexes

whereid=object_id('Relationship_6')

andname='Relationship_8_FK'

andindid>0

andindid<255)

dropindexRelationship_6.Relationship_8_FK

go

ifexists(select1

fromsysindexes

whereid=object_id('Relationship_6')

andname='Relationship_7_FK'

andindid>0

andindid<255)

dropindexRelationship_6.Relationship_7_FK

go

ifexists(select1

fromsysobjects

whereid=object_id('Relationship_6')

andtype='U')

droptableRelationship_6

go

ifexists(select1

fromsysobjects

whereid=object_id('bumenxinxi')

andtype='U')

droptablebumenxinxi

go

ifexists(select1

fromsysindexes

whereid=object_id('chuqinxinxi')

andname='Relationship_2_FK'

andindid>0

andindid<255)

dropindexchuqinxinxi.Relationship_2_FK

go

ifexists(select1

fromsysobjects

where

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1