2.2.1 关系代数的五个基本操作 考核要求:达到“简单应用”层次 知识点:五个基本操作的含义和运算应用 (1)并(∪):两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。
rus≡{t| t∈r ∨t∈s} (2) 差(-):同样,两个关系有相同的模式,r和s的差是由属于r但不属于s的元组构成的集合。 r-s≡{t| t∈r ∧t 不属于s} (3)笛卡尔积(*):对两个关系r和s进行操作,产生的关系中元组个数为两个关系中元组个数之积。
r*s≡{t| t=∧tr∈r∧ts ∈s} (4) 投影(σ):对关系进行垂直分割,消去某些列,并重新安排列的顺序。 (5) 选择(π):根据某些条件关系作水平分割,即选择符合条件的元组。
2.2.2 关系代数的四个组合操作 考核要求:达到“简单应用”层次 知识点:四个组合操作的含义和运算应用 (1)交(∩):r和s的交是由既属于r又属于s的元组构成的集合。 (2)联接:包括θ(算术比较符)联接和f(公式)联接. 选择r*s中满足iθ(r+j)或f条件的元组构成的集合; 概念上比较难理解,关键理解运算实例 等值联接(θ为等号“=”的联接)。
(3)自然联接(rs):在r*s中,选择r和s公共属性值均相等的元组,并去掉r*s中重复的公共属性列。 如果两个关系没有公共属性,则自然联接就转化为笛卡尔积。
(4)除法(÷):首先除法的结果中元数为两个元数的差, r÷s的操作思路如下---把s看作一个块,如果r中相同属性集中的元组有相同的块, 且除去此块后留下的相应元组均相同,那么可以得到一条元组, 所有这些元组的集合就是除法的结果 对于上述的五个基本操作和四个组合操作,应当从实际运算方面进行理解和运用。
在关系数据库中,基本的关系运算有三种,它们是选择、投影和连接。关系的基本运算有两类:一类是传统的集合运算(并、差、交等),另一类是专门的关系运算(选择、投影、连接、除法、外连接等),有些查询需要几个基本运算的组合,要经过若干步骤才能完成。
一、传统的集合运算
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相当于投影运算。 如: LIST FIELDS 单位,姓名
四、连接运算
连接运算是从两个关系的笛卡尔积中选择属性间满足一定条件的元组。
五、除法运算
在关系代数中,除法运算可理解为笛卡尔积的逆运算。
设被除关系R为m元关系,除关系S为n元关系,那么它们的商为m-n元关系,记为R÷S。商的构成原则是:将被除关系R中的m-n列,按其值分成若干组,检查每一组的n列值的集合是否包含除关系S,若包含则取m-n列的值作为商的一个元组,否则不取。
扩展资料:
数据库除运算:
除运算的含义–给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。
R÷S的结果为a1,x相当于A y 相当于B,C z相当于D,按照除运算规则,我们不必关注D。只需比较B,C当S关系中的B,C所有的组合(b1,c2)(b2,c3)(b2,c1)都出现在R关系中时,结果才为A
R÷S = {tr[X] | trÎR∧πY (S) íYx },Yx:x在R中的象集,x = tr[X]。除操作是同时从行和列角度进行运算。
参考资料来源:搜狗百科-关系运算
参考资料来源:搜狗百科-数据库除运算
关系的基本运算有两类:一类是传统的集合运算(并、差、交等),另一类是专门的关系运算(选择、投影、联接等),有些查询需要几个基本运算的组合,要经过若干步骤才能完成。
一、传统的集合运算 1、并(UNION) 设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。
记为T=R∪S。 2、差(DIFFERENCE) R和S的差是由属于R但不属于S的元组组成的集合,运算符为-。
记为T=R-S。 3、交(INTERSCTION) R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩。
记为T=R∩S。 R∩S=R-(R-S)。
二、选择运算 从关系中找出满足给定条件的那些元组称为选择。其中的条件是以逻辑表达式给出的,值为真的元组将被选取。
这种运算是从水平方向抽取元组。 在FOXPRO中的短语FOR和WHILE均相当于选择运算。
如:LIST FOR 出版单位='高等教育出版社' AND 单价 三、投影运算 从关系模式中挑选若干属性组成新的关系称为投影。这是从列的角度进行的运算,相当于对关系进行垂直分解。
在FOXPRO中短语FIELDS相当于投影运算。 如: LIST FIELDS 单位,姓名 四、联接运算 选择和投影运算都是属于一目运算,它们的操作对象只是一个关系。
联接运算是二目运算,需要两个关系作为操作对象。 1、联接 联接是将两个关系模式通过公共的属性名拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组。
运算过程是通过联接条件来控制的,联接条件中将出现两个关系中的公共属性名,或者具有相同语义、可比的属性。联接是对关系的结合。
在FOXPRO中有单独一条命令JOIN实现两个关系的联接运算。如: SELE 1 USE 定单 SELE 2 USE 商品 JOIN WITH A TO XGX FOR A->货号=货号 AND 库存量>=A->定购量 设关系R和S分别有m和n个元组,则R与S的联接过程要访问m*n个元组。
由此可见,涉及到联接的查询应当考虑优化,以便提高查询效率。 2、自然联接 自然联接是去掉重复属性的等值联接。
它属于联接运算的一个特例,是最常用的联接运算,在关系运算中起着重要作用。 如果需要两个以上的关系进行联接,应当两两进行。
利用关系的这三种专门运算可以方便地构造新的关系。 五、外关键字 如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,则称为该关系的外关键字。
综上所述,关系数据库系统有如下特点: (1)数据库中的全部数据及其相互联系都被组织成关系,即二维表的形式。 (2)关系数据库系统提供一种完备的高级关系运算,支持对数据库的各种操作。
(3)关系模型有严格的数学理论,使数据库的研究建立在比较坚实的数学基础上。
要进入数据库,基本要做到以下几点:
1、首先要建立数据库,数据库是数据信息的集合,按使用性质分:系统数据库和用户数据库。系统数据库在安装数据库产品(Access,Foxprro,SQL Server,Oracle,Sybase,Informix,DB2,Mysql等等)时会建立,用户数据库则要根据实际的业务需求,通过使用DDL数据定义语言来建立。
2、其次,要建立与数据库的连接。最常规的方法有ODBC,JAVA有JDBC等,或者安装各种数据库的客户端程序直连等方式。
3、然后,在连接好数据库的基础上,使用USE命令打开数据库,接下来就可以使用DML数据操纵语言来使用数据库中的数据了。