【发布时间】:2010-11-19 03:58:07
【问题描述】:
我意识到这个问题可能看起来有点“绿色”方面,但是在我遇到了许多“企业”或“商业”数据库之后,我开始问这个问题。约束为数据库提供了哪些优势?我更多地询问外键约束而不是唯一约束。它们提供性能提升,还是仅提供数据完整性?
我对没有外键甚至没有指定主键的关系数据库的数量感到相当惊讶(只是字段的约束不为空或字段的唯一约束)。
想法?
【问题讨论】:
-
SO上有很多类似的问题,你也应该仔细阅读它们以获得答案。这个不错:stackoverflow.com/questions/18717/…
-
“性能提升”是指数据库吗?还是您的意思是“支持开发人员不会浪费多年的生命与不良数据作斗争”。这有点模棱两可。
-
稍微重复一下这个想法:我们不应该将业务逻辑放在数据层中,对吧?那么如何确保 - 比如说 - 每个采购项目都有相应的采购订单,不是业务逻辑?我觉得它属于数据库;我很高兴使用外键,但我想知道数据/业务层的边界。
标签: database relational-database