如何设计数据库表?
-
发现领域中的概念,理清领域中的概念,将其映射成表‘
-
尽量遵循数据库设计范式:
-
第一范式:有主键,具有原子性,列不可分割;
-
第二范式:完全依赖,没有部分依赖;
-
第三范式:没有传递依赖;
-
-
主键尽量采用单一主键,避免符合主键,尽量使用没有业务予以的字段作为主键(如, oracle 的 Sequence 来维护一个主键),主键一般建议使用数值型,会提高检索的效率;
-
冗余的字段,应该根据需要的具体情况是否加入;
-
最好加入外键约束(为了开发速度,建议在开发阶段不进行约束,在运行阶段进行约束);
-
如果做通用性产品,最好不是使用数据库特性的功能;
-
如果数据量非常庞大,并且频繁使用相关字段的查询,最好建立索引;