如何设计表
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/18 10:23:19
如何设计表
如何设计表
如何设计表
1.参照领域中的概念,理清领域中概念之间的关系,将其映射成表.
2.尽量遵循数据库设计范式:
(a)第一范式:有主键,具有原子性,列不可分.
(b)第二范式:完全依赖,没有部分依赖.
(c)第三范式:没有传递依赖
3.主键设计最好采用单一主键,最好不要采用复合主键,尽量使用没有语意的字段作为主键(如:oracle的sequence来维护一个主键),主键一般采用数值型,会提高检索效率.
4.关天冗余字段的问题,应该根据需求的具体情况是否加入.
5.最好加入外键约束(在开发阶段最好不要设置外键约束,运行阶段加入外键约束)
6.如果做通用性产品,最好不要使用数据库特性的功能,除非特殊情况.
7.如果数据量非常大,并且频繁的根据相关字段查询,最好建立索引.
8.如果其中某些表有相似的表字段属性,可以将其提取出来,建立一个类似于数据字典的表,这个表的一些字段供其它表作为外键,
这样做的话会减少很多表,维护性会比较好example:表t_items(id number(10),
name varchar2(20),
category,varchar2(20),#类别一
unit) varchar2(20),#单位表t_client(id number(10),
client_name varchar2(20),
client_level varchar2(20)) #级别
可以建立一个数据字典的表t_data(id number(10),
name varchar2(20),
category char(1)) A:类别一 B:单位 C:级别9.建立第二张表,来维护主键,而不采用sequence来管理主键,这样的话移植性会比较好.