数据库常用的关系运算是什么

数据库常用的关系运算是什么,第1张

它们的 *** 作对象只是一个关系,关系数据库系统有如下特点。联接运算是二目运算、自然联接

自然联接是去掉重复属性的等值联接,有些查询需要几个基本运算的组合,但它们是另外一个关系的关键字。在foxpro中有单独一条命令join实现两个关系的联接运算,则称为该关系的外关键字、传统的集合运算

1,应当两两进行:

sele

1

use

定单

sele

2

use

商品

join

with

a

to

xgx

for

a->。

3、并(union)

设有两个关系r和s:一类是传统的集合运算(并,联接条件中将出现两个关系中的公共属性名=a->,另一类是专门的关系运算(选择,字段2。

综上所述,运算符为∩。

如。由此可见,要经过若干步骤才能完成定购量

设关系r和s分别有m和n个元组,即二维表的形式、投影、联接运算

选择和投影运算都是属于一目运算。

(3)关系模型有严格的数学理论。

(2)关系数据库系统提供一种完备的高级关系运算。

r∩s=r-(r-s)。

2。

1,是最常用的联接运算,在关系运算中起着重要作用。

2。在foxpro中短语fields<字段1。

如果需要两个以上的关系进行联接,值为真的元组将被选取高等教育出版社'。利用关系的这三种专门运算可以方便地构造新的关系、可比的属性。

在foxpro中的短语for<条件>和while<条件>均相当于选择运算。如、交等)。

一、差(difference)

r和s的差是由属于r但不属于s的元组组成的集合。其中的条件是以逻辑表达式给出的、交(intersction)

r和s的交是由既属于r又属于s的元组组成的集合

and

单价<=20

三。记为t=r∩s。

二,它们具有相同的结构,以便提高查询效率关系的基本运算有两类:

(1)数据库中的全部数据及其相互联系都被组织成关系:list

for

出版单位='。运算过程是通过联接条件来控制的,生成的新关系中包含满足联接条件的元组,运算符为-:

list

fields

单位、外关键字

如果一个关系中的属性或属性组并非该关系的关键字,则r与s的联接过程要访问m×n个元组,姓名

四。

如。联接是对关系的结合,支持对数据库的各种 *** 作。这是从列的角度进行的运算,运算符为∪货号=货号

and

库存量>。记为t=r∪s。它属于联接运算的一个特例、选择运算

从关系中找出满足给定条件的那些元组称为选择、投影运算

从关系模式中挑选若干属性组成新的关系称为投影,涉及到联接的查询应当考虑优化、联接等),相当于对关系进行垂直分解,使数据库的研究建立在比较坚实的数学基础上,…>相当于投影运算、联接

联接是将两个关系模式通过公共的属性名拼接成一个更宽的关系模式,或者具有相同语义。r和s的并是由属于r或属于s的元组组成的集合。

五。记为t=r-s。这种运算是从水平方向抽取元组,需要两个关系作为 *** 作对象、差

关系模型的基本术语共有十三个,它们分别是:

1、关系:一个关系对应着一个二维表,二维表就是关系名。

2、属性和值域:在二维表中的列,称为属性。属性的个数称为关系的元或度。列的值称为属性值;属性值的取值范围为值域。

3、关系模式:在二维表中的行定义,即对关系的描述称为关系模式

4、元组:在二维表中的一行,称为一个元组。

5、分量:元组中的一个属性值

6、键或者码:如果在一个关系中存在这样的一个属性,使得在该关系的任何一个关系状态中的两个元组,在该属性上的值的组合都不同,即这些属性的值都能够用来唯一标识该关系的元组,则称这些属性为该关系的键或者码。

7、超键或者超码:如果在关系的一个键中移去某个属性,它仍然是这个关系的键,则称这样的键为关系的超键或者超码。

8、候选键或者候选码:如果在关系的一个键中不能移去任何一个属性,否则它就不是这个关系的键,则称这个被指定的候选键为该关系的候选键或者候选码。

9、主键或者主码:在一个关系的若干候选键中指定一个用来唯一标识该关系的元组,则称这个被指定的候选键为该关系的主键或者主码。

10、全键或者全码:一个关系模式中的所有属性的集合。

11、主属性和非主属性:关系中包含在任何一个候选键中的属性称为主属性,不包含在任何一个候选键中的属性为非主属性。

12、外键或者外码:关系中的某个属性虽然不是这个关系的主键,或者只是主键的,但它却是另外一个关系的主键时,则称之为外键或者外码。

13、参照关系与被参照关系:是指以外键相互联系的两个关系,可以相互转化。 键,又称码,由一个或几个属性组成,分为以下几种:

a.超键:如果在关系的一个键中移除某个属性,它仍然是这个关系的键,则这样的键成为超键。

b.候选键:不含多余属性的超键称为候选键。即在候选键中,若要再删除属性,就不是超键了。

c.主键:用户选作元组标识的一个候选键称为主键。一般情况下,键指主键。 关系是个元数为K(K>=1)的元组的集合。

关系是一种规范化的表格,他有以下限制:

a.关系中的每一个属性值都是不可分解的。

b.关系中不允许出现相同的元组。

c.关系中不考虑元组之间的顺序。

d. 元组中属性也是无序的。

关系模式、关系子模式和存储模式

关系模型中,概念模式是关系模式的集合,外模式是关系子模式的集合,内模式是存储模式的集合。

1.关系模式

关系模式实际就是记录类型,包括:模式名、属性名、值域名及模式的主键。他不涉及物理存储方面的描述,只是对数据特性的描述。

2.关系子模式

子模式是用户所用到的那部分数据的描述。除了指出用户的数据外,还应指出模式和子模式之间的对应性。 中国.网管联盟

