我的问题是关于数据库建模。我试图在SO上的其他数据库设计问题中寻找这个问题,但还没有找到它,所以我在这里询问:
在为应用程序设计数据库时要记住哪些一般准则和最佳实践?
数据库设计概念提供哪些最佳资源/书籍/大学讲座?
感谢。
答案 0 :(得分:14)
答案 1 :(得分:3)
DEPENDS
一些问题就像是说“什么是最好买的车”,这实际上取决于很多因素,包括数据量,并发用户数,你想做什么等等。仅供参考,标准化对某些人来说是好的数据库使用,但对其他人(数据仓库)不好。让我们更好地了解您打算如何使用这些数据,并获得更好的建议。
答案 2 :(得分:3)
虽然我同意其他人的看法,你现在的问题太宽泛而且无法真正回答(除了“它取决于”方法:-)),我会全心全意地推荐一本开始数据库的人设计一般:
Michael Hernandez:Database Design for Mere Mortals(R): A Hands-On Guide to Relational Database Design
这是一本非常实用,简洁,实用的书,并以一种非常易懂,非常平易近人的方式介绍了所有主要和重要的概念。写得好,有趣,非常有用 - 非常值得推荐!
马克
答案 3 :(得分:0)
你的问题太宽泛了。归一化和非规范化是最常用的概念。
答案 4 :(得分:0)
查看有关database normalization的维基百科文章。还有进一步的阅读部分。
如果为全新应用程序设计新数据库,则应尝试使用ORM库(如Java中的JPA实现)从数据库设计中释放您,因为这些工具从域模型生成数据库。如果您在此领域没有任何经验 - 使用ORM工具生成的数据库将比您的更好。
答案 5 :(得分:0)
最好的办法是从一个好的normalized数据库开始。维基百科文章提供了一些很好的信息以及一些很好的参考资料。
通常,您最终会对数据库的某些部分进行非规范化以获得更好的性能,但您几乎总是希望以第4种正常形式开始使用它。
答案 6 :(得分:0)
考虑所有用例。考虑某人可能想要获取数据的每种可能方式,并为这些方法做好计划。请佩戴您的设计师,开发人员,测试人员和用户帽子。
尝试将数据库表视为表示物理对象。
正常化,正如其他人所说的那样。