发布于 2013-08-02 20:38:15
从我的角度来看,这些都是列少表的好处。它们可能更多地属于温暖和模糊的范畴。
所有这些都很方便,当我不在PostgreSQL工作时,我会想念它们。
发布于 2013-08-04 23:47:00
我不知道在PostgreSQL中包含它的确切原因,但是零列表--或者更确切地说是零属性关系--在关系代数理论中起着作用,而关系代数是SQL (广义)的基础。
具体来说,没有元组的零属性关系(在SQL术语中,没有列和没有行的表)是零或假的关系等价物,而只有一个元组(SQL: no列,但一行,据我所知,在PostgreSQL中是不可能的)的关系是true或1。休·达文( Hugh Darwen )是关系理论的直言不讳的倡导者,也是SQL的批评者,他将这两种语言分别称为"Table“和"Table”。
在正规代数中,x + 0 == x和x * 0 == 0,而x * 1 == x;其思想是在关系代数中,表Dum和Table可以用作连接、并等的相似基元。
PostgreSQL内部将表(以及视图和序列)称为“关系”,因此尽管它是围绕着实现这种纯关系代数所没有定义的实现而设计的,但它的设计或历史中也可能存在这样的元素。
发布于 2013-08-02 19:28:38
它不是空表-仅为空结果。PostgreSQL行包含一些不可见(默认情况下)列。我不确定,但这可能是黑暗时代的产物,当时Postgres遭到了反对,Relational数据库和PG支持的语言POSTQUEL。这个空表可以作为类层次结构中的抽象祖先工作。
https://stackoverflow.com/questions/18024585
复制相似问题