- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch22关系代数及关系约束
第二章 数据模型;2.3 在SQL中定义关系模式;2.3.1 SQL中的关系;2.3.2 SQL的基本数据类型;固定长度和可变长度字符串类型;固定或可变长度的位串;布尔类型和整型数据;近似数字类型;日期和时间类型;2.3.3 简单的表定义;2.3.4 修改关系模式;2.3.5 默认值;2.3.6 键的声明;PRIMARY KEY和UNIQUE的区别在于,声明为UNIQUE的属性集可以取NULL值,而PRIMARY KEY不能。;第二章 数据模型;关系操作的存取路径对用户隐蔽,用户只要指出“做什么”,不必详细说明“怎么做”。
常用的关系操作
查询
选择、投影、连接、除、并、交、差
数据更新
插入、删除、修改;关系数据语言的种类
关系代数语言
关系演算语言
关系数据库标准SQL;关系代数的传统定义
一个元组集合(即关系),能用来进行典型的基于关系的查询
集合上的五个操作:并、差、笛卡尔积、选择、投影
在这些基本操作上定义的附加操作,例如各种连接
关系代数的操作规则对于集合和包是不一样的
简单的说,包是以空间代价换取时间效率
所以对一般小例子来说,包的综合效率更高
但对实际应用中的数据库来说,用集合更加合理
2.4节的介绍针对集合,第5章介绍针对包;关系演算语言:用谓词来表达查询要求。
元组关系演算语言
谓词变元的基本对象是元组变量
典型代表:ALPHA, QUEL
域关系演算语言
谓词变元的基本对象是域变量
典型代表:QBE;结构化查询语言SQL
具有关系代数和关系演算双重特点
SQL语言的特点:
是一种高度非过程化的语言
存取路径的选择由DBMS的优化机制来完成
能够嵌入高级语言中使用
与关系代数和关系演算语言在表达能力上完全等价;关系代数语言
通过以下运算符对关系进行运算来表达查询要求
并、交、差等集合运算符;
除去某些行或列的操作。例如,选择σ、投影π
组合两个关系元组的操作。例如,笛卡尔积,连接 等
、、=、=、≠等比较运算符号;
与、或、非等逻辑运算符;
重命名操作符ρ。
将关系代数的表达式称为查询,关系代数语言的典型代表为ISBL查询语言。;集合
运算
符;专门的关系
运算符;符号表示如下:
(1) R,t?R,t[Ai]
设关系模式为R(A1,A2,…,An),它的一个关系设为R,t?R表示t是R的一个元组,t [Ai]则表示元组t中相应于属性Ai的一个分量。 ;(2) A,t[A], A
若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性列A上诸分量的集合。
A 则表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的属性组。 ;(3) tr ts
R为n目关系,S为m目关系。tr ?R,ts?S, tr ts称为元组的连接。它是一个n + m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。 ;(4) 象集Zx
给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(Images Set)为:
Zx={t[Z]|t ?R,t[X]=x}
它表示R中属性组X上值为x的诸元组在Z上分量的集合。 ;1. 并(Union);A;2. 交(Intersection);A;3. 差(Difference);A;P22 例2.8 假设关系R和S分别为MovieStar的两个关系实例,求它们的并、交、差运算结果。 ;2.4.5 投影;πtitle, year, length(Movies) =;2.4.6 选择;关系Movies如下图所示:;2.4.7 笛卡尔积;A;R × S= ;2.4.8 连接;自然连接
关系R和S的自然连接表示为R S。此操作仅把在R和S模式中有某共同属性,且此属性有相同值的元组配对。
结果关系中的元组称为连接元组,连接元组具有R和S连接的所有成分。连接元组示意见图2-15
例2.13,例2.14;自然连接
悬浮元组(dangling tuple)
在一个连接当中,如果一个元组不能和另外关系中的任何一个元组配对的话,就称其为悬浮元组
例2.13中S的(9, 10, 11)
共同属性为属性集合时的自然连接,必须是在共同属性集上取值一致的元组才能组合形成连接元组。;θ连接
定义
按照给定约束条件将两个关系中的元组进行配对连接的操作
过程
先计算两个关系的笛卡尔积
在上述结果中寻找满足约束条件的元组
重名属性通过附加前缀的办法进行处理;;A; 自然连接 R S= ;象集Zx
文档评论(0)