我正在为医院开发寄售库存,
基础设施是:
Multiple Suppliers
Multiple Warehouses
Multiple Hospitals
我一直在决定是否为每个stock tables
和hospitals
分隔warehouses
或将它们全部存储在one stock table
中。
我目前的计划是:
他们都只会在一个item table
上阅读一般项目信息,然后股票,库存变动,托运订单,员工,患者将在每个医院/仓库中有单独的表格。
示例:
分隔表
tbl_items //centralized item information
tbl_suppliers //centralized supplier information
tbl_warehouse1id_stocks
tbl_warehouse1id_stockmovements
tbl_warehouse2id_stocks
tbl_warehouse2id_stockmovements
tbl_hospital1id_stocks
tbl_hospital1id_stockmovements
tbl_hospital1id_employee
tbl_hospital1id_patients
tbl_hospital2id_stocks
tbl_hospital2id_stockmovements
tbl_hospital2id_employee
tbl_hospital2id_patients
合并表格
tbl_items //centralized item information
tbl_suppliers //centralized supplier information
tbl_warehouse_stocks //where warehouse_ids are primary keys
tbl_warehouse_stockmovements //where warehouse_ids are primary keys
tbl_hospital_stocks //where hospital_ids are primary keys
tbl_hospital_stockmovements //where hospital_ids are primary keys
tbl_hospital_employee //where hospital_ids are primary keys
tbl_hospital_patients //where hospital_ids are primary keys
哪个更好?用于维护,速度优化等?我目前的意见是分离的方法更好,因为为什么(例如)医院1应该搜索他们的某些物品库存到所有医院的库存中?这会影响速度吗?如果hospital1试图查询他们的整个股票记录,它将影响其他医院的查询时间,因为hospital1目前正在搜索他们的记录。当然,索引应该有所帮助,但仍然存在。
编辑:
服务器驻留在一个位置及其基于Web的系统上。
答案 0 :(得分:0)
我强烈建议采用您已经制定的MERGED TABLES方法。
单独表格的缺点:
除非你有很大的限制,你没有布局(非常大的数据库有数十亿行或者你可以扩展的硬件不好),索引的设计正是为了帮助解决这个问题。