欢迎分享,转载请注明来源:内存溢出
我举一个例子:有的OA系统是要公司客户自己有服务器,然后装到客户的服务器上。可是客户嫌麻烦,所以我想将OA系统(PHP+Mysql)放在自己的服务器上,让公司客户及其员工来注册使用。那么问题来了,原来在客户自己的服务器上数据库也就十几张表,但都放到我的服务器上,每注册一个公司就得增加十几张表,那如果有一万家公司注册数据库不得有几十万张表?跟楼主一样的问题,有一些老牌厂商早就给出来完美答案了,比如华为、天翎都有过类似的问题,这些企业提出的解决方案就很不错,就针对上面的问题,最简单的办法是给每张表加个实例ID,一个公司对应一个实例ID,然后在你的MVC架构中跟DB最近的这一层加个拦截器,每个SQL查询都自动带上实例ID,这样不用对代码做很大改动。后期再根据需要优化,哪些公司合用一张表,哪些单独占用一张表甚至一个数据库,总之具体问题具体对待,需要在运营的过程中根据用户量和业务情况来分析采取对策。看样子你已经做的差不多了。在你确定了模块以后,建表是比较容易的。最好的办法,是你画出ER图,然后确定用户群体范围,做好权限,资源控制。你要根据你自己的项目需求,对应其用户实体去建立你的表。自己动手试试看,我要是帮你写了,首先是耽误你学习,其次也不一定能完整的应用到你的系统中去。甚至可能导致你的系统以后扩展碰到麻烦。毕竟,我只能给出你一个思路。请假你可以建立一个独立的表单,在表单中设置一个字段和员工表里员工编号进行关联,然后这样你可以在检索和计算时和员工表建立关系,至于和其他什么表建立关系我觉得没有必要,因为请假无非就是和工资有关,只要请假表里的字段有时间的始末就可以做出计算了。建议:id name number reason start end department hou day 这样吧请假的基本信息表达进去即可,不必要太麻烦,一个事项由一个表完成是最佳方法。
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
MES数据采集方式知多少?
上一篇
2023-04-29
正泰光伏oa怎么更改密码
下一篇
2023-04-29
评论列表(0条)