OA办公系统数据库设计.docx
- 文档编号:22793588
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:30
- 大小:79.13KB
OA办公系统数据库设计.docx
《OA办公系统数据库设计.docx》由会员分享,可在线阅读,更多相关《OA办公系统数据库设计.docx(30页珍藏版)》请在冰豆网上搜索。
OA办公系统数据库设计
OA办公自动化管理系统
数据库设计说明书
变更记录
日期
版本
变更说明
作者
2013/08/02
1.0
数据字典设计
2013/08/03
2.0
数据库设计
2013/08/05
2.1
审核
2013/08/08
2.5
升级及审核
签字确认
职务
姓名
签字
日期
1
引言
1.1预期的读者
本文预期读者:
OA办公自动化管理系统的设计、开发人员;
OA办公自动化管理系统的验收、评审人员;
OA办公自动化管理系统的测试人员;
客户方的市场部人员、开发人员。
1.2数据库
●数据库采用MSSQLSERVER2008R2
●数据库名称:
OASYSDB/OA系统数据库
1.3目的和作用
将数据分析的结果进一步整理,形成最终的计算机模型,以便开发人员建立物理数据库。
2数据字典设计
数据字典的主要目的是提供查阅对不了解的条目的解释。
在数据字典中记录数据元素的下列信息:
一般信息(名字,别名,描述等),定义(数据类型,长度,结构等),使用特点(值的范围,使用频率,使用方式—输入/输出/本地,条件值等),控制信息(来源,用户,使用它的程序,改变权等),分组信息(父结构,从属结构,物理位置—记录、文件和数据库等)。
下面的例子是通过卡片来描述数据字典:
名字:
定货报表
别名:
定货信息
描述:
每天一次送给采购员的需要定货的零件表
定义:
定货报表=零件编号+零件名称+定货数量+目前价格+主要供应商+次要供应商
位置:
输出到打印机
名字:
零件编号
别名:
描述:
唯一地标识库存清单中一个特定零件的关键域
定义:
零件编号=8(字符)8
位置:
定货报表
定货信息
库存清单
名字:
定货数量
别名:
描述:
某个零件一次定货的数量
定义:
定货数量=1(数字)5
位置:
定货报表
定货信息
2.1个人信息数据项与数据流
2.1.1名字:
人员编号
描述:
每个人员的唯一标识,用来区分人员
定义:
字符串类型nvarchar(20)
位置:
个人信息
2.1.2名字:
姓名
描述:
人员姓名,对人员的称呼
定义:
字符串类型nvarchar(20)
位置:
个人信息
2.1.3名字:
性别
描述:
每个人员的性别,男或女
定义:
字符串类型nvarchar(50)
位置:
基本信息
2.1.4名字:
出生年月
描述:
人员的出生日期,精确到月份
定义:
日期类型datetime
位置:
个人信息
2.1.5名字:
部门
描述:
人员所在部门名称,用部门编号标识
定义:
整型int
位置:
部门信息
2.1.6名字:
岗位
描述:
人员所处岗位名称,用岗位编号标识
定义:
整形int
位置:
岗位信息
2.1.7名字:
婚姻状况
描述:
人员的婚姻状况,分为“未婚”、“已婚”
定义:
字符串类型nvarchar(20)
位置:
基本信息
2.1.8名字:
联系电话
描述:
人员的联系电话,可以是固定电话或移动电话
定义:
字符串类型nvarchar(50)
位置:
个人信息
2.1.9名字:
入职日期
描述:
人员的入职日期,精确到日
定义:
datetime
位置:
个人信息
2.1.10名字:
电子邮箱
描述:
人员常用的电子邮箱
定义:
字符串类型nvarchar(50)
位置:
个人信息
2.1.11名字:
家庭地址
描述:
人员的居住地址
定义:
字符串类型nvarchar(MAX)
位置:
个人信息
2.1.12名字:
照片
描述:
人员的正式头像,存储方式为照片的本地地址
定义:
字符串类型nvarchar(50)
位置:
个人信息
2.1.13名字:
密码
描述:
人员登录系统的密码,可修改
定义:
字符串类型nvarchar(50)
位置:
个人信息
2.1.14名字:
旧密码
描述:
人员正在使用的密码
定义:
字符串类型nvarchar(50)
位置:
个人信息
2.1.15名字:
新密码
描述:
人员新设置的密码
定义:
字符串类型nvarchar(50)
位置:
个人信息
2.1.16名字:
工资
描述:
人员的月度工资,单位为元
定义:
货币类型money
位置:
个人信息
2.1.17名字:
个人信息
描述:
个人的一切信息,部分为用户不可见或不可改
定义:
个人信息=人员编号+人员姓名+密码+性别+出生年月+部门+岗位+工资+电子邮箱+联系电话+婚姻状况+入职日期+家庭地址+照片
位置:
个人信息
2.1.18名字:
个人可修改信息
描述:
可由个人修改的部分个人信息
定义:
个人可修改信息=性别+出生年月+电子邮箱+联系电话+婚姻状况+家庭地址+照片
位置:
个人信息
2.1.19名字:
密码修改信息
描述:
个人的密码修改
定义:
密码修改信息=人员编号+姓名+新密码+旧密码
位置:
个人信息
2.2报销信息数据项与数据流
2.2.1名字:
申请人
描述:
申请人的姓名
定义:
nvarchar(20)
位置:
个人信息
2.2.2名字:
报销类型
描述:
报销的类型,分为差旅报销跟其他报销两种
定义:
字符串类型nvarchar(50)
位置:
基本信息
2.2.3名字:
申请金额
描述:
报销的金额,单位为元
定义:
货币类型money
位置:
报销信息
2.2.4名字:
申请理由
描述:
申请报销的理由,一般为报销来源内容
定义:
字符串类型nvarchar(MAX)
位置:
申请报销信息
2.2.5名字:
申请日期
描述:
申请报销或请假的日期,默认为申请报销或请假的当天
定义:
日期类型date
位置:
报销信息
2.2.6名字:
报销序号
描述:
每条报销信息的唯一标识,用来区分不同的报销信息
定义:
整形int
位置:
报销信息
2.2.7名字:
报销状态
描述:
报销的审批状态,分为批准、不批准、等待审核
定义:
字符串类型nvarchar(50)
位置:
基本信息
2.2.8名字:
经理意见
描述:
经理的审批意见,如果不批准则为报销意见返回给报销人员,如果批准则提交给财务部,如果经理未审批则为空
定义:
字符串类型nvarchar(MAX)
位置:
报销信息
2.2.9名字:
财务部意见
描述:
财务部的审批意见,如果不批准则为报销意见返回给报销人员,如果批准则提交给总经理,如果经理未审批则为空
定义:
字符串类型nvarchar(MAX)
位置:
报销信息
2.2.10名字:
总经理意见
描述:
总经理的审批意见,如果总经理已审核则为报销意见返回给报销人员,如果经理未审批则为空
定义:
字符串类型nvarchar(MAX)
位置:
报销信息
2.2.11名字:
报销意见
描述:
报销审核后的报销意见,可能是经理意见、财务部意见或总经理意见
定义:
字符串类型nvarchar(MAX)
位置:
报销信息
2.2.12名字:
申请报销
描述:
申请报销需要提交的信息
定义:
申请报销=申请人+报销类型+报销金额+申请理由+申请日期
位置:
报销信息
2.2.13名字:
查看个人报销
描述:
查看人员的报销情况,当使用者为经理时,查看经理所管理的部门的报销情况;
当使用者为总经理时,可查看整个公司的报销情况
定义:
报销序号+部门+报销状态+报销意见+申请报销
位置:
报销信息
2.2.14名字:
审核报销信息
描述:
全部申请报销的审核信息,包括批准、不批准和等待审核的
定义:
报销序号+部门+报销状态+经理意见+财务部意见+总经理意见+申请报销
位置:
报销信息
2.2.15名字:
报销信息
描述:
包含申请报销的审核报销的信息
定义:
报销信息=查看个人报销+审核报销信息
位置:
报销信息
2.3请假信息数据项与数据流
2.3.1名字:
申请部门
描述:
请假人员所在部门
定义:
字符串类型nvarchar(50)
位置:
部门信息
2.3.2名字:
起始时间
描述:
所请假期的开始时间
定义:
datetime
位置:
请假信息
2.3.3名字:
终止时间
描述:
所请假期的终止时间
定义:
datetime
位置:
请假信息
2.3.4名字:
请假天数
描述:
请假的时间,以天为单位,值为终止时间减去起始时间
定义:
datetime
位置:
请假信息
2.3.5名字:
请假类别
描述:
请假的类型,分为外出、身体不适、其他
定义:
字符串类型nvarchar(50)
位置:
基本信息
2.3.6名字:
请假事由
描述:
请假的理由,很大程度上决定了请假的成功与否
定义:
字符串类型nvarchar(MAX)
位置:
请假信息
2.3.7名字:
审批人
描述:
审批申请人的请假信息,一般为该部门的经理
定义:
字符串类型nvarchar(20)
位置:
请假信息
2.3.8名字:
请假序号
描述:
请假信息的唯一标识,用来区分每条请假信息
定义:
整形int
位置:
请假信息
2.3.9名字:
申请状态
描述:
请假的申请状态,分为批准、不批准和等待审核
定义:
字符串类型nvarchar(50)
位置:
请假信息
2.3.10名字:
回执
描述:
审批人审批请假信息后给申请人的回复
定义:
字符串类型nvarchar(50)
位置:
请假信息
2.3.11名字:
请假申请
另别:
请假条
描述:
请假人提交的申请信息
定义:
请假申请=申请人+申请部门+申请日期+起始时间+终止时间+请假类型+请假事由+审批人
位置:
请假信息
2.3.12名字:
请假审批
描述:
审批人对请假申请的查看与审批信息
定义:
请假审批=申请人+申请部门+申请日期+起始时间+终止时间+请假类型+请假事由+回执+申请状态+请假序号
位置:
请假信息
2.3.13名字:
请假信息
描述:
请假模块所包含的信息
定义:
请假审批+审批人
位置:
请假信息
2.4公告信息数据项与数据流
2.4.1名字:
公告范围
描述:
公告所通知的范围,以部门为单位
定义:
字符串类型nvarchar(50)
位置:
部门信息
2.4.2名字:
发布日期
描述:
公告的发布日期,默认为添加公告的日期
定义:
datetime
位置:
公告信息
2.4.3名字:
公告编号
描述:
公告的唯一标识,用于标记每条公告
定义:
整形int
位置:
公告信息
2.4.4名字:
公告标题
描述:
公告的主题,应言简意赅,让人对公告的意向的所了解
定义:
字符串类型nvarchar(50)
位置:
公告信息
2.4.5名字:
公告内容
描述:
公告的内容,为公告的主要部门,讲解此公告的具体事项
定义:
字符串类型nvarchar(MAX)
位置:
公告信息
2.4.6名字:
公告信息
描述:
每条公告所应该包含的信息
定义:
公告信息=公告范围+发布日期+公告编号+公告标题+公告内容
位置:
公告信息
2.5人员结构数据项与数据流
2.5.1名字:
岗位编号
描述:
每个岗位的唯一标识,用来区分不同的岗位
定义:
整形int
位置:
岗位信息
2.5.2名字:
岗位名称
描述:
岗位的名称,一般用来大概描述岗位的职责
定义:
字符串类型nvarchar(50)
位置:
岗位信息
2.5.3名字:
所属部门
描述:
岗位所属的部门,与部门名称对应。
一般岗位都有其所属部门,当然较高级别的岗位可能没有
定义:
字符串类型nvarchar(50)
位置:
岗位信息
2.5.4名字:
岗位人数
描述:
岗位所在职人数,能较清晰地了解到此岗位目前有多少在职人员
定义:
整形int
位置:
岗位信息
2.5.5名字:
岗位修改信息
描述:
岗位可进行修改的信息,需要拥有一定的权限才可进行操作
定义:
岗位信息=岗位编号+岗位名称+所属部门
位置:
岗位信息
2.5.6名字:
岗位信息
描述:
岗位所拥有的信息
定义:
岗位信息=岗位编号+岗位名称+所属部门+岗位人数
位置:
岗位信息
2.5.7名字:
部门编号
描述:
每个部门的唯一标识,用来区分不同的部门
定义:
整形int
位置:
部门信息
2.5.8名字:
部门名称
描述:
部门的名称,一般用来大概描述部门的功能
定义:
字符串类型nvarchar(50)
位置:
部门信息
2.5.9名字:
部门经理
描述:
部门的经理,负责管理一个部门的人员。
存储该人员的人员编号
定义:
整形int
位置:
个人信息
2.5.10名字:
部门人数
描述:
部门拥有的人数,衡量一个部门重要性的指标
定义:
整形int
位置:
部门信息
2.5.11名字:
部门修改信息
描述:
部门可进行修改的信息,需要拥有一定的权限才可以操作
定义:
部门修改信息=部门编号+部门名称+部门经理
位置:
部门信息
2.5.12名字:
部门信息
描述:
一个部门所拥有的信息
定义:
部门信息=部门编号+部门名称+部门经理+部门人数
位置:
部门信息
2.5.13名字:
权限编号
描述:
权限的唯一标识,用来区分每个权限
定义:
整形int
位置:
权限信息
2.5.14名字:
权限名称
描述:
权限的名称,说明人员可以进行的操作
定义:
字符串类型nvarchar(50)
位置:
权限信息
2.5.15名字:
所属父级权限
描述:
将权限分级,所以二级权限拥有父级权限,用权限编号来标识
定义:
整形int
位置:
权限信息
2.5.16名字:
URL
描述:
权限以访问地址为单位,一个URL存储一个权限可以访问的地址
定义:
字符串类型nvarchar(MAX)
位置:
权限信息
2.5.17名字:
未分配权限
描述:
人员没有拥有的权限,用权限编号来标识
定义:
整型int
位置:
人员权限信息
2.5.18名字:
已分配权限
描述:
人员已经拥有的权限,用权限编号来标识
定义:
整型int
位置:
人员权限信息
2.5.19名字:
人员权限编号
描述:
人员拥有的每条权限的唯一标识
定义:
整型int
位置:
人员权限信息
2.5.20名字:
权限信息
描述:
每个权限所拥有的信息
定义:
权限信息=权限编号+权限名称+所属父级权限+URL
位置:
权限信息
2.5.21名字:
人员权限信息
描述:
表示每个人员已经拥有的权限
定义:
人员权限信息=人员权限编号+人员编号+已分配权限
位置:
人员权限信息
2.5.22名字:
分配权限
描述:
为人员分配权限
定义:
分配权限=人员权限信息+姓名+部门+未分配权限
位置:
人员权限信息
2.6基本信息的数据项与数据流
2.6.1名字:
基本信息编号
描述:
每条基本信息的唯一标识,用来区分基本信息
定义:
整形int
位置:
基本信息
2.6.2名字:
基本信息类型
描述:
基本可选信息如:
性别、婚姻状况、请假事由、报销理由、申请状态等的类型
定义:
字符串类型nvarchar(50)
位置:
基本信息
2.6.3名字:
基本信息值
描述:
基本可选信息如:
性别、婚姻状况、请假事由、报销理由、申请状态等的值
定义:
字符串类型nvarchar(50)
位置:
基本信息
2.6.4名字:
扩展内容
描述:
每一条基本信息的扩展内容,用来对基本信息进行说明
定义:
字符串类型nvarchar(50)
位置:
基本信息
2.6.5名字:
基本信息
描述:
每一条基本信息包含的内容
定义:
基本信息=基本信息编号+基本信息类型+基本信息值+扩展内容
位置:
基本信息
3数据库设计
3.1E-R图
3.2系统物理结构设计
根据硬件设备和数据库平台系统,对数据库系统的物理存储结构进行规划,估计数据库的大小,增长速度,各主要部分的访问频度。
确定数据文件的命名,日志文件的命名。
数据文件和日志文件的物理存放位置,如果有多个存储设备,需要规划数据文件的组织方式。
系统内存使用配置,一般来说,数据库系统会自动维护系统内存,但有时为了某些性能问题,可以根据需要对数据库的内存管理进行另行配置。
/******Object:
Database[OASYSDB]ScriptDate:
08/06/201313:
11:
36******/
CREATEDATABASE[OASYSDB]ONPRIMARY
(NAME=N'OASYSDB',=N'D:
\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.MSSQL2008\MSSQL\DATA\OASYSDB.mdf',SIZE=5120KB,MAXSIZE=UNLIMITED,=1024KB)
LOGON
(NAME=N'OASYSDB_log',=N'D:
\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.MSSQL2008\MSSQL\DATA\OASYSDB_log.ldf',SIZE=1024KB,MAXSIZE=2048GB,=10%)
GO
ALTERDATABASE[OASYSDB]SETCOMPATIBILITY_LEVEL=100
GO
IF(1=FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC[OASYSDB].[dbo].[sp_fulltext_database]@action='enable'
end
GO
ALTERDATABASE[OASYSDB]SETANSI_NULL_DEFAULTOFF
ALTERDATABASE[OASYSDB]SETANSI_NULLSOFF
ALTERDATABASE[OASYSDB]SETANSI_PADDINGOFF
ALTERDATABASE[OASYSDB]SETANSI_WARNINGSOFF
ALTERDATABASE[OASYSDB]SETARITHABORTOFF
ALTERDATABASE[OASYSDB]SETAUTO_CLOSEOFF
ALTERDATABASE[OASYSDB]SETAUTO_CREATE_STATISTICSON
ALTERDATABASE[OASYSDB]SETAUTO_SHRINKOFF
ALTERDATABASE[OASYSDB]SETAUTO_UPDATE_STATISTICSON
ALTERDATABASE[OASYSDB]SETCURSOR_CLOSE_ON_COMMITOFF
ALTERDATABASE[OASYSDB]SETCURSOR_DEFAULTGLOBAL
ALTERDATABASE[OASYSDB]SETCONCAT_NULL_YIELDS_NULLOFF
ALTERDATABASE[OASYSDB]SETNUMERIC_ROUNDABORTOFF
ALTERDATABASE[OASYSDB]SETQUOTED_IDENTIFIEROFF
ALTERDATABASE[OASYSDB]SETRECURSIVE_TRIGGERSOFF
ALTERDATABASE[OASYSDB]SETDISABLE_BROKER
ALTERDATABASE[OASYSDB]SETAUTO_UPDATE_STATISTICS_ASYNCOFF
ALTERDATABASE[OASYSDB]SETDATE_CORRELATION_OPTIMIZATIONOFF
ALTERDATABASE[OASYSDB]SETTRUSTWORTHYOFF
ALTERDATABASE[OASYSDB]SETALLOW_SNAPSHOT_ISOLATIONOFF
ALTERDATABASE[OASYSDB]SETPARAMETERIZATIONSIMPLE
ALTERDATABASE[OASYSDB]SETREAD_COMMITTED_SNAPSHOTOFF
ALTERDATABASE[OASYSDB]SETHONOR_BROKER_PRIORITYOFF
ALTERDATABASE[OASYSDB]SETREAD_WRITE
ALTERDATABASE[OASYSDB]SETRECOVERYFULL
ALTERDATABASE[OASYSDB]SETMULTI_USER
ALTERDATABASE[OASYSDB]SETPAGE_VERIFYCHECKSUM
ALTERDATABASE[OASYSDB]SETDB_CHAININGOFF
3.3表设计
根据数据字典的设计,进一步细化为数据库表的设计。
表的设计包括以下内容:
●表名(中英文)
●字段名
●字段数据类型
●字段是否为空
●字段的默认值
●备注,对字段的解释性说明:
主键、外键、是否自动增一、是否为索引、是否唯一、是否进行数据检查等。
3.3.1OA_AllEmployees(所有员工表)
字段名
数据类型
是否为空
默认值
备注
含义
AE_ID
Int
否
主键,自增
主键,无意义
AE_Number
Nvarchar(5)
否
唯一
员工工号
AE_Name
Nvarchar(30)
否
员工姓名
AE_Password
Nvarchar(6)
否
123456
登陆密码
AE_Sex
Nchar
(1)
否
‘男’或‘女’
检查
性别
AE_Brithday
Datetime
否
出生年月
AE_PositionID
Int
否
外键
职位ID
AE_DepartmentID
Int
否
外键
部门ID
AE_Salary
Money
否
工资
AE_Telephone
Nvarchar(20)
是
电话
AE_Address
Nvarchar(50)
是
地址
AE_Email
Nvarchar(50)
是
邮箱
AE_EntryDate
Datetime
否
NOW()
入职时间
AE_MaritalStatusID
Int
否
外键
婚姻状况ID
AE_PhotoUrl
Nvarchar(MAX)
否
照片地址
3.3.2OA_Department(部门表)
字段名
数据类型
是否为空
默认值
备注
含义
DEP_ID
Int
否
主键,自增
主键,无意义
DEP_Number
Nvarchar(3)
否
部门编号
DEP_Name
Nvarchar(30)
否
部门名称
DEP_ManagerID
Int
否
外键
部门经理ID
3.3.3OA_Position(职位表)
字段名
数据类型
是否为空
默认值
备注
含义
POS_ID
Int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OA 办公 系统 数据库 设计