除了使用常规的数据库6种范式外,前面三种范式简单理解如下:
第一范式:在一个列中,不能有多个意义的值,或者在一个表中,不能有重复的字段。
第二范式:一个表中必须有唯一的主键。
第三范式:一个表中的非主键字段不能再出现在其他表中。
此外,在实际的应用中可能还会有以下设计:
1.打破第三范式,使用冗余字段来提高系统性能,减少关联查询。例如在订单中存储客户姓名,电话等字段,但也会带来问题数据更新问题,更新了客户资料后,根据业务需要决定订单中的客户名称、电话信息是否也需要同步更新。
推荐方案:遵循第三范式,Dynamics 支持“”快速窗体”,在订单窗体中可以增加联系人的快速窗体,直接可以显示联系人的相关信息,如电话、地址。
2.根据实际业务需要,增加流程关键字段。如:在关闭单时,记录关闭时间,在订单表增加关闭时间字段。
3.从程序性能优化、数据读写便捷性的角度考虑,在一个字段中存储特定结构的数据,例如JSON或XML。
4.从系统架构级别考虑,设计系统日志实体、多语言标签实体、状态变更记录。