【问题标题】:On relational theory from "SQL and Relational Theory" by C. J. Date从 C. J. Date 的《SQL 与关系理论》谈关系理论
【发布时间】:2012-12-16 21:34:26
【问题描述】:

我被“SQL 和关系理论”一书的某一点所困扰,该书与关系属性可以采用的类型有关。问题是这样的:

关系属性可以是任何类型的规则有例外,其中一个是如果关系 R 是类型 T,那么 R 的属性本身不能是 T 类型。

为什么?是不是因为关系 R 将属于“关系 [名称]”类型,所以属性不能属于这种类型?

【问题讨论】:

  • 和C语言一样:结构不能包含自身的实例。

标签: sql relational-algebra


【解决方案1】:

考虑这样的事情:

create table address {
    id int,
    name varchar(20),
    details address -- the address relation has an attribute that is another of itself
}

定义会无限递归。

【讨论】:

  • 感谢,并为迟到的认可表示歉意。
  • 完成! [这个字符串只是为了增加字符数,以便成功添加前面的评论!]
【解决方案2】:

这是因为定义这样的关系会立即创建无限递归,甚至在您尝试将任何数据放入其中之前。关系的标题必须是有限的。

【讨论】:

  • 谢谢。对于迟到的回复,我们深表歉意。
猜你喜欢
  • 2022-06-29
  • 2011-05-08
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 2018-06-22
  • 1970-01-01
  • 2014-04-17
相关资源
最近更新 更多