- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3讲 关系代语言
关系语言 关系操作特点: 操作对象和结果都是集合 高度非过程化的语言,不必借助循环结构就可以完成数据操作,能嵌入高级语言中使用 关系模型语言 关系代数语言 把关系当作集合,用集合运算和特殊的关系运算来表达查询要求和条件 是一种抽象的查询语言 关系演算语言 用谓词来表达查询要求和条件 谓词变元的基本对象可以是元组变量或域变量,故可分为元组关系演算和域关系演算两类 是一种抽象的查询语言 SQL 介于关系代数和关系演算之间 集DDL、DML和DCL一身的关系数据语言 关系数据库 在给定应用领域中,所有表示实体及实体之间联系的关系的集合构成一个关系数据库 关系数据库也有型和值之分 2.3 关系的完整性 实体完整性 参照完整性 用户定义完整性 实体完整性和参照完整性是关系模型必须满足的,被称作关系的不变性,由关系数据库系统自动支持 实体完整性 规则:若属性A是基本关系R的主属性,则属性A不能取空值 说明:基本关系的主码中的任何属性都不能取空值,而不仅是主码整体不能取空值 依据:现实世界的实体是唯一可分的 例:学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 参照完整性 参照完整性 定义:外码 设F是参照关系R的一个或一组属性,但不是R的码,若F与被参照关系S的主码相对应,则称F是R的外码(详细定义见教材P54) 规则:参照关系R中每个元组在外码F上的值必须为: 或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的主码值 用户定义完整性 用户定义的、具体应用中的数据必须满足的约束条件 成绩:0-100之间 身份证、身份证和生日对应关系 2.4 关系代数 关系代数语言 用传统的集合运算和专门的关系运算来表达查询的抽象语言 关系代数运算符 关系代数表达式 关系代数中有限次运算复合后形成的式子 表示记号 R,t?R,t[Ai],A,t[A], A 设关系模式为R(A1,A2,…,An),它的一个关系设为R t?R表示t是R的一个元组 t[Ai]则表示元组t中相应于属性Ai的一个分量 若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,则A称为属性列或域列 t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性列A上诸分量的集合 A 则表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的属性组 传统的集合运算 若R和S是同类关系(即它们都具有n个属性且相应属性取自同一个域),则可进行并、差、交运算。对两者进行集合运算之前,要对两者的属性列进行排序,保证两个关系的属性顺序相同。 表示记号 tr ts R为n目关系,S为m目关系 tr ?R,ts?S, tr ts称为元组的连接。它是一个n + m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组 传统的集合运算 广义笛卡尔积 R X S,其关系模式是R和S的模式的并集,是R和S的元组以所有可能的方式组合起来。当R和S有同名的属性,至少要为其中一个属性重新命名。 数学描述:若关系R有k1个元组n个属性,关系S有k2个元组m个属性,则两个关系的广义笛卡尔积有k1 * k2个元组n+m个属性(前n个属性来自于R,后m个属性来自于S) 专门的关系运算:选择 记号:t?R表示t是R的一个元组 选择 从关系R中选取使逻辑表达式F为真的元组,行选。记作 逻辑表达式F由逻辑运算符连接算术表达式,算术表达式基本形式为 X1 ? Y1 其中?表示比较运算符,X1,Y1是属性名或常量或简单函数,属性名可以用它的序号来代替 1)选择运算例 关系代数:投影 定义:从关系R中选择出满足条件F的若干属性列并组成新的关系,列选 其中 表示元组t中相应于属性Ai的一个分量。 注意:运算结果要去掉重复元组。 关系代数:连接 连接 从关系R和S的笛卡尔积中选取属性间满足条件的元组 其中A和B分别是关系R和S上可比的属性组, 是比较运算符 等值连接 从关系R和S的笛卡尔积中选取A,B属性值相等的元组 自然连接 特殊的等值连接,R和S具有相同的属性组B,在结果中去掉重复的属性列 连接 θ连接(包含等值连接):先将R和S做笛卡积,然后从R×S的元组中选择满足条件C的元组集合。 自然连接:假设A1、A2、……An是R和S的模式中的公共属性,那么如果R的元组r和S的元组s在这些属性上取值都相同,r和s组合而成的元组就归入该自然连接中。 一般的连接操作是从行的角度进行运算,自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。 关系
文档评论(0)