CRUD:空记录模式

时间:2018-02-13 22:34:38

标签: java c# sql database null

使用简单的CRUD UI,我们经常面对可能有空白的选择/下拉元素。这些很可能用于建立实体和标准类型(查找值)之间的关系。

通过使用代表null的记录来避免处理异常null/none/not selected值的情况是明智的,假设区别在于"没有任何关联存在"和"目前没有关联"在域中不重要?

乍一看似乎这种类似于Null object pattern的方法可能会有所帮助,但我可能会遗漏一些东西?

2 个答案:

答案 0 :(得分:0)

我们最近做了类似的设计决定,但是在数据库表中保留空值,用户没有选择任何查找值。主要原因是查询更容易,因为我们不需要在UI /后端代码或其他查询中重新建立swagger-ui.html的概念。我们还尝试使用空GUID来查找NULL/NONE/NOT_SELECTED个查找值(000000-0000 ...),但最终决定反对它。

答案 1 :(得分:0)

Null是数据建模的一个非常酷的功能,如果您已经使用它,如果您在没有必要时使用它,则需要额外的努力。

如果'none'值应该被区别对待,那么'not selected'值(也就是说,你将做出某些决定有意义),然后将'as'作为'not selected'与'分开'无”。

如果您不打算在处理过程中对'none'和'not selected'进行不同的处理,那么请将单个值用于这两个目的。