在为应用程序设计数据库时要记住哪些一般准则和最佳实践?

时间:2009-10-14 19:52:07

标签: database database-design

我的问题是关于数据库建模。我试图在SO上的其他数据库设计问题中寻找这个问题,但还没有找到它,所以我在这里询问:

在为应用程序设计数据库时要记住哪些一般准则和最佳实践?

数据库设计概念提供哪些最佳资源/书籍/大学讲座?

感谢。

7 个答案:

答案 0 :(得分:14)

答案 1 :(得分:3)

DEPENDS

一些问题就像是说“什么是最好买的车”,这实际上取决于很多因素,包括数据量,并发用户数,你想做什么等等。仅供参考,标准化对某些人来说是好的数据库使用,但对其他人(数据仓库)不好。

让我们更好地了解您打算如何使用这些数据,并获得更好的建议。

答案 2 :(得分:3)

虽然我同意其他人的看法,你现在的问题太宽泛而且无法真正回答(除了“它取决于”方法:-)),我会全心全意地推荐一本开始数据库的人设计一般:

Michael Hernandez:Database Design for Mere Mortals(R): A Hands-On Guide to Relational Database Design

alt text

这是一本非常实用,简洁,实用的书,并以一种非常易懂,非常平易近人的方式介绍了所有主要和重要的概念。写得好,有趣,非常有用 - 非常值得推荐!

马克

答案 3 :(得分:0)

你的问题太宽泛了。归一化和非规范化是最常用的概念。

答案 4 :(得分:0)

查看有关database normalization的维基百科文章。还有进一步的阅读部分。

如果为全新应用程序设计新数据库,则应尝试使用ORM库(如Java中的JPA实现)从数据库设计中释放您,因为这些工具从域模型生成数据库。如果您在此领域没有任何经验 - 使用ORM工具生成的数据库将比您的更好。

答案 5 :(得分:0)

最好的办法是从一个好的normalized数据库开始。维基百科文章提供了一些很好的信息以及一些很好的参考资料。

通常,您最终会对数据库的某些部分进行非规范化以获得更好的性能,但您几乎总是希望以第4种正常形式开始使用它。

答案 6 :(得分:0)

考虑所有用例。考虑某人可能想要获取数据的每种可能方式,并为这些方法做好计划。请佩戴您的设计师,开发人员,测试人员和用户帽子。

尝试将数据库表视为表示物理对象。

正常化,正如其他人所说的那样。

相关问题