sql VIEW是一个全局逻辑表,可以保留也可以不保留.但它仍然是一张桌子.因此,VIEW应该始终遵循第一范式(1NF)吗?即没有重复的行,只有标量类型,没有从上到下或从左到右的顺序等等.更高的正规形式怎么样?
对我来说,我的应用程序“消耗”存储过程的结果,我的VIEW被SQL查询“消耗”,并且这两个用法是互斥的(即我不使用SQL查询存储过程的结果集,而我的应用程序不包含sql代码).我见过其他人使用VIEW将列中的多个值“连接”成一行,通常是逗号分隔格式.在针对此类列的SQL查询中编写谓词需要类似于以下的kludges:
',' + concat_col + ',' LIKE '%' + ',' + search_value + ',' + '%'
因此,我认为可以查询的所有表只包含标量类型似乎是合理的.想到这一点,我是否过于“纯粹主义”?