背景:今天,在使用 SQL Server Reporting Services 时出现了一个问题。报告查看器中的 SSRS 下拉参数似乎不允许您指示(空)选项,以便您可以看到该参数为空的报告。基本上,表 A 是一个可空引用表 B 的表;由于报告使用表 B 填充下拉列表,因此没有可显示为选项的空值,因此您无法选择所有具有空值 B 的 A。
我真正的问题来自我正在回答的管理类型对上述问题的潜在下意识反应。当我解释发生了什么时,她发布了一项新的要求,即所有外键都必须是非空的,并且每个实体都应该插入一个“默认”记录,这是一个新标准,似乎可以解决报告工具中的这个问题。基本上,如果你有一个 Cat 表,那么 Cat.Owner 永远不应该为空,而是应该引用 Person 表中的默认记录,即“默认”Person。
虽然这可能有助于解决 SSRS 问题,但它可能会损害使用数据库的服务和应用程序的开发/维护,因为它们现在不仅要考虑空值(此时允许),而且还要查找并正确使用“默认”记录。我曾想过试图说服她放弃这项任务,但在我决定这样做之前,我想从有经验的人那里收集一些信息。
有人可以权衡一下这可能会有所帮助或伤害吗?
有人将其作为数据库标准吗?任何问题,发展或其他方面,我应该注意吗?