SQL VIEW 是一个全局逻辑表,可能会也可能不会持久化。但它仍然是一张桌子。因此,VIEW 是否应该始终遵循第一范式 (1NF)?即没有重复的行,只有标量类型,没有从上到下或从左到右的排序等。那么更高的范式呢?
对我来说,我的应用程序“消耗”存储过程的结果,我的视图由 SQL 查询“消耗”,并且这两种用法是互斥的(即,我不使用 SQL 查询存储过程的结果集,而我的应用程序也不使用 SQL 查询存储过程的结果集。包含 SQL 代码)。我见过其他人使用 VIEW 将一列中的多个值“连接”成一行,通常采用逗号分隔格式。在 SQL 查询中针对此类列编写谓词需要类似于以下的组装:
',' + concat_col + ',' LIKE '%' + ',' + search_value + ',' + '%'
因此,在我看来,期望所有可查询的表仅包含标量类型似乎是合理的。我这么想是不是太“纯粹”了?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)