数据库系统原理(二)

关系数据库

关系数据结构及形式化定义

  • 关系模型是建立在集合代数的基础上的
  • 域:一组具有相同数据类型的值的集合
  • 笛卡尔积:是在域上的一种运算
  • 关系:关系是笛卡尔积的有限子集,是一张二维表,每对应元组,每对应属性

关系的本质就是集合

  • 码(键):如果一个属性能够唯一的标志一个元组,则这个属性就是一个码
  • 候选码:如果一个码就是最小超码,将它称为候选码
  • 主码:当有多个候选码时,选定一个为主码,由用户明确定义,通常用下划线表示
  • 外码:表B的主键出现在了表A中,这个主键称为外键
  • 参照关系:表A
  • 被参照关系(目标关系):表B

参照关系中的外码的值在被参照关系中必须实际存在或者为空

  • 全码:关系模式的所有属性都是这个关系模式的候选码 53
  • 关系的三种类型:基本关系,查询表和视图表

关系的每个分量必须是不可分割的数据项

  • 在关系数据库中,关系是型,关系是值

关系操作

  • 关系模型的基本操作:查询,插入,删除和修改
  • 关系数据模型操作方式称为一次一集合方式,非关系数据模型的数据操作方式称为一次一记录的方式
  • 关系数据语言的分类:关系代数和关系演算
  • SQL:介于关系代数和关系演算之间的结构化查询语言,是关系数据库的标准语言

关系的完整性

  • 关系模型的三类完整性约束:实体完整性,参照完整性,用户定义完整性
  • 实体完整性
  • 规则:若属性a是基本关系r的主属性,则a不能取空值
  • 参照完整性
  • 参照关系和被参照关系
  • 规则:学生的专业号只能取空值和非空值(必须是已有的某个专业)
  • 用户定义完整性
  • 由用户根据实际情况来加约束条件

关系代数

  • 关系代数:是一种抽象的查询语言,用对关系的运算来表达查询
  • 运算三要素:运算对象,运算符,运算结果
  • 关系运算:选择,投影,连接,除运算等
  • 选择:根据条件选择出符合的元组
  • 投影:根据需求提出所需的属性,删除其他属性,对表来说是按列操作
  • 合并:根据需求合并所需的属性

连接操作的条件:两个关系的属性数目要相同,且元组是同一个类型(不能把int和string进行连接)

  • 差:在关系A中去除关系B出现的属性

差运算操作的条件和连接操作一样

  • 笛卡尔积:将关系A和关系B进行笛卡尔积之后组成一个新关系

笛卡尔积操作的要求:关系A和关系B的属性要不同名,如果同名必须重新命名

  • 复合:将上述操作进行复合运算
  • 更名:对关系表达式或者关系的属性重命名
    ------------------------------------------------------附加运算---------------------------------------------------------
  • 交:两关系的公共部分

交运算的条件:两关系同元,属性域可兼容

  • (theta)连接:从两个关系的笛卡尔积中选取满足条件的元组,条件由用户自己指定
  • 自然连接:
    在这里插入图片描述
  • 自然连接操作的条件:两关系必须含有同名同域属性,连接两关系中同名属性值相等的元组,运算结果是两个属性集的并集,但要消去重名属性
  • 悬浮元组:在自然连接中被舍弃的元组
  • 外连接:将悬浮元组加上,保留左边的叫左外连接,保留右边的叫右外连接
    ,运算结果是两个属性集的并集,但要消去重名属性
  • 悬浮元组:在自然连接中被舍弃的元组
  • 外连接:将悬浮元组加上,保留左边的叫左外连接,保留右边的叫右外连接
  • 除运算:关系A除以关系B得到关系C,则关系C中包含所有在A中不在B中的属性及其值,且B,C的元组组合均在A中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值