用excel进行设计(82):数据表的设计规范

本文介绍了数据表设计的三个范式,包括第一范式对属性原子性的要求,第二范式对记录唯一性的约束,以及第三范式对字段冗余性的限制,并通过实例说明了如何在实践中平衡规范性和效率。

数据表的设计规范

1 通俗地理解三个范式:

  第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;也就是字段是不可再分解的,比如“姓名”字段(数据项)可以分成“姓”和“名”两项,必要时连接成为一个,这样管理有利于查找。

  第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性。 这个惟一标识指的就是“关键字”,对关键字的操作(例如:排序)就是对记录的重新排列。

  第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。尽管基本表及其字段之间的关系, 应尽量满足第三范式。但是,满足第三范式的数据库设计,往往不是最好的设计。为了提高数据库的运行效率,常常需要降低范式标准:适当增加冗余,达到以空间换时间的目的。

  〖例2〗:有一张存放商品的基本表,如表1所示。“金额”这个字段的存在,表明该表的设计不满足第三范式,

因为“金额”可以由“单价”乘以“数量”得到,说明“金额”是冗余字段。但是,增加“金额”这个冗余字段,可以提高查询统计的速度,这就是以空间换时间的作法。

简单来说,3NF 规定:

  * 表内的每一个值都只能被表达一次。

  * 表内的每一行都应该被唯一的标识(有唯一键)。

  * 表内不应该存储依赖于其他键的非键信息。

   

2.表中数据项的行列要遵守有一定的顺序。比如数据项横向排列要按时间顺序:1991年、1992年、…,纵向要按关键字排序,比如“编号”。而且要在表的标题上注明这个顺序:

3.2.1.1 按学号升序排序的学生成绩表

专业名称

班级

学号

成绩

电子商务管理

电商0402

2004618226

70

电子商务管理

电商0402

2004618231

80

电子商务管理

电商0402

2004618248

60

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值