c语言中选择和投影的区别??

Python09

c语言中选择和投影的区别??,第1张

1、关系的投影运算是数据库理论中的内容。c语言中没有相关的内容。

2、关系的基本运算有两类:一类是传统的集合运算(并、差、交等),另一类是专门的关系运算(选择、投影、连接、除法、外连接等),有些查询需要几个基本运算的组合,要经过若干步骤才能完成。

一、传统的集合运算

1、并(UNION) 设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。记为T=R∪S。

2、差(DIFFERENCE) R和S的差是由属于R但不属

于S的元组组成的集合,运算符为-。记为T=R-S。

3、交(INTERSECTION) R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩。记为T=R∩S。 R∩S=R-(R-S)。

二、选择运算

从关系中找出满足给定条件的那些元组称为选择。其中的条件是以逻辑表达式给出的,值为真的元组将被选取。这种运算是从水平方向抽取元组。 在FOXPRO中的短语FOR<条件>和WHILE<条件>均相当于选择运算。

如:LIST FOR 出版单位='高等教育出版社' AND 单价<=20

三、投影运算

从关系模式中挑选若干属性组成新的关系称为投影。这是从列的角度进行的运算,相当于对关系进行垂直分解。在FOXPRO中短语FIELDS<字段1,字段2,…>相当于投影运算。 如: LIST FIELDS 单位,姓名

四、连接运算

连接运算是从两个关系的笛卡尔积中选择属性间满足一定条件的元组。

五、除法运算

在关系代数中,除法运算可理解为笛卡尔积的逆运算。

设被除关系R为m元关系,除关系S为n元关系,那么它们的商为m-n元关系,记为R÷S。商的构成原则是:将被除关系R中的m-n列,按其值分成若干组,检查每一组的n列值的集合是否包含除关系S,若包含则取m-n列的值作为商的一个元组,否则不取。

六、外连接运算

3、投影(Projection)运算

投影是指将对象转换为一种新形式的操作,该形式通常只包含那些将随后使用的属性。通过使用投影,您可以构建依据每个对象生成的新类型。您可以映射属性,并对该属性执行数学函数。还可以在不更改原始对象的情况下映射该对象。简单地说,便是在关系中选择某些属性列。

这里考察的是c语言中关系代数的理解.关系模型的基本运算:并、差、交、广义笛卡尔积、投影、选择、连接、除.关系是有序组的集合,可将关系操作看成是集合的运算.

答案解析:并;给定两个相同类型的关系A和B,两者的并是相同类型的一个关系,关系的主体由出现在A中或B中或同时出现在两者之中的所有元组组成.