-
HRP
数据库设计方案
人员的基本信息主要存储在人员基本情况表中。
1.
总体介绍
HRP
分
Access
(
97/2000
)、
SQLServer
(
2000
)和
Oracle(9i)
版,
Access
存放在安装目录下的
data
子目录,文件名为
;SQLServer<
/p>
数据库为
ykchr
2.
数据部分
(
1
)
HRP
数据分机构(单位、部门)
、职位、人员数据;
(
2
)人员数据用分在职人员、离退人员、调转人员和其他人员(用
户可以增加
);
(
3
)
机构(单位、部门)、职位、人员数据又分主集和子集,对于
人员还有照片和多媒体信息
。
信息群
(Information
Cla
ss)
H
R
P
机构信息
指标集
< br>(FieldSet
)
主集
B01
指标集
(FieldIte
m)
实际数据
(单位、部
子集
Bxx
门)
数
据
职位信息
主集
K01
子集
Kxx
人
在职
员
(Usr)
信
息
D
离退
B
< br>(Ret)
N
调转
a
(Trs)
m
其他
e
(Oth)
用户定
义
主集
A01
子集
Axx
多媒
体
01
A00
Usr+A01
Usr+Axx
2.1.
信息群(
InformationClass
)
InforID
ClassName
类别号
名称
建表前缀符
Int
VarChar(20)
VarChar(1)
ClassPre
KeyField
KeyLength
关键词名称
VarChar(5)
关键词建库长度
Int
State
标识
Varchar(10)
初化数据
InforID
ClassName
1
人员
2
3
4
5
6
。。。
单位
部门
岗位
党组织
工会组织
ClassPre
State
A
KeyField
KeyLength
A0100
8
B0110
E0122
E01A1
E01A2
E01A3
30
30
30
30
30
B
D
K
Q
R
新建指标名称:
系统默认:人员指标名称:
C****
单位指标名称:
D****
部门指标名称:
S****
岗位指标名称:
P****
党组织指标名称:
Q****
工会组织指标名称:
R****
2.2.
人员库名称表(
DBNam
e
)
DBId
DBName
Flag
Pre
N*
A10
A3
A3
编号
名称
标志
前缀
2.3.
指标集表名
(Name->FieldSet)(2001
版改
)
指标名
长
度
指标名
长度
说明
Idx
Int
DisplayO
rder
Int
指标集顺号
SetId
C4
FieldSet
Id
A4
指标集编号
(Key)
Hz
C40
FieldSet
Desc
A50
指标集名称
Flag
C2
UseFlag
A2
构库标志(
0
< br>,
1
)(未
构库)
ModuleFl
ag
ChangeFl
ag
Hz1
C50
ModuleFl
ag
C1
ChangeFl
ag
C40
CustomDe
sc
A20
业务标志
(
< br>没用
)
1
按月变化(
0,1,2
)
(
一般
、月、年
)
50
建库后的子集名称
ReserveI
tem
10
2.4.
< br>指标项表名(
Menu->FieldItem
)(
p>
2001
版改)
指标名
长度
指标名
长
度
SetId
A4
FieldSetId
A4
Key
说明
Field_Na
me
FieldId
A5
ItemId
A5
Key
Int
DisplayId
In
t
在本信息集中显示顺序
Static
ModuleFl
ag
Field_ty
pe
Hz
A1
A20
UseFlag
ModuleFlag
A2
构库标识
(0,1)
A2
没有用
0
A3
Itemtype
A3
指标类型
(A,D,N,M)
A40
ItemDesc
A4
指标描述
0
Field_le
n
Field_de
c
Codeid
Int
ItemLength
In
总长度
t
Int
DecimalWidth
In
小数位
t
A2
CodeSetId
A2
相关代码类
(
< br>没有代码时
为
0
或空
)
Check
CheckFla
g
M
A100
Formula
M
Expression
M
联动公式
type::mode::
field::exp
r|factor
type={1|2
}
计算公式和统
计公式
mode={0|1|2|3|4}
field=
expr=
factor=
Explain
M
ItemMemo
ReserveItem
M
指标解释
Relative
M
State
A5
A1
保留
0
DispWidt
h
Int
DisplayWidth
In
显示宽度
t
State
AuditingForm
ula
A5
M
审核公式增加
)
AuditingInfo
rmation
M
审核信息增加
)
2.5.
人员基本情况表(
Usr[ret,trs,oth]A01
)
A0000
A0100
B0110
E0122
N
A8
USRA01
,
RETA01
,
TRSA01
,
OTHA01
内部排序号
机器编号
(key)
A30
单位编码
A30
部门编码
由
FieldItem
定
State
CreateTime
ModTime
CreateUserName
ModUserName
UserName
A10
状态位<
/p>
(A1->A10
缺省
)
DT
用于存放创建此记录的时间增加
)
用于存放最近修改此记录的时间增加
)
用于存放创建此记录的用户名增加
)
用于存放最近修改此记录的用户名增加
)
用于存放用户名增加
)
口令加密存放增加
)
DT
A10
A10
A10
A8
UserPasswor
d
2.6.
人员子集情况表(
Usr[
ret,trs,oth]A02
—
Axx
)
A0100
I9999
USR,RET,TRS,OTH
A8
N
机器编号
(key)
顺序号
(A2->N)
由
FieldItem
定
State
Id
AxxZ0
A1
N
D
状态位
(Old)
业务年月
(A2->N)
非按月变化时备用
如果是按月变化子集,
则建此指标
(以后,
替换
ID
)
AzzZ1
CreateTime
ModTime
CreateUserName
ModUserName
N
DT
如果是按月变化子集,则建此指标
用于存放创建此记录的时间增加
)
用于存放最近修改此记录的时间增加
)
用于存放创建此记录的用户名增加
)
用于存放最近修改此记录的用户名增加
)
DT
A10
A10
2.7.
多媒体分类表
[
新增
]
ID
FLAG
SORTNAME
USR,RET,TRS,OTH
int
类号序号
Varchar(1)
分类号
varchar(40)
分类名称
2.8.
多媒体子集
(
Usr[ret,trs,oth]A0
0)
A0100
I9999
Title
OLE
USR,RET,TRS,OTH
A8
N
机器编号
(key)
顺序号
(A2->N)
A40
OLE
照片或文件数据
(sqlserver
中为
image)
Flag
EXT
State
Id
CreateTime
ModTime
CreateUserName
ModUserName
A1
A8
文件后缀
A1
N
DT
状态位
(Old)
业务年月
(A2->N)
非按月变化时备用
用于存放创建此记录的时间增加
)
用于存放最近修改此记录的时间增加
)
用于存放创建此记录的用户名增加
)
用于存放最近修改此记录的用户名增加
)
DT
A10
A10
2.9.
单位基本情况表(
B01<
/p>
)
B0110
A30
单位编码
(key)
…由
FieldItem
定
State
CreateTime
ModTime
CreateUserName
ModUserName
A10
状态位
DT
用于存放创建此记录的时间增加
)
用于存放最近修改此记录的时间增加
)
用于存放创建此记录的用户名增加
)
用于存放最近修改此记录的用户名增加
)
DT
A10
A10
2.10.
单
位子集情况表
(B02
—
Bxx)
B0110
I9999
A30
N
单位编码
(key)
顺序号
(key)
…由
FieldItem
定
State
Id
CreateTime
ModTime
CreateUserNam
e
ModUserName
A1
N
DT
没用
业务年月(非按月变化时备用)自动创建
用于存放创建此记录的时间增加
)
用于存放最近修改此记录的时间增加
)
用于存放创建此记录的用户名增加
)
用于存放最近修改此记录的用户名增加
)
DT
A10
A10
D
BxxZ0
如果是按月变化子集
,则建此指标(以后,替
换
ID
)
p>
BxxZ1
N
如果是按月变化子集,则建此指标
2.11.
职
位基本情况表(
K01
)
E011A
E0122
A30
职位编码
(key)
A30
所属部门
…由
FieldItem
定
State
CreateTime
ModTime
CreateUserName
A10
状态位
DT
用于存放创建此记录的时间增加
)
用于存放最近修改此记录的时间增加
)
用于存放创建此记录的用户名增加
)
DT
A10
ModUserName
A10 <
/p>
用于存放最近修改此记录的用户名增加
)
2.12.
职
位子集情况表
(K02
—
Kxx)
E011A
I9999
A20
职位编码
N
顺序号
…由
FieldItem
定
State
Id
ModTime
CreateUser
Name
ModUserNam
e
A1
N
没用
业务年月(非按月变化时备用)自动创建
用于存放创建此记录的时间增加
)
用于存放最近修改此记录的时间增加
)
用于存放创建此记录的用户名增加
)
用于存放最近修改此记录的用户名增加
)
CreateTime
DT
DT
A10
A10
D
N
KxxZ0
KxxZ1
如果是按月变化子集,
则建此指标
(以后,<
/p>
替换
ID
)
如果是按月变化子集,则建此指标
2.13.
代
码类表名(
CodeidCodeSet
)
指标
名
CodeI
d
Hz
A40
CodeSetDes
A50
c
代码类名称
A2
CodeSetId
A2
代码类
(key)
长度
指标名
长度
说明
IdCod
e
A20
HzLen
Int
MaxLength
Int
代码项最大长度
2.14.
代
码表(
Daima->CodeItem<
/p>
)
指标
名
CodeI
d
IdCod
e
Name
A30
A20
CodeItemI
d
CodeItemDe
A50
sc
P_ptr
A20
B_ptr
A20
C_ptr
A20
Flag
Int
ParentId
ChildId
Flag
A30
A30
Int
父结点
子结点
暂没有用
代码名称
A30
代码
(key)
A2
CodeSetId
A2
代码类
(key)
长度
指标名
长度
长度
2.15.
组
织机构编码表(
organization
)
指标
名
长
度
指标名
长度
CodeI
d
IdCod
e
Name
A2
CodeSetId
A2
代码类
(key)
A20
CodeItemI
d
A30
代码
(key)
A30
CodeItemDe
A50
sc
代码名称
P_ptr
A20
ParentId
B_ptr
A20
C_ptr
A20
ChildId
Grade
Int
Grade
State
A10
State
A0000
A30
A30
Int
A10
Int
父结点
子结点
机构等级
暂没有用
显示顺序
3.
查询结果表
每一用户都有套查询结果表
信息群
(InformationClass)
H
R
P
数
据
机构信息(单位、部
门)
职位信息
人
员
在职
(Usr)
离退
(Ret)
用户名
+K+Result
用户名
+usr+Result
用户名
+ret+Result
指标集
(FieldSet)
用户名
+B+Result
信
息
DB
Na
me
p>
调转
(Trs)
其他
(Oth)
用户定义
用户名
+trs+Result
用户名
+oth+Result
4.
数据安全
数据安全方面涉及到如下几个表:
(
1
)
p>
U
serGroup
(
用户组
):用于存放用户组信息
(
2
)
p>
O
perUser
(操作员表)
:
用于存放操作员及用户组的信息和
授权信息
p>
(
3
)
p>
S
yslog
:上机和退出日志
(
4
)
p>
A
01Log
:删除人员主集日志
(
5
)
p>
B
01Log
:删除机构主集日志
(
6
)
p>
K
01Log
:删除职位主集日志
(
7
)
p>
S
ubLog
:删除所有主集日志
具体如下:
4.1.
用户组(
UserGrou
p
)
UserGroup
GroupID
GroupName
初值
GroupID
用于保存用户组记录
组名
ID
组名
Integer
Varchar(50)
GroupName
1
超级用户组
4.2.
操作员
(OperUser)
Usage:
存放用户名及权限
UserName
A1
0*
Password
A8
口令
FullName
A2
0
FunctionP
M
riv
RecordPri
M
v
CondPriv
M
记录高级
权限
功能权限
可执行的功能编码列表,逗
号分
隔。
,x{,x},
格式如:
p>
,01,11,100,
记录权限
p>
缺省值为“,”部门单位用逗号分
格(以后不用)
< br>
以条件表达式形式,如果是
SU
,则
此指标为空,如果是其他用户,则
缺省值为“,”如果此
字段有值,
则
RecordPriv
不
起作用,
CondPriv
存贮的格式:条件表达式
|
因子
TablePriv
M
子集权限
,A01X{,AxxX}
,
(
X=1,2,3,4,5,6
)<
/p>
1,2:
表示对历史记录和当前记录有
中文名
加密后存贮
用户名
读权和写权
3,4:
表示只对历史记录有读权和写
权
5,6:
表示只对当前记录有读权和写
权
< br>
FieldPriv
M
指标权限
,xxxxxX{,xxx
xX},
(
X=0,1,2,3,4,5,6
< br>)
DBPriv
M
人员库授
权
PhotoId
GroupId
RoleId
N
N
N
照片号
从
0
开始,
0
为主管
USR
,
RET
,
TRS
,
OTH
用户组号
角色
=0
时
表示用户,
=1
时表示用户组
ManagePri
M
v
CardPriv
M
管理范围
]}|{@@},
空时为全部
登记表授
权
,Xx,yy,
NameListP
M
riv
ReportSor
M
tPriv
WarnPriv
M
花名册授
权
,Xx,yy,
表类授权
,Xx,yy,
报警授权
,Xx,yy,
SalarySet
M
Priv
TemplateP
M
riv
初值
UserName
超级用户组
su
工资模板
授权
日常模板
授权
,Xx,yy,
,Xx,yy,
GroupID
1
1
RoleID
1
0
一、
OperUser
中增加如下指标:
(
1
)
CardPrivMemo
(
2
)
NameListPrivMemo
(
3
)
ReportSortPrivMemo
(
< br>4
)
WarnPrivMemo
(
5
)
Sal
arySetPrivMemo
(
6
)
TemplatePrivMemo
此表结构在数据库升级中实现。
二、子集历史记录授权
目前子集授权
只有无权、
读权和写权,
表示方法是在
TablePriv
中子
集
+
(
0,1,2
)方法表示:该子集无权,只有读
权和有写权。
改进:
子集
+
(
0,1,2,3,
4,5,6
)分别
0:
表示对该子集无权
1,2:
表示对历史记录和当前记录有读权和写权
3,4:
表示只对历史记录有读权和写权
5,6:
表示只对当前记录有读权和写权
< br>
对于子集的指标也采用相的办法处理,注意的是:如果该子集无
权,则指标也无权,如果该子集只有读权,则该子集的指标只能设置
为读权和无
权;如果该子集为
写权,则指标可以设置无权、读权和写权三种权限。
三、全员授权机制
全员授权机制实现
非人事部门人员使用
HRP
数据库
,<
/p>
主要是部门经理
和普通员工。
(
1
)
在用户组
(UerGroup
和
OperUser)<
/p>
中增加两个特殊组:
部门经理
组(处室领
导组)、普通职工组,其编号为
9999,10000.
在用户
管理
中可以对该组进行授权。
(2)
在人员库中的主集中增加三个指标:
username,pas
sword,groups
三个指标,分别用于记录用户名、口令和组号
(
角色
)
。
< br>
(
a
)
UsernameA10
(b)PasswordA8
(c)
GroupsA50
存贮采用逗号
+
组
号格式
(,group1,group2,group3,)
(3
)系统可以设置在进行身份认证时,检查哪些人员库
(
usr,ret,trs,...
)。
p>
(4)
密码以加密方式存放。
(5)
先检查原用户机制。
(6)
在显示部门列表时,只显示原记录授权的部门及下级部门。
四、按部门授权将原来的(无,有)改为
(
无,写,读
)
4.3.
角色管理表
t_sys_role
角色权限表
t_sys_function_priv
角色分配表
t_sys_staff_in_role
指标名
类型
长
度
staff_i
varc
d
har
30
50
指标名
同
a0100
role_id
varc
har
角色
id
号
status
整型
4
4.4.
日志表表(
Diary->sysLog
)
指标名
类型
长
度
UserNam
字符
e
型
30
FunctionId
30
20
UserName
指标名
类
型
长
度
20
FuncId
字符
型
EnterTi
字符
me
型
30
LoginTime
30
QuitTim
字符
e
型
30
LogoutTime
30
Cptnume
字符
r
Flag
型
字符
型
30
ComputerNa
me
30
1
Flag
1
4.5.
主集删除日志表
(A01Log,B01Log,K01Log)
主集删除日志表
(A01Log,B01Log,K01Log)
分别用来记录人员机构和职位的删除日志。
其
结构在
A01,B01,K01
的基础上增加如下指标:
字段名称
SBASE
DBASE
类型
Varchar(3)
Varchar(3)
源库
目标库
说明
SetId
VARChar(3)
子集名称
此结构在系统重构或更新主集时要更新(有待改进)
4.6.
子集删除日志表
(
SubLog
)
字段名称
SetID
Base
内容为空)
createtime
DateTime
KeyField
ClassPre
创建时间
类型
Varchar(3)
子集名称
Varchar(3)
库名称(对单位或职位库此字段
说明
Varchar(50)
对应主集记录关键词的值
VarChar(1)
信息种类
p>
A
人员
B
单位
p>
K
职位
5.
登记表
登记表涉及到
rName,rTitle,rPage,rGr
id
5.1.
登记表分类
(rso
rt)
(
2004-3-4
新增)
p>
表名:
rsort
目的:用于保存登记表分类号
字段名称
字段大
小
id
SORTID
Int
排序号
字段意义
Varchar
表分类号
20
SORTNAME
Varchar
表类名称
20
5.2.
登记表名
(rname)
表名:
rname
目的:用于保存登记表名称
字段名称
字段大
小
Tabid
Name
TMargin
Bmargin
Lmargin
Rmargin
Paper
PaperOri
PaperW
PaperH
FlagA
Int
A80
Float
Float
Float
Flaot
Byte
Byte
Float
Float
A1
报表号
(Key)
报表文件名称
页上边界
页下边界
页左边界
页右边界
纸张标识
< br>1
:
A3
,
2
:
A4
…
纸张方向
1
:纵向
2
:横向
纸宽
纸高
数据来源
A
:人员库
< br>B
:单位库
K:
职位库
1:
工
资
ModuleFlag
A20
存放登记表类号
字段意义
5.3.
页签表
(rTitle)
字段名称
字段大
小
Tabid
PageId
Title
Flag
IsPrn
Int
Int
A50
Byte
Byte
登记表号(
p>
Key
)
页签号
页签
是否打印
(0,1)=(
不打印,打印
)
字段意义
5.4.
标题表
(rPage)
字段名称
字段大
小
Tabid
Gridno
Hz
Rleft
Rtop
RWidth
RHeight
Fontsize
Fontname
Int
Int
150
Int
Int
Int
Int
Byte
20
单元格索引号
单元格汉字描述
位置
单元格字体大小
单元格字体名称
字段意义
Fonteffect
Byte
Flag
Byte
单元格字体
Effect
0:
文本描述
1
:
求制表
日期
2:
求制表时间
3
:
制
表人
4
< br>:总页数:
5
页码
6
:其他
PageId
Int
页签号
5.5.
表格
(rGrid)
字段名称
字段大
小
Tabid
Gridno
cHz:
rleft
rtop
rwidth
rheight
cSetName
Int
Int
M
Int
Int
Int
Int
A3
Key
单元格索引号
(Key)
单元格汉字描述
位置
指标所在的子集名称
字段英文名称
字段意义
Field_name
A8
Field_hz
Codeid
Rcount
Mode
A40
A2
Byte
Byte
字段汉字名称
相关代码类
子集记录数
子集记录控制
[0,1,2,3,4,5,6,7,8]=[
最近第
,
最近
,
最初第
< br>,
最初
,
条件
< br>,
条件最近第
,
条件最
近
,
条件最初第
,
p>
条件最初
]
Field_type
A1
字段数值类型
D:
日期型
A:
字符型
N
:
数值型
C
:
代码型
Slope
Int
1,2,3,4
对数值型为数
值精度
{
对日期型而言
67}
L
Byte
单元格左边线是否存在
0
:无线
1
:
有线,画图
时用虚线代替
T
R
B
SL
fontsize
FontName
Byte
Byte
Byte
Byte
Int
A20
上边
右边
下边
0:
无
斜线
1
左斜线
2
右斜线
3
两斜线
单元格字体大小
单元格字体名称
单元格字体
Effect;
查询条件或者表达式
用于保存单元计算公式或历史记录定位表达式
1+2*3
Fonteffect
Int
Querycond
Cexpress
M
A40
Align
Lsize
Rsize
Tsize
BSize
Int
Int
Int
Int
Int
文字在单元排列方式
左边线的粗细
右边线的粗细
上边线的粗细
底边线的粗细
Flag
A1
控制数据来源
A
:
人员库
B
:
单位库
P
:
照片:
H
:
文本
C
:计算结果
NHide
Byte
控制输出内容
5.6.
5.7.
5.8.
5.9.
01A
01A
5.10.
5.11.
5.12.
-
-
-
-
-
-
-
-
-
上一篇:车牌识别matlab程序[1]
下一篇:常用乐高零件清单..