关系数据库基本原理().pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关系数据库基本原理()

第二章 关系数据库 第二章 关系数据库系统 2.1 关系模型 关系模型是一种数据模型,它和一般的 数据模型一样,由如下三部分组成: 关系数据结构 关系操作集合 关系完整性约束 2.1.2 关系操作(续) 2) 常用的关系操作 数据库操作只实现对数据库中数据的“存”和“取” 主要有4种不同类型的操作 : 1.数据查询 2.数据插入 3.数据删除 4.数据更新 2.1.2 关系操作(续) 3) 关系数据语言的种类 关系数据库操作需要关系数据语言支持 关系模型给出了关系操作的能力和特点,但不对DBMS的语言给出具体的语法要求。 关系代数语言:用对关系的运算来表达查询要求 关系演算语言:用谓词来表达查询要求 结构化查询语言SQL 2.1.3 关系的完整性 关系模型的完整性规则是对关系的某种约束条件。 关系模型中三类完整性约束: 实体完整性 参照完整性 用户定义的完整性 实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。 1 实体完整性 实体完整性规则(Entity Integrity) 若属性A是基本关系R的主属性,则任何一个元组在属性A上不能取空值(Null)。 例如,学生(学号,姓名,性别,出生年月,籍贯,身高) 学生关系中,学号是主码,则任何一个元组在属性“学号”上不能取空值。 1 实体完整性(续) 关系模型必须遵守实体完整性规则的原因 (1)一个基本关系对应现实世界中的一个实体集。例如,雇员关系对应全体雇员的集合。 (2)现实世界中的实体是可区分的,即它们具有某种唯一性标识 (3)相应地,关系模型中以主码作为唯一性标识。 (4)主码中的属性即主属性不能取空值。 1 实体完整性(续) 注意:实体完整性规则规定基本关系的所有主属性都不能取空值 例:选修(学号,课程号,成绩) “学号、课程号”为主码,则两个属性都不能取空值。 2 参照完整性 关系间的引用 外码 参照完整性规则 关系间的引用 例子,假设我们具有如下两个关系: 学生(学号,姓名,性别,系别,年龄) 选课(学号,课程号,成绩) 这两个关系的属性之间存在着下图所示的引用关系,即 选课关系引用了学生关系的主码“学号”。 外码(Foreign Key) 如果基本关系R中某属性集F是基本关系S 的主码,则对基本关系R而言,F叫做外码 (Foreign Key),并称基本关系R为参照 关系(Referencing Relation),基本关系S 为被参照关系(Referenced Relation)或 目标关系(Target Relation)。 参照完整性规则(续) 同一关系内部属性间也可能存在引用关系。 例如在关系: 学生2(学号,姓名,性别,系别,年龄,班长) “班长”属性可以取两类值: 空值,表示该学生所在班级尚未选出班长; 非空值,这时该值必须是本关系中某个元组的学号值。 该例中学生2关系既是参照关系也是被参照关系。 3 用户定义的完整性 用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。(如触发器或存储过程) 用户定义的完整性(续) 例: 课程(课程号,课程名,学分) “课程名”属性必须取唯一值 非主属性“课程名”也不能取空值 “学分”属性只能取值{1,2,3,4} 2.3 关系代数 关系代数是过程化的查询语言,它包括一个运算集合。这些运算以一个或两个关系为输入,产生一个新的关系为结果。关系代数包含两类运算: 传统的集合运算,如并、交、差、广义笛卡儿积,这类运算将关系看成元组的集合,其运算是从关系的“水平”方向即行的角度来进行的。 专门的关系运算,如选择、投影、连接、除,这类运算不仅涉及行,而且涉及列。 小结:对于传统的集合运算 它是二目元算,其中R和S要求是同类关系(除广义笛卡尔积运算) 它能实现关系数据库的许多基本操作 并运算实现数据记录的添加 差运算实现数据记录的删除 数据记录的修改则是通过先删除,后插入这两步完成的 连接(jion): 等值连接和自然连接。二目运算。 1) θ连接:设有关系R和S,从R×S(广义笛卡尔积)中选取属性间满足一定条件的元组。 2)等值连接:A,B应出自相同的域,也就是说,A,B应可比较,当 取“=”时,等值运算 Thanks! 那么什么是关系模式呢? 程序设计语言 关系模型 数据类型 变量 值 关系模式 关系 关系实例 银行企业数据库的E-R图: account-number assets customer-name 图2-1

文档评论(0)

ipad0b + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档