回答

0

您引用的陈述来自Ullman和Widom(Pearson 2013)的书“数据库系统第一课程”第5章(代数和逻辑查询语言)。

特别地,部分5.3和该章的5.4治疗的语言数据记录,其可以被用于在一个关系数据库的工作,其中一个关系被看作是谓词一组(见5.3.1节)。

换句话说,R的元组(x1,x2,...,xn)被看作是关于指定参数(x1,x2,...,xn)的关系R为真的事实。通过这种方式,可以将在关系代数(联合,差异,相交)环境中讨论的集合运算符转换为通过使用布尔运算符(如AND,NOT等)表示的Datalog规则。

实际上,您可以看到,在2.4.4节的同一本书中,它们被称为Set Operators(因为它们实际上是),所以我认为“布尔运算符”的命名是由于它们与布尔运算符严格相关的事实和在数据库的逻辑视图的上下文中讨论。

+0

与本书第一次说的相反,一个关系不是“代表”,而是由Datalog谓词(符号)命名的*。例如,他们后来说:“如果R是与某个固定顺序中的n个属性的关系,那么我们也将使用R作为与这个关系相对应的谓词的名称。[...]请注意,由谓词定义的关系可以是假定是一套。“在Datalog中,一个有序元组的关系由一个谓词(符号)命名,但与属性的关系由一个原子命名(谓词符号和属性列表)。这本书写得不错。 – philipxy

0

“布尔”关系操作的概念是该书和章中特有的特别区分/分类。作者确定了3种常见的关系操作符,“每种关系操作符都可以简单地在Datalog中表示”。同一级别的下一部分继续每个表达一些其他关系运算符。 (“在Datalog中选择可能会更难以表达”。)3种运算符的处理方式彼此相似,并且在某种特定上下文特定的“布尔”方式中与其他处理方法不同。 (因此,这不是一个特别有帮助或深的区别。)

5.4.1布尔运算

关系代数的布尔运算 - 集,交集,并集 差异 - 每个都可以简单地表示在Datalog中。

  • 采取联合ř∪S,[...]其结果是,来自R的每个元组和S的每个元组放入答案关系。
  • 要取交集R∩S,[...]然后,一个元组在回答关系中当且仅当它在R和S中都有。
  • 要取差值R - S,[。 ..]然后,当且仅当它在R中但不在S中时,元组才处于回答关系中。

所以“布尔”,是因为每个关系运算符对应于在这方面有一定的布尔运算符:

UNION返回的元组是在一个操作数或其他
交会返回的元组在一个操作数和其他
差异返回是一个操作数,而不是其他

元组(数据记录也硬是用,还有,还有没有,但OR是隐含的。)

更重要的是,这可以换一种说法:如果每一个基本关系持有一些相关谓词(按属性名称参数文章模板)每个结果有消费者作出真实的命题(声明)的元组,然后断言其操作数谓词提出的,其价值主张向消费者作出真实的命题从谓语的元组:

U持有的元组ü
V持有的元组V
U UNION V成立,其中ü OR V
U INTERSECTION V持有的元组的元组üV
U DIFFERENCE V持有的元组ü AND NOT V

但更不仅如此,那些运营商对应OND一些布尔命题逻辑连接词/非终结符,但关系运算符对应于谓词逻辑结缔组织/非终结,每个查询表达式具有相关联的谓词,以及每个查询结果值认为使真正的元组从谓词命题:

U JOIN V保持的元组,其中ù AND V
R RESTRICTcondition保持元组,其中ü条件
U PROJECT A持有的元组FORSOME值的所有属性,但A,ü
U RENAME A A'成立,其中ü用A代替A”

所以这本书捆绑的元组三个运算符的语法&语义的数据记录,但真的所有运算符可以绑定到语法&语义的谓词逻辑。这是数学,科学(包括计算机科学)的精确度的语言/符号。&工程(包括软件工程)。实际上,我们如何知道什么是查询意味着。因此,这三个运算符在某种意义上并不是真正的布尔逻辑全部关系运算符是逻辑:每个关系表达式都对应一个谓词逻辑表达式。因为作为结果关系主体的集合来自作为操作数关系的主体的集合,所述集合是根据集合运算符通过相同名称产生的集合,所以这三个运算符通常被称为“集合运算符”这可能是一种有用的方法,可以将他们归类在你的脑海中,或记住他们或他们的名字,并且无疑激发了他们的名字,但是鉴于关系运算符与谓词逻辑连词/非终结符的对应关系以及关系表达式与谓词逻辑表达式和谓词与关系值之间的对应关系,一些关系运算符让人想起某些集合运算符,这一事实与完全不相关。)(就像有些运算符让人想起布尔运算符一样。 n代数与“关系”,其身体是行李而不是集合。)

+0

您的意思是说,作者发明了定义(布尔运算符)并且它不适合调用集合运算符布尔运算符? – CaixinGong

+0

我认为作者发明了区分/分类,但它适用于上下文。这只是不深或广泛有用。也不是某些其他人。但是,某些相关的相似/对应*很深。看到我编辑的答案。 – philipxy

相关问题