如今,是否有任何理由在表之间(在SQLserver内部)建立约束?如果是这样,什么时候?我所在领域的大多数应用程序都是基于对象原理构建的,并且可以按需将表连接在一起。需求基于应用程序的需求。我不会加载一堆受约束的表来进行简单的查找,而这些查找又又(在执行操作之后)需要进行另一个简单的查找。
诸如EntityContext,Linq2Data,NHibernate之类的ORM工具也可以自己处理约束,至少您知道哪些表需要彼此使用。在服务器内部进行约束仅是对相同的更改进行两次(强制执行)?
通常这不是要决定的问题,但是此数据库的设计却大不相同。设计看起来很正常,主要是镜像应用程序使用的对象。令我困扰的是在SQLserver内部使用“非级联”配置的所有约束。这意味着在编码新的数据库查询时,您必须扮演“寻找并查找”的角色。在某些情况下,单个订单最多需要10个级别的确切订单。
这让我感到惊讶,我不确定如何处理。
在我的简单世界中,这种设置使约束失去了大部分目的。如果在不了解设计的情况下从主机访问数据库,则单击“确定”。
在这种情况下,您将如何行动?
为什么不从db中删除所有约束并将它们保持在应用程序级别呢?