• 数据库知识点总结


    第2章 关系数据模型

    1970年提出关系数据模型

    2.1.1 二维表与关系数据结构

    2.1.1.1 二维表的特点

    (1)每个表具有表名。
    (2)表由表头和若干行数据两部分构成。
    (3)表有若干列(也称字段),每列都有列名。
    (4)同一列的值必须取自同一个域。
    (5)每一行数据代表一个实体(或联系)信息。

    一个关系就是一个规范化的二维表。

    • 关系。一个关系(Relation)指一张二维表。
    • 元组=行=记录。一个元组(Tuple)指二维表中的一
    • 属性=列=字段。一个属性(Attribute)指二维表中的一,表中每列均有名称,即属性名。
    • 码。码(key)也称键、关键字、关键码,指表中可唯一确定元组的属性或属性组合。
    • 域。域(Domain)指属性的取值范围。
    • 分量。分量指元组中的一个属性值。
    • 关系模式。关系模式是对关系“型”的描述,表示为:关系名(属性1,属性2,…,属性n)。

    2.1.2 关系数据结构的形式化定义

    2.1.2.1 域(Domain)

    域是一组具有相同数据类型的值的集合。
    例:

    • 整数
    • 实数
    • 介于某个取值范围的整数
    • 字符串集合
    • {‘男’,‘女’}
    • 介于某个取值范围的日期

    2.1.2.2 笛卡尔积

    定义:给定一组域D1,D2,…,Dn,这些域中可以有相同的。
    D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di?Di,i=1,2,…,n}

    2.1.2.3 术语:元组、分量、基数

    • 元组(Tuple)
      笛卡尔积中每一个元素((d_1,d_2,…,d_n))称为一个n元组(n-tuple)或简称元组。
      如, (10010001,食品) 、 (10010001,服装)
      注意: 笛卡尔积中元组不能重复,元组之间无序。
    • 分量(Component)
      元组((d_1,d_2,…,d_n))中的每一个值(d_i)称为一个分量。
      元组的每个分量((d_i))是有序的。
    • 基数
      笛卡尔积所包含元组的个数

    2.1.3 关系的性质

    (1)列是同质的(Homogeneous)。
    (2)不同的列可以出自同一个域。
    (3)列序无关性。
    (4)任意两个元组不能完全相同。
    (5)行序无关性。
    (6)分量必须取原子值。

    2.1.4 关系模式

    关系模式形式化表示:
    R(U,D,dom,F)
    R 关系名
    U 组成该关系的属性名集合
    D 属性组U中属性所来自的域
    dom 属性向域的映象集合
    F 属性间的数据依赖关系集合
    关系模式简记为:
    R (U)
    关系模型的三要素是:关系结构、完整性、关系操作

    2.1.5 关系数据库

    关系数据库:在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。
    关系数据库的型:称为关系数据库模式,是对关系数据库的描述.
    关系数据库的值:是各关系模式在某一时刻对应的关系的集合,简称为关系数据库.

    2.1.6 码

    • 候选码(Candidate key):具有唯一性,最小性
    • 主码(Primary key):若一个关系有多个候选码,则选定其中一个为主码。
    • 主属性(Prime attribute):候选码的属性称为主属性。
    • 非主属性(Non-key attribute):不包含在任何侯选码中的属性称为非主属性。
    • 外码:如果关系R1的属性或属性组K不是R1的主码,而是另一关系R2的主码,则称K为关系R1的外码。

    2.2 关系操作

    2.2.1 基本关系操作

    查询、更新

    2.2.2 关系数据语言分类

    2.2.3 关系代数

    关系代数运算:并、差、交、笛卡尔积、投影、选择、连接、除
    基本运算:并、差、笛卡尔积、投影、选择

    2.2.3.1 并运算

    对R和S的要求:

    • 具有相同的目数n
    • 相应的属性取自同一个域

    2.2.3.2 差运算

    对R和S的要求:

    • 具有相同的目数n
    • 相应的属性取自同一个域

    2.2.3.3 交运算

    对R和S的要求:

    • 具有相同的目数n
    • 相应的属性取自同一个域

    2.2.3.4 广义笛卡儿积

    • R:n目关系,(k_1)个元组
    • S:m目关系,(k_2)个元组
    • R×S:
      • 列:(n+m)列的元组的集合
        • 元组的前n列是关系R的一个元组
        • 后m列是关系S的一个元组
      • 行:k1×k2个元组

    2.2.3.5 选择

    • 选择又称为限制(Restriction)
    • 选择运算是从行的角度进行的运算
    • 选择运算符的含义:在关系R中选择满足给定条件的诸元组
      (σ_F(R) = { t | t∈R∧F(t)= ' ext{真}'})

    2.2.3.6 投影

    • 投影运算符的含义:–从R中选择出若干属性列组成新的关系
      (pi _A(R) = { t | t∈R∧F(t)= ' ext{真}'})
    • 选择运算是从列的角度进行的运算

    2.2.3.7 连接

    • 连接也称为θ连接
    • 连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元组 $
      overset {R owtie S}{A heta B}$
    • 一般的连接操作是从行的角度进行运算。
    2.2.3.7.1 等值连接

    θ为“=”的连接运算称为等值连接
    等值连接的含义:从关系R与S的广义笛卡尔积中选取A、B属性值相等的元组

    2.2.3.7.2 自然连接

    自然连接是一种特殊的等值连接

    • 两个关系中进行比较的分量必须是相同的属性组
    • 在结果中把重复的属性列去掉
    • 自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。
    2.2.3.7.3 外连接

    如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接称为外连接。

    2.2.3.7.3

    如果只把左边关系R中要舍弃的元组保留称为左外连接。

    2.2.3.7.3 右外连接

    如果只把右边关系S中要舍弃的元组保留称为右外连接。

    2.2.3.8 除运算

    除法运算同时从行和列的角度进行运算,在表达某些查询时有用,适合于包含“全部”之类的短语的查询。
    例如,“查询已选修了所有课程的学生姓名”。

    • 象集:给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(Image Set)为:(Z_x={ t[Z] | t ∈R=,t[X]=x })
      运算步骤:
      1.将被除关系属性分为象集属性和结果属性;
      2.对象集属性进行投影—>目标数据集;
      3.将被除关系分组:结果属性值相同的元组分为一组;
      4.找出结果集。

    2.3 关系完整性

    2.3.1 实体完整性

    主属性不能取空值。

    2.3.2 参照完整性

    若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码(K_s)相对应。
    则对于R中每个元组在F上的值必须等于S中某个元组的主码值。

    2.3.3 用户定义完整性

    用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。

  • 相关阅读:
    hibernate笔记--实体类映射文件"*.hbm.xml"详解
    struts2学习笔记--使用struts2插件实现ajax处理(返回json数据)
    struts2学习笔记--使用servletAPI实现ajax的一个小Demo
    Struts2学习笔记--使用Response下载文件和Struts2的StreamResult文件下载
    struts2学习笔记--上传单个和批量文件示例
    struts2学习笔记--拦截器(Interceptor)和登录权限验证Demo
    struts2学习笔记--使用Validator校验数据
    struts2学习笔记--OGNL表达式1
    easyui dialog 扩展load
    easyui filter 过滤时间段
  • 原文地址:https://www.cnblogs.com/shy-/p/9044852.html
Copyright © 2020-2023  润新知