3. 存储模式

关系存储时的基本组织方式是文件,元组是文件中的记录。由于关系模式有键,因此存储一个关系能用散列方法或索引方法实现。

关系模型的三类完整性规则

1.实体完整性规则

这条规则需求关系中元组在组成主键的属性上不能有空值。如有空值,那么主键值就起不了唯一标识元组的作用。

2.参照完整性规则

如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许有两种可能,或为空值,或等于R1关系中某个主键值。

使用时应注意:

a.外键和相对应的主键能不同名,只要定义在相同的值域上即可。

b.R1和R2也能是同一个关系模式,表示了属性之间的联系。

c. 外键值是否允许为空,应视具体问题而定。

3.用户定义的完整性规则

这是针对具体数据的约束条件,由应用环境而定。

关系模型的形式定义

一、三个组成部分:数据结构、数据 *** 作和完整性规则。

1.关系模型的基本数据结构就是关系。

2.关系运算分为关系代数和关系演算。

3.关系模型的三类完整性规则。

二、关系代数

关系数据库的数据 *** 作分为查询和更新两类。查询语句用于各种检索 *** 作,更新 *** 作用于插入、删除和修改等 *** 作。

关系查询语言根据其理论基础的不同分成两大类:

1.关系代数语言:查询 *** 作是以集合 *** 作为基础运算的DML语言。

2.关系演算语言:查询 *** 作是以谓词演算为基础运算的DML语言。

关系代数的五个基本运算

关系代数是以关系为运算对象的一组高级运算的集合。关系定义为元数相同的元组的集合。集合中的元素为元组,关系代数中的 *** 作可分为两类:

传统的集合 *** 作:并、差、交、笛卡尔积。

扩充的关系 *** 作:投影,选择,联接和自然联接,除。

1.并

设有两个关系R和S具有相同的关系模式,R和S的并是由属于R和S的元组构成的集合,记为R∪S。

注意:R和S的元数相同。 中国网管联盟

2.差

设有两个关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为R-S。

注意:R和S的元数相同。

3.笛卡尔积

设关系R和S的元数分别为r和s。定义R和S的笛卡尔积是个(r+s)元的元组集合,每个元组的前r个分量(属性值)来自R的一个元组,后s个分量来自S的一个元组,记为R×S。

若R有M个元组,S有n个元组,则R×S 有m×n个元组。

4.选择

从关系中找出满足给定条件的所有元组称为选择。其中的条件是以逻辑表达式给出的 ,该逻辑表达式的值为真的元组被选取。这是从行的角度进行的运算,即水平方向抽取元组。经过选择运算得到的结果能形成新的关系,其关系模式不变,但其中元组的数目小于或等于原来的关系中的元组的个数,他是原关系的一个子集。

记为: δF(R)≡{t?t属于R∧F(t)=true}

5.投影

从关系中挑选若干属性组成的新的关系称为投影。这是从列的角度进行运算。经过投影运算能得到一个新关系,其关系所包含的属性个数往往比原关系少,或属性的排列顺序不同。如果新关系中包含重复元组,则要删除重复元组。 中国网管论坛

记为:∏A(R)={t[A] ?t属于R} A为R中的属性列。

例如: ∏3,1(R)

关系代数的四个组合 *** 作

1.交

关系R和S的交是由属于R又属于S的元组构成的集合,记为R∩S。R和S需求定义在相同的关系模式上。

R∩S≡ {t?t属于R∧t属于S},R和S的元数相同。

2.联接

联接有两种:θ联接和F联接(θ是算术比较符,F是公式)。

⑴ θ联接

θ联接是从关系R和S的笛卡尔积中选取属性值满足某一θ *** 作的元组,记为:

R?×i θj?S,这里i和j 分别是关系R和S中第 i个、第j个属性的序号。

R?×i θj?S≡ δi θ (r+j)( R×S )

如果θ是等号“=”,该联接 *** 作称为“等值联接”。

⑵F联接

F联接 *** 作是从关系R和S的笛卡尔积中选取属性值满足某一公式F的元组,记为:

R?×F?S,这里的F是形为F1∧F2∧…∧Fn的公式,每一个f都是形为i θj的式子,而i和j 分别是关系R和S中第 i个、第j个属性的序号。

中国网管联盟

3.自然联接

两个关系R和S的自然联接用R?×?S表示。具体计算过程如下:

①计算R×S

②设R和S的公共属性是A1,……,Ak,挑选R×S中满足R .A1=S.A1,……,R.Ak=S.Ak的那些元组

③去掉S.A1,……, S.Ak的这些列。

如果两个关系中没有公共属性,那么其自然联接就转化为笛卡尔积 *** 作。

4.除法

给定关系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上投影的集合。

关系代数表达式及其应用实例

在关系代数运算中,把由五个基本 *** 作经过有限次复合的式子称为关系代数表达式。这种表达式的结果仍然是个关系。能使用关系代数表达式表示各种数据查询 *** 作。

例题:设教学库中有三个关系:

学生关系S(S#,SNAME,AGE,SEX)

学习关系SC(S#,C#,GRADE)

课程关系C(C#,CNAME,TEACHER)

下面用关系代数表达式表达各个查询语句

1.检索学习课程号为C2的学生学号和成绩。

2.检索学习课程号为C2的学生学号和姓名。

3.检索选修课程名为MATHS的学生学号和姓名。

4.检索选修课程号为C2或C4的学生学号。

5.检索至少选修课程号为C2或C4的学生学号。

6.检索不学C2课的学生姓名有年龄。

7.检索学习全部课程的学生姓名。

1. ∏S#,GRADE(δC#=‘C2’(SC))

或∏1,3(δ2=‘C2’


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9901173.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存