所有栏目

运算关系是什么

已输入 0 字
优质回答
  • 运算关系是数学术语。

    运算关系有两类:

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

    一、传统的集合运算

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

    2、差(DIFFERENCE)R和S的差是由属于R但不属 于S的元组组成的集合,运算符为-。

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

    二、选择运算

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

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

    三、投影运算

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

    四、连接运算

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

    五、除法运算

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

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

    六、外连接运算

    选择和投影运算都是属于一目运算,它们的操作对象只是一个关系。联接运算是二目运算,需要两个关系作为操作对象。

    1、联接

    联接是将两个关系模式通过公共的属性名拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组。运算过程是通过联接条件来控制的,联接条件中将出现两个关系中的公共属性名,或者具有相同语义、可比的属性。联接是对关系的结合。在FOXPRO中有单独一条命令JOIN实现两个关系的联接运算。如:

    SELE1

    USE定单

    SELE2

    USE商品

    JOINWITHATOXGXFORA->货号=货 号 AND 库存量>=A->定购量

    设关系R和S分别有m和n个元组,则R与S的联接过程要访问m×n个元组。由此可见,涉及到联接的查询应当考虑优化,以便提高查询效率。

    2、自然联接自然联接是去掉重复属性的等值联接。它属于联接运算的一个特例,是最常用的联接运算,在关系运算中起着重要作用。

    如果需要两个以上的关系进行联接,应当两两进行。利用关系的这三种专门运算可以方便地构造新的关系。

    2023-10-24 02:11:03
  • 算术运算:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。

    2.关系运算:用于比较运算。包括大于(>)、小于(<)、等于(= =)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。

    3.逻辑运算:用于逻辑运算。包括与(&&)、或(||)、非(!)三种。

    4.位操作运算:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

    5.赋值运算:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。

    6.条件运算:这是一个三目运算符,用于条件求值(?:)。

    7.逗号运算:用于把若干表达式组合成一个表达式(,)。

    8.指针运算:用于取内容(*)和取地址(&)二种运算。

    9.求字节数运算:用于计算数据类型所占的字节数(sizeof)。

    10.特殊运算:有括号(),下标[],成员(→,.)等几种。

    2023-10-24 02:11:03
最新问题 全部问题