《数据库系统概论》---第二章 关系数据库


一、概述


1.关系模型的组成

     数据结构:二维表(关系),数据库中全部数据以及数据间的联系都以关系来表示。
     数据操作:增、删、改、查
     数据的约束条件:实体完整性,参照完整性,用户自定义的完整性。


2.关系的数据结构


     
     ·是一组既有相同数据类的值的集合,又称值域。
     ·域中所包含值的个数称为域的基数。

     笛卡尔积
     ·所有域的所有取值的一个组合;不能重复
     ·笛卡尔积的表示方法
          笛卡尔积可表示为一个二维表
          表中的每行对应一个元祖,表中的每一个列对应一个域

     关系
     R(D1,D2,...Dn)
     R:关系名    n:关系的目或度
  

     表的每一行对应一个元组,表的每一列对应一个域。由于域可以相同,为了加以区分,必须对每一列起一个名字,称为属性。n目关系必有n个属性。

     --元祖
     关系中的元素是关系中的元祖,通常用t表示。
     --关系的表示
     关系也是一个二维表,表的每行对应一个组,表的每一列对应一个域。
     --属性
     关系中不同的列可以对应相同的域

3.定义关系模式

     R(U, D, DOM, F)
          R    关系名
          U    组成该关系的属性名集合
          D    属性组U中属性所来自的域
          DOM  属性向域的映像集
          F    属性间的数据依赖关系

     可简记为 R(U) 或 R(A1,A2,...,An)
     A1,A2,...,An  属性名

   关系模式
     ·关系模式是型,是稳定的
     ·关系是值 ,是动态的,随时间不断变化的
     ·关系模式是对关系的描述
   
   三类关系
     ·基本关系
     实际存在的表,是实际存储数据的逻辑表示
     ·查询表
     查询结果对应的表
     ·视图表
     由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。

   
   基本关系的性质
      ·列是同质的
      ·不同的列可出自同一个域,其中每一个列称为一个属性,不同的属性要给与不同的属性名
      ·列的顺序无所谓,列的次序可以交换
      ·任意两个元祖的候选码不能相同
      ·行的顺序无所谓,行的次序可以交换
      ·分量必须取原子值

4.基本关系操作


      查询:选择、投影、选择、除、并、交、差
      数据更新:插入、删除、修改
      查询的表达能力是其中最重要的部分
      选择、投影、并、差、笛卡尔积是5种最基本的操作 

   关系操作的特点
     集合操作方式:操作的对象和结果都是集合,一次一集合的方式

   

二、关系的完整性


      
     ·候选码
     若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。
     简单的情况:候选码只包含一个属性
     ·全码     
     最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码
     ·主码
     若一个关系有多个候选码,则选定其中的一个作为主码。每个关系必定有且一个主码。
     ·外码
     设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码。
     (基本关系R称为参照关系;基本关系S称为被参照关系或目标关系)

  三类完整性约束
     实体完整性、参照完整性、用户自定义完整性
     

1.实体完整性


     实体完整性必须满足
     a.主属性非空;b.主码各不相同

2.参照完整性


     如果关系R2的外码F与R1的主码p相对应,则R2中的每一个元祖在F上的取值:
     a.或者为空值;b.或者等于R1中某个元组的p值

3.用户自定义的完整性


     用户针对具体的应用环境定义的完整性约束条件。
     例如:“成绩”不能为负数,“性别”要求取值为“男”或“女”,“工龄”应该小于“年龄” 等。

     

三、关系代数

     关系代数:将关系作为运算单位,用关系代数表达式表示的代数运算。
     关系操作:传统的集合运算和专门的关系运算

1.传统的集合运算


     除笛卡尔积外,要求参加运算的关系必须具备相容性
     定义:设给定两个关系R、S,若满足:
            (1) 具有相同的度n,
            (2) R中第i个属性和S中第i个属性来自同一个域,则说关系R、S是相容的


     a.并 

     

     b.差
     R和S具有相同的目n,相应的属性取自同一个域。
     R-S :仍为n目关系,由属于R且不属于S的元组组成。

     

     c.交 

    

     d.笛卡尔积  R X S
     R:n目关系,k1个元组 S:m目关系,k2个元组
     R X S:
     列:(m+n)列元祖; 行:k1 X k2 个元组
    

2.专门的关系运算


     a.选择;

     选择操作是根据某些条件对关系做水平分割,即选取符合条件的元组构成结果关系。

     b.投影;

     关系R上的投影是从R中选出若干属性列组成新的关系。

     ·特征:
     1) 在单个关系上进行
     2) 从列的角度进行运算
     3) 投影的列可按自己的要求的顺序排列

     ·作用:
     在关系中选择某些需要的列,并按要求组成一个新关系。


     
     注意:投影后取消了某些属性列后,就可能出现重复行,应该删除这些完全相同的行。所以投影之后,不但属性减少了,元组也可能减少。

     c.连接;      
     连接运算是从两个关系的笛卡尔积中选取满足连接条件的元组
     记作:
     其中A 和B 分别为 R 和 S 上度数相等且可比的属性组。θ是比较运算符(> ≥ = < ≤ ≠)。

     运算步骤:
       1) 求笛卡尔积 R×S
       2) 选择其中满足AθB的元组

     特征:
       1) 两个关系参加运算,不一定有公共属性
       2) θ为“=”时,称为等值连接
       3) 结果关系中不去掉重复属性

    

     d.自然连接
     自然连接与等值连接的区别:
     自然连接中相等的分量必须是相同的属性组,并且要在结果中去掉重复的属性

    

     e.除法



  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值