日期:2014-05-16  浏览次数:20506 次

数据库设计需要注意的20个点

(转载:http://www.oschina.net/question/28_37512)

?

1.使用明确、统一的表名和列名,例如 School, SchoolCourse, CourceID。

?

2.数据表名使用单数而不是复数,例如 StudentCourse,而不是StudentCourses。

?

3.数据表名不要使用空格。

?

4.数据表名不要使用不必要的前缀和后缀.例如使用School,而不是TblSchool,或者

? ?SchoolTable等等。

?

5.数据库中的密码要加密,到应用中再解密。 (其实就是散列存储、单向加密)?

?

6.使用整数作为关联字段,也许现在没有必要,但是将来需要。例如:关联表或者索引。

?

7.使用整数字段作索引,否则会带来很大的性能问题。

?

8.使用bit作为布尔值,使用varchar或者整数太浪费了。同时这类字段可以使用"Is"

? 开头

?

9.要经过认证才能访问数据库,不是给每个用户数据库管理员权限。

?

10.尽量避免使用"select * "

?

11.如果使用ORM框架,可以在对应的框架中调配ORM的性能。

?

12.分割不常使用的数据到其他的物理存储以便提高性能。

?

13.对于关键的数据库要使用安全备份,使用集群或者同步。

?

14.使用外键和非空来保证数据完整性,不要把所有的东西都扔给程序。

?

15.缺乏数据库文档是致命的。你应该为你的数据库设计写文档,包括触发器、存储过程

? ?和其他脚本

?

16.对于经常使用的查询和大型数据表,要使用索引。数据分析工具可以帮助你决定如何

? ? 建立索引。

?

17.数据库服务器和网页服务器应该放在不同的机器上。这回提高安全性,

? ? 并减轻CPU压力。

?

18.Image和blob字段不应该定义在常用的数据表中,否则会影响性能。?

?

19.范式(Normalization)要按照要求使用以提高性能。Normalization做的不够会

? ? ?导致数据冗余,而过度Normalization 会导致太多的join和数据表,这两种情况都

? ? ?会影响性能。?

?