- 博客(14)
- 收藏
- 关注
原创 Waging War:Accessing Databases Efficiently
Waging War:Accessing Databases Efficiently 发动战争:高效访问数据库 战争中有一些基本的原则,无视这些原则非常危险,而遵循这些原则则可能胜利。——General Antoine-Henri de Jomini(1779-1869) Query Identification:易识别的语句有助于定位性能问题。Stable DB Con
2008-10-02 03:54:00 392
原创 Design and Performance
Design and Performance设计与性能 设计仅做到功能正确是不够的,设计必须考虑性能。 性能拙劣的罪魁祸首,是错误的设计。
2008-10-02 03:41:00 329
原创 The Difficulties of Historyical Data
The Difficulties of Historyical Data历史数据的难题 要处理不断变化且需保存变化历史的数据,必须根据数据改变的快慢程度,非常小心地决定设计策略。
2008-10-02 03:37:00 483
原创 The Dangers of Excess Flexibility
The Dangers of Excess Flexibility过于灵活的危险性 真正的设计灵活性来自合理的数据建模
2008-10-02 03:34:00 331
原创 Stating the Obvious
Stating the Obvious约束应明确声明 数据中存在隐含约束是一种不良设计。尽可能多地定义约束。 主键是必不可少的。备用键(alternate key)可以标志数据及各种唯一性约束。通过外键(Foreign key)可关联到主表(master table),从而保证数据一致性,所以外键是全面表达数据模型内涵不可或缺的。 约束有两个主要作用:有助于保证
2008-10-02 03:27:00 477
原创 Understanding Subtypes
Understanding Subtypes理解子类型 解决表过“宽” 相同的属性可以共用,但独有的属性要确保分开。 父表中所有主键的集合,是所有子表中主键的并集(union),而所有子表中主键的交集(intersection)必为空。 表中有些字段出现了空值,表明需要引入子类型。
2008-10-02 03:22:00 334
原创 Qualifying Boolean Colums
Qualifying Boolean Colums限用Boolean型字段 我们应以提高“数据密度”为设计目标。为数据而数据,是通向灾难之路。
2008-10-02 03:09:00 357
原创 To Be of Not To Be ,or to Be Null
有值 无值 空值 下述情况是DB设计有缺陷的明确征兆:表的字段大多为空值,特别是某两个字段不可能同时有值。 关系模型的完备性(completeness)是以二值逻辑(two-valued logic)为基础的,记录要么存在、要么不存在。 As we know,there are known knowns.There are thins we know we know.We
2008-10-02 02:57:00 396
原创 Normalization 规范化
The Importance of Being Normal 规范化的原理是:按照严格的逻辑要求,将不同的数据项组织在一起,使它们成为结构化的信息。 Step 1:Ensure Atomicity确保原子性(1NF) 优点:高效搜索能力 & 由DB保证的数据正确性 一旦确定了所有原子数据项,且数据项间的相互关系也已明确,那么清晰的关系就呈现出来。下一步是确定能唯一标
2008-10-02 02:52:00 517
原创 The Relational View of Data
Laying Plans:Desinging Databases for Performance 在所有战争中,显示军事才华的第一步是战略规划。——Joseph de Msistre(1754-1821) The Relational View of Data 关系理论的关键原理是:关系不包含重复数据,且记录之间没有顺序。 建模是业务需求(business re
2008-10-02 02:18:00 388
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人