mysql – 数据库汗青
我们的应用措施中必要存储引用以供往后会见. 示例:用户可以一次提交发票,而且应该随时刻存储此发票包括的全部参考(客户地点,计较的金额,产物描写)和计较. 我们必要以某种方法保存参考文献,但假如产物名称有变革吗?因此,某种水平上我们必要复制全部内容,以便以跋文录,不会受到将来变革的影响.纵然删除了产物,也必要在存储发票时举办考核. 这里有关数据库计划的最佳实践是什么?纵然是最机动的要领,譬喻当用户想要稍后编辑发票并从数据库规复时? 感谢! 最佳谜底 这是一种要领:从本质上讲,我们从不修改或删除现稀有据.我们通过建设新版原来“修改”它.我们通过配置DELETED符号来“删除”它. 譬喻: >假如产物变动价值,我们会在PRODUCT_VERSION中插入新行,而旧订单会保持与旧PRODUCT_VERSION和旧价值的毗连. 留意事项: >假如产物名称必需是独一的,则无法在上述模子中以声明方法逼迫执行.您必要将NAME从PRODUCT_VERSION“推广”到PRODUCT,将其作为密钥并放弃“成长”产物名称的手段,或仅在最新的PRODUCT_VER(也许通过触发器)上逼迫执行独一性. 该模子行使了大量的辨认相关.这导致“胖”外键而且也许有点存储题目,由于MySQL不支持前沿索引压缩(与Oracle差异),但另一方面在InnoDB always clusters the data上PK而且这种聚集也许是有益的为了示意.另外,JOINs不太须要. 具有非标识相关和署理键的等效模子如下所示: (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |