- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二单元关系代数
An Introduction to Database Systems 第二章 关系代数 2.1 概述 2.2 关系代数操作 2.3 关系演算 2.4 查询优化 关系数据库简介 提出关系模型的是美国IBM公司的E.F.Codd 1970年提出关系数据模型 E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, 《Communication of the ACM》,1970 之后,提出了关系代数和关系演算的概念 1972年提出了关系的第一、第二、第三范式 1974年提出了关系的BC范式 1981年关系数据库软件产品SQL/DS和INGRES问世 第2章 关系模型概述 关系数据库系统具有独特的风格,概括起来有以下五个特点。 (1)简单明了的数据模型。 (2)具有严谨的理论基础。 (3)实体表示方法和实体之间联系的表示方法一致。 (4)处理多对多的联系方便。 (5)使用的关系数据语言功能强大。 关系模型概述 关系模型是关系数据库的基础。关系模型由数据结构、关系操作集合和完整性约束三部分组成。 (1) 关系数据结构 关系模型的数据结构非常单一,在用户看来,关系模型中数据的逻辑结构是一张二维表。但关系模型的这种简单的数据结构能够表达丰富的语义,描述出现实世界的实体以及实体间的各种联系。 (2) 关系操作 关系操作采用集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一个集合的方式。 关系模型中常用的关系操作有两类,一是查询操作,包括选择、投影、连接、除、并、交、差等;二是增、删、改操作。 表达(或描述)关系操作的关系数据语言可以分为三类,具体分类情况如下: (2) 关系操作 (1)关系代数 关系代数是用对关系的运算来表达查询要求的方式。 (2)关系演算 关系演算是用谓词来表达查询要求的方式。 (3)介于关系代数和关系演算之间的语言SQL(Standard Query Language) (3) 完整性约束 关系模型提供了丰富的完整性控制机制,允许定义三类完整性:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。 关系数据结构 因为关系模型是建立在集合代数的基础上的,所以本节从集合论角度给出关系数据结构的形式化定义。 2.2.1 数学定义 关系的理论基础是集合代数理论。关系通常用二维表来表示,现用集合代数给出关系的定义。 数学定义 【定义2-1】域(Domain)是值的集合。 例如,整数、实数、{A,B,C}、长度小于15个字节的字符的集合、大于0且小于100的正整数等等都可以是域。 在关系数据库中,域可以命名。例如: 姓名={张力,李红,王芳,刘吉} 职称={高工,工程师,助工,技术员} X={男,女} 其中,姓名、职称、X称为域名,姓名域和职称域各有4个值,X域有2个值,一般称它们的基数分别为4、4、2。 数学定义 【定义2-2】给定一组域D1,D2,…,Dn,则D1×D2×…×Dn={(d1,d2,…,dn)|d1∈Di,i=1,2,…,n}称为D1,D2,…,Dn的笛卡尔积。其中每个(d1,d2,…,dn)叫做一个n元组,元组中的每个di是Di域中的一个值,称为一个分量。 若Di (i=1,2,…,n)为有限集,其基数(Cardinal Number)为m i (i=1,2,…,n),则D1×D2×…×Dn 的基数为: m=∏ mi 其中,m=笛卡尔积的基数; mi=第i个域的基数; n=域的个数。 笛卡尔积 已知关系R和关系S,如下图: 笛卡尔积 关系的数学定义 【定义2-3】给定一组域D1,D2,…,Dn,则D1×D2×D3的子集称为在D1×D2×…×Dn上的关系(Relation),记做R(D1,D2,…,Dn),其中,R为关系名,n为关系R的度(Degree)或目。 关系代数概述 关系代数的所有操作都有S
文档评论(0)