数据库应当适当冗余
来源:互联网 发布:知乎回答集锦 编辑:程序博客网 时间:2024/06/04 18:18
"遵守标准的数据库具有以下特点:有一组表专门存放通过键连接起来的关联数据。比方说,某个存放客户及其有关定单的 3NF 数据库就可能有两个表:Customer 和 Order。Order 表不包含定单关联客户的任何信息,但表内会存放一个键值,该键指向 Customer 表里包含该客户信息的那一行。更高层次的标准化也有,但更标准是否就一定更好呢?答案是不一定。事实上,对某些项目来说,甚至就连 3NF 都可能给数据库引入太高的复杂性。
为了效率的缘故,对表不进行标准化有时也是必要的,这样的例子很多。曾经有个开发餐饮分析软件的活就是用非标准化表把查询时间从平均 40 秒降低到了两秒左右。虽然我不得不这么做,但我绝不把数据表的非标准化当作当然的设计理念。而具体的操作不过是一种派生。所以如果表出了问题重新产生非标准化的表是完全可能的。 "
设计数据库的时候要注意各个字段实际的意义, 比如说你做的定单, 如果该业务员换了单位, 你还会去修改他做的所有定单吗? 这种事情是没有的也是不应该的, 定单就是要反映做好时的状况, 所以, 姓名在做定单的时候一定要填进去, 一旦定单签好了, 无论ID有什么变化都不应该再做改动, 从这个意义上说, 定单表里一定要有业务员姓名的项目, 以便如实地反映出定单做好时的状态.
- 数据库应当适当冗余
- 数据库冗余
- 适当Oracle 数据库创建索引
- 关于数据库冗余字段
- 数据库 数据冗余
- 数据库---冗余字段
- 数据库冗余数据分析
- 数据库建表 冗余
- 数据库冗余字段
- 数据库冗余解析
- 浅谈数据库设计冗余
- 数据库设计冗余字段
- 数据库表冗余设计
- 数据库中“数据冗余”
- 数据库适当添加索引进行查询优化
- 关系数据库的数据冗余
- 删除数据库中冗余信息
- 数据库冗余字段的理解。
- 在PowerBuilder中实现动态菜单的方法
- OC4J的使用[转自http://www.suneca.com]
- 如何使用Runtime.addShutdownHook
- WinAPI C读写文件?
- PowerPoint插件出问题的解决方法
- 数据库应当适当冗余
- EXT程序设计规划入门
- 实习(四)ArcMap数据输入与编辑
- 用VC实现PDF文件的显示
- java.lang.UnsupportedClassVersionError
- 看门狗
- YUI 3 学习笔记:YUI Base
- SAP归档:如何选择最全的归档对象
- oracle J2EE server部署比较有用的连接