如何实现OA系统的自定议审批流程的数据库设计

如何实现OA系统的自定议审批流程的数据库设计,第1张

我举一个例子:有的OA系统是要公司客户自己有服务器,然后装到客户的服务器上。可是客户嫌麻烦,所以我想将OA系统(PHP+Mysql)放在自己的服务器上,让公司客户及其员工来注册使用。那么问题来了,原来在客户自己的服务器上数据库也就十几张表,但都放到我的服务器上,每注册一个公司就得增加十几张表,那如果有一万家公司注册数据库不得有几十万张表?跟楼主一样的问题,有一些老牌厂商早就给出来完美答案了,比如华为、天翎都有过类似的问题,这些企业提出的解决方案就很不错,就针对上面的问题,最简单的办法是给每张表加个实例ID,一个公司对应一个实例ID,然后在你的MVC架构中跟DB最近的这一层加个拦截器,每个SQL查询都自动带上实例ID,这样不用对代码做很大改动。后期再根据需要优化,哪些公司合用一张表,哪些单独占用一张表甚至一个数据库,总之具体问题具体对待,需要在运营的过程中根据用户量和业务情况来分析采取对策。

请假你可以建立一个独立的表单,在表单中设置一个字段和员工表里员工编号进行关联,然后这样你可以在检索和计算时和员工表建立关系,至于和其他什么表建立关系我觉得没有必要,因为请假无非就是和工资有关,只要请假表里的字段有时间的始末就可以做出计算了。建议:id name number reason start end department hou day 这样吧请假的基本信息表达进去即可,不必要太麻烦,一个事项由一个表完成是最佳方法。

业务流程图,主要是对业务的过程描述。在对业务流程进行描述时,应关注的是业务流程,做到与计算机和软件实现无关;系统功能图主要描述的是软件或硬件系统要完成的功能,是业务流程在软件系统或数据库中的实现;数据流程图,主要关注的是数据的传递。数据经过怎样的加工,怎么样的传递。三个图关注的领域不同。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9872837.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存