数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序 *** 作优化此文为第二部分
优化①:设计规范化表,消除数据冗余
数据库范式是确保数据库结构合理,满足各种查询需要、避免数据库 *** 作异常的数据库设计方式。满足范式要求的表,称为规范化表,范式产生于20世纪70年代初,一般表设计满足前三范式就可以,在这里简单介绍一下前三范式
先给大家看一下百度百科给出的定义:
第一范式(1NF)无重复的列
所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。
第二范式(2NF)属性
在1NF的基础上,非码属性必须完全依赖于码[在1NF基础上消除非主属性对主码的部分函数依赖]
第三范式(3NF)属性
在1NF基础上,任何非主属性不依赖于其它非主属性[在2NF基础上消除传递依赖]
通俗的给大家解释一下(可能不是最科学、最准确的理解)
第一范式:属性(字段)的原子性约束,要求属性具有原子性,不可再分割;
第二范式:记录的惟一性约束,要求记录有惟一标识,每条记录需要有一个属性来做为实体的唯一标识。
第三范式:属性(字段)冗余性的约束,即任何字段不能由其他字段派生出来,在通俗点就是:主键没有直接关系的数据列必须消除(消除的办法就是再创建一个表来存放他们,当然外键除外)
如果数据库设计达到了完全的标准化,则把所有的表通过关键字连接在一起时,不会出现任何数据的复本(repetition)。标准化的优点是明显的,它避免了数据冗余,自然就节省了空间,也对数据的一致性(consistency)提供了根本的保障,杜绝了数据不一致的现象,同时也提高了效率。
优化②:适当的冗余,增加计算列
数据库设计的实用原则是:在数据冗余和处理速度之间找到合适的平衡点
主键是不能重复的。
你可以用select
count(1)
from
table
where
条件字段=条件1
如果这个返回值大于1(条件字段是主键),那么就可以判定是重复了。
以上就是关于在数据库表设计中,要求每一个表中的主键字段都不能为空或者取重复的值,称为___________。全部的内容,包括:在数据库表设计中,要求每一个表中的主键字段都不能为空或者取重复的值,称为___________。、delphi怎样判断数据库中的数据表的主键字段内容是否重复、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)