我的建议,分三个表:
1.人员类型表
id,类型2.单据类型表
id,类型3.人员信息表
员工编号,员工姓名,人员类型id,单据类型id理由:方便人员类型,单据类型的维护和扩充
如果将 人员信息表 中的 人员类型id,单据类型id
设置为字符型,还可以实现,每个人兼多种人员类型,多种单据类型
1.人员类型表
id,类型2.单据类型表
id,类型3.人员信息表
员工编号,员工姓名,人员类型id,单据类型id理由:方便人员类型,单据类型的维护和扩充
如果将 人员信息表 中的 人员类型id,单据类型id
设置为字符型,还可以实现,每个人兼多种人员类型,多种单据类型
1、工作部门表:T_Dept(Dept_id,Dept_name)
2、单据类型表: T_Bill(Bill_id,Bill_name)
3、员工表:T_Employee(Emp_id,Emp_name,Dept_id)
根据以上三个基础数据表建表单!
不过我认为人员类型是由工作部门指派的,因此把人员类型设为工作部门觉得的如何?不过真的要设人员类型表也可以:T_Type(Type_id,Type_name)则员工表修改为:T_Employee(Emp_id,Emp_name,Type_id)如果建一个保存人员表则为:T_Finance(Bill_id,Emp_id)就可以了!
2003年7月1日,建立了一份运输表单,要求该表单记下当天的验货工人、搬运工人以及运输工人。而这三种人都是多值的,如有3个验货的,8个搬运的,2个运输的。怎么表示这样的关系?类似的,我们有很多种表单都有这样的人员信息。
我的设想是建一个表专门放人员信息,-------
财务运作表单类型
财务运作表单ID
人员类型
员工号
员工姓名
-------这样,人员信息就能全记在这里面了,如--------------
RU ----表示运输表单记录
20030701 -------表示该运输表单的ID
WK ----表示是验货工人
N0002 ----验货工人员工号
张三 ----姓名
-------------还有别的相类似的记录。这样,当我要显示这份表单的信息时,我们可以到这个表里把到运输工人是谁谁和谁,验货工人又是哪几个人。这样是否是一种好的做法?请发表意见!3Q!
运输单id,人员id
------------------
财务运作表单类型
财务运作表单ID
人员类型
员工号
员工姓名
------------------
改为下示当个员工职位变化后(员工表资料如类型,职位变化后)这个记录不变,
------------------
id
财务运作表单类型
财务运作表单ID
所做工作类型(不要:人员类型)
员工号
(不要:员工姓名 更标准,要了查询更快,建议要)
------------------
入库单_s (次表) 入库单号,入库人员ID、记录人员ID、经办人员ID人员表(人员ID,部门...)
问题域中应该有四个实体
1、业务类型
2、业务单据
3、工作人员
4、工作角色
两个关系
一个多对多的联系
1、业务单据与工作人员之间的服务关系
一个一对多的关系
1、业务单据对业务类型的隶属关系
第二个关系没有附加的属性,考虑在业务表单中记录所隶属的业务类型就可以了
======================================
业务类型表:
BSType_ID int identify(1,1)
BSType_Name varchar(50) not null
BSType_Desc varchar(200)
============================================================================
业务单据表:
BSBill_ID int identify(1,1)
BSType_ID int foreign key (业务类型表)
BSBill_CodeID varchar(20) not null
BSBill_BuildDate datetime not null
……
===========================================================================
工作人员表
Employer_ID int identify(1,1)
Employer_DM varchar(36) not null
Employer_Name varchar(20) not null
Employer_TEL varchar(30)
……
============================================================================
工作角色表
WorkRole_ID int identify(1,1)
WorkRole_Name varchar(20) not null
WorkRole_Desc varchar(200)
===========================================================================
业务单据、工作人员关系表
Server_ID int identify(1,1)
BSBill_ID foreign key(业务单据表)
Employer_ID foreign key(工作人员表)
WorkRole_ID foreign key(工作角色表)
======================================