首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库模式

问数据库模式
EN

Stack Overflow用户
提问于 2008-09-04 17:42:13
回答 6查看 6K关注 0票数 24

有人知道文件/书籍/等等数据库的文档模式吗?例如,一个常见的经验法则是,每个表都应该有一个主键,键应该是缺乏信息内容。所以我想知道是否有人写过一本书或发表过关于设计关系数据库的设计模式的论文?

@Gaius,

这就是数据库设计人员需要权衡的问题--数据库结构的可能稳定性是什么?考虑到一个足够长的地平线,没有什么是稳定的。或者说,如果有一个足够长的视野,一切都会发生变化。代孕键(理论上)不应该改变它的意义,因为它从一开始就没有意义。

我想,在这个特定的设计场景中,需要考虑的另一件事是,谁将看到主键?如果主键是最终用户实际上需要参考的东西,那么让它成为他们能够理解的东西是有意义的。但是我想不出很多情况,最终用户需要看到主键;通常主键是存在的,这样可以让DB引擎加速某些操作。

我提出这个问题的最初想法是找到比我更有经验的数据库设计人员编写的数据库设计模式,希望能避免一些容易避免的错误。如果有人曾经编纂过数据库设计反模式,那就很有趣了。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-09-04 18:48:03

具体来说,关于键:我强烈反对这种奇怪的观点,即键必须没有意义。通常,我认为数据库是事实的集合;一旦您开始向数据库中添加任意数字(如生成的键)和其他不相关的信息,它就应该是一个警告标志。关于密钥的更多信息,我建议使用这是乔·塞尔科的作品。

更一般性的说明:

针对不同业务的模式设计/数据模型的建议: David C. Hay: Data Model Patterns:习惯思想比较古老,但它仍在印刷中是有原因的

http://www.dorsethouse.com/books/dmp.html

也许不是很像模式,但仍然很好: Stephane Faroult,Peter Robson: SQL http://oreilly.com/catalog/9780596008949/的艺术。

另一个我可以推荐的方法: Vadim : SQL SQL编程styles.htm专家指南

关于数据建模的系统教材: Graeme & Graham,“数据建模要点”http://www.elsevierdirect.com/product.jsp?isbn=9780126445510

也许你真的在找一个“时尚指南”?那个例子: Joe : SQL编程风格http://www.elsevierdirect.com/product.jsp?isbn=9780120887972

票数 10
EN

Stack Overflow用户

发布于 2008-09-04 17:55:17

E.F. Codd和C.J. Date的书是最明显的答案。我没有读过这本特别的书,但我对作者很熟悉,它可能相当好。

数据库专业人员的应用数学由雷克萨斯德Haan和Toon。

票数 5
EN

Stack Overflow用户

发布于 2008-09-04 17:59:51

实际上,我认为经验法则通常是尽可能使用自然键而不是代孕.

因此,例如,如果我有一个发票表和一个InvoiceDetail表,我们可能可以在第一个表中使用InvoiceNumber作为主键。它已经存在于我们的数据和(我猜想?)将是独一无二的。对于第二个表,我们可能需要一个代孕密钥--不管它是否以复合形式加入发票号。

无论如何,回到原来的问题..。家吐司的链接应该能让你开始。

-凯文·费尔柴尔德

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档