Any*_*are 19 database database-design data-modeling data-integrity
当我在大学学习时,他们教我们数据库的基础知识,基础知识和规则,其中一个最重要的规则是约束(主键,外键),以及如何建立1-m,1-1,mn关系.
现在,当我转向真实的商业环境时,他们告诉我:你应该忘记你所教过的一切; 没有约束,所有这些关系都是逻辑的,没有主键,没有外键,你可以通过代码制定约束.
我不知道谁是对的:我在学术生活中学到了什么,或者在新的现实生活中学到了什么.你怎么看?
Jus*_*ner 29
如果有人告诉我忽略我的数据库上的密钥和约束,我会立即忽略它们并继续我的业务.
主键,外键和约束是有原因的.使用它们.它们将使您的生活更轻松,您的数据库更容易理解(而且,通常,更高效).
Erw*_*out 11
如果你认为制约仅仅是有关主键和外键,那么实际上你没有被教多少"基本面"的开始.
我建议你看一下Hugh Darwen的"关系数据库理论简介",可以在网上免费获得.至少你可以从中获得关于"基本面" 的真正教育.
小智 6
我认为约束可以帮助您获得干净的数据.性能有时会提高.在某些情况下,性能会受到约束的影响.但是,答案不是消除约束.您有一些称为"非规范化"的东西可以帮助您处理性能问题(前提是您的查询已经过优化).您始终可以在此类方案中创建非规范化摘要表.
那些告诉你"忘记你学到的东西"的人也告诉你他们已经忘记了他们在驾驶课上学到的交通规则了吗?