架构设计—设计物理数据库架构(SQLServer2008宝典)
设计物理数据库架构
最佳实践:一些开发人员会定期地非规范化数据库的某些部分(冗余一些字段),以尝试改进性能,这似乎可以改进性能,因为它减少了联接数,但是在保持数据一致性所需的额外代码(过程、触发器、约束),或者是重新规范化数据,以便于基于集的查询中使用数据,实际上会降低性能。如果在一些情况下,数据一致性不是主要关注的点,为了改进性能,非规范化是一个明智选择。
可扩展行的设计
应用程序生存阶段的维护成本远比最初的开发成本高,因此,在最初的开发阶段,就应把维护看作一个主要目标,尽可能简化物理设计、代码和数据的维护。下面的技术可以降低数据库维护的成本。
1.实施一个强大的基于T—SQL的抽象层。
2.总是规范化架构。
3.数据驱动的设计比刚性设计更灵活,因此可扩展性更高。
4.使用一致的命名约定。
5.可以使用更简单的数据结构时,避免过于复杂的、笨拙的数据结构。
6.用脚本进行开发,而不是使用Management Studio的UI。
7.从一开始就实施数据完整性约束。如果使用宽松的数据完整性规则,很短时间后,就需要清理被污染的数据。
8.先开发核心功能,在核心功能可以工作后,再添加其他辅助功能。
开发数据库时使用的数据库命名约定
1.对于多对多的中间表,使用table_mm_table。
2.所有的名称都混合使用大小写字母(MixedCase),不带下划线或空格除非在多对多的中间表中。
3.对于主键,使用表名+ID。例如,Customer表的主键是CustomerID。
4.外键与主键同名,除非外键强制自反/递归关系。
5.避免不一致的缩写词。
6.用架构组织复杂的大型数据库
标识列与代理主键
因为标识列仅在表范围内时唯一的,所以许多表都有相同的整数值,联接了错误表的代码仍能返回一个填充了数据的结果集,因为在两个表中有匹配的数据。另一方面,GUID是全局唯一的,如果联接了错误的表,就不可能得到结果。
创建索引
索引是查询和数据之间的桥梁,没有索引,SQL Server就必须扫描、筛选数据。SQL Server使用两种索引:聚集索引和非聚集索引。聚集索引反映了表的逻辑顺序,非聚集索引是附加的B树。
使用T-SQL编程
T-SQL格式化:
1.语句终止,标准在每一个命令的末尾放置了一个分号。

浙公网安备 33010602011771号