第3章关系数据库(第3、4讲).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文档。上传文档
查看更多
第3章关系数据库(第3、4讲)

学生(学号,姓名,性别,专业号,年龄) 课程(课程号, 课程名, 学分) 选修(学号, 课程号, 成绩) 学生(学号,姓名,性别,专业号,年龄,班长) 例2: 学生、课程、学生与课程之间的多对多联系 学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 例3 学生实体及其内部的一对多联系 学生(学号,姓名,性别,专业号,年龄,班长) 外码(续) [例1]:学生关系的“专业号”与专业关系的主码“专业号”相对应 “专业号”属性是学生关系的外码 专业关系是被参照关系,学生关系为参照关系 外码(续) [例2]: 选修关系的“学号” 与学生关系的主码“学号”相对应 选修关系的“课程号”与课程关系的主码“课程号”相对应 “学号”和“课程号”是选修关系的外码 学生关系和课程关系均为被参照关系 选修关系为参照关系 外码(续) [例3]:“班长”与本身的主码“学号”相对应 “班长”是外码 学生关系既是参照关系也是被参照关系 外码(续) 关系R和S不一定是不同的关系 目标关系S的主码Ks 和参照关系的外码F必须定义在同一个(或一组)域上 外码并不一定要与相应的主码同名 当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的主码值 参照完整性规则(续) [例1]: 学生关系中每个元组的“专业号”属性只取两类值: (1)空值,表示尚未给该学生分配专业 (2)非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配一个不存在的专业 参照完整性规则(续) 〔例2〕:选修(学号,课程号,成绩) “学号”和“课程号”可能的取值 : (1)选修关系中的主属性,不能取空值 (2)只能取相应被参照关系中已经存在的主码值 参照完整性规则(续) 例3〕: 学生(学号,姓名,性别,专业号,年龄,班长) “班长”属性值可以取两类值: (1)空值,表示该学生所在班级尚未选出班长 (2)非空值,该值必须是本关系中某个元组的学号值 用户定义的完整性(续) 例: 课程(课程号,课程名,学分) “课程号”属性必须取唯一值 非主属性“课程名”也不能取空值 “学分”属性只能取值{1,2,3,4} 关系运算综合练习 参照完整性规则 用户定义的完整性 例: 类型与长度限制:方便计算机操作 取值范围限制:防止属性值与应用语义矛盾 用户定义的完整性也称为域完整性或语义完整性,是针对某一具体应用领域而定义的数据库约束条件。它反映某一具体应用所涉及的数据必须满足的应用语义要求。 用户定义的完整性即限制关系中属性的取值类型和取值范围,防止属性的值与应用语义矛盾。 关系操作 传统的关系运算: 并(Union)、交(Intersection) 差(Difference) 广义笛卡尔积(Extended Cartesian Product) 专门的关系运算: 选择(Select)、投影(Project) 连接(Join)、除(Divide) 有关的数据运算: 查询(Query)、插入(Insert) 删除(Delete)、修改(Update) 关系操作是基于集合的操作,操作对象和操作结果都是集合(二维表,即关系)。 集合处理能力是关系系统区别于其他系统的一个重要特征。 关系操作是高度非过程化的,即: 用户不必关心数据的存取路径和存取过程,用户只需提出数据请求,数据库管理系统就会自动完成用户请求的操作; 用户不必编写程序代码来实现对数据的重复操作。 关系操作 由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发DBMS的难度。 关系代数是关系操作语言的一种传统的表示方式,它是一种抽象的查询语言。 关系代数中的运算符可分为四类: 集合运算符、专门的关系运算符、比较运算符和逻辑运算符。 其中比较运算符和逻辑运算符用于配合专门的关系运算符来构造表达式。 关系代数 关系运算符 除 ÷ 连接 投影 ∏ 选择 σ 专门的关系运算 广义笛卡尔积 × 差 - 交 ∩ 并 ∪ 传统的集合运算 含义 运算符 改错 关系运算符 或 ∨ 与 ∧ 非 ? 逻辑运算符 大于等于 ≥ 小于等于 ≤ 不等于 ≠ 等于 = 小于 大于 比较运算符 含义 运算符 传统的集合运算是二目运算,设关系R和S均是n元关系,且相应的属性值取自同一个值域,则可以定义三种运算: 并运算(∪) 交运算(∩) 差运算(―) 传统的集合运算 并运算 关系R与关系S的并记为: R

文档评论(0)

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

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

1亿VIP精品文档

相关文档