免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1531 | 回复: 1
打印 上一主题 下一主题

设计派工管理系统时建立数据库表结构遇到的一个问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-29 21:43 |只看该作者 |倒序浏览
本人最近在做一个项目,给一个系统集成商设计一个简单的派工管理系统,要求记录每天的出工情况以及对每个维修人员的出工情况进行统计查询。在设计数据库时遇到一个问题,假设这里有3个数据库表:
员工信息数据库表:staff
StaffID StaffName
1          张三
2          李四
3          王五

客户资料数据库表:client
ClientID        ClientName
1                天一公司
2                嘉瑞公司
3                天昌旅行社

维修记录数据库表:record
RecordID Time         StaffID                 ClientID         assignment
1          2004-12-12           1,2                1                网络维护
2          2004-12-13        3                2                上门配置交换机
3          2004-12-14        1,3                3                协助杀毒

注意:维修记录数据库表记录了公司每天的派工记录,比如第一条记录:
1  2004-12-12   1,2                1                网络维护
含义为2004-12-12,张三和李四去天一公司进行网络维护

    我的问题是因为每次派出去维修的员工不一定只有一人,可能有多人。所有如果我想统计每个员工的出工情况,就会很麻烦,必须要用正则表达式分割StaffID字段,提取出员工的StaffID,然后在进行分类统计。后来我想到了一个解决方法,就是在维修记录数据库表中取消StaffID字段,然后再建立一个关联数据库表relating,让RecordID和StaffID做一对多的关联,那么对应上面record数据表中的3条数据,新的数据库表relating的内容如下:
RecordID        StaffID
1                1       
1                2
2                3
3                1
3                3
   日后在统计每个员工的出工情况时,只需将数据库表record和relating做关联查询,就可以很简单的对每个员工的工作情况进行统计。但是我觉得这样做还是比较繁琐,比如日后如果想进行删除工作,那么就要对多表进行关联删除,比较麻烦。请问对于我遇到的这个问题,大家有什么好的解决办法吗?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-12-30 00:33 |只看该作者

设计派工管理系统时建立数据库表结构遇到的一个问题?

你用外键来维护这种依赖关系就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP