分享
 
 
 

关系模型、关系代数、关系演算

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

一、关系模型

•关系模型是1970年由E.F.Codd提出的。与层次、网状模型相比,它有以下特点:

1.数据结构简单―二维表格

2.扎实的理论基础。

a.关系运算理论

b.关系模式设计理论

关系模型的基本概念

•用二维表格结构表示实体,外键表示实体间联系的数据模型称为关系模型。

•介绍二维表格中的术语,体系结构,完整性约束和关系模型的形式定义。

• 二维表格的基本术语

1.二维表格

关系模型中,字段称为属性,字段值称为属性值,记录类型称为关系模型。关系模式名是R。记录称为元组,元组的集合称为关系或实例。一般用大写字母A、B、C、……表示单个属性,用小写字母表示属性值。关系中属性的个数称为“元数”,元组的个数称为“基数”。例子的关系元数为5,基数为2。有时也称关系为表格,元组为行,属性为列。

2.键

键由一个或几个属性组成,分为以下几种:

a.超键:在关系中能惟一标识元组的属性集称为关系模式的超键。

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

c.主键:用户选作元组标识的一个候选键称为主键。一般情况下,键指主键。

3.关系的定义和性质

关系是一个元数为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’

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有