1.有些功能涉及到正式数据和未发布的数据,可以为新建的未发布的数据单独设置一张数据库表(可理解为中间表),在点击发布的时候,将中间表的数据拷贝到正式的数据库表中(已发布的数据)。
2.有些涉及到上下层级的数据库表,可以设置一个parentId用来表示上下级的关系,然后设置一个code字段用来表示某些上下级的关系(比如一级为100,二级为100100,三级为100100100,以此类推),这样在查询某个一级所有下级的时候,可以用code字段进行查询。
3.一般数据库的设计都有一些公共的字段,比如新增时间,修改时间,是否删除等,对主表一般都会建立一些这样的字段,主表一般不进行物理删除,删除时只需要修改是否删除这个字段的值,进行逻辑删除即可。对一些关系表,可能是业务逻辑产生的数据,这样的表可以允许物理删除。