美文网首页
数据库Mooc笔记(3)关系模型

数据库Mooc笔记(3)关系模型

作者: 啦啦哇哈哈 | 来源:发表于2020-04-29 13:39 被阅读0次

    关系模型研究什么

    形象的说,一个关系就是一个Table,关系模型就是处理Table的,他有三个部分组成:
    (1)描述DB各种数据的基本结构形式(即描述这个Table)——数据结构
    (2)描述Table和Table之间所可能发生的各种操作(关系运算)——数据操作
    (3)描述这些操作所应遵循的约束条件(完整性约束)——完整性约束


    关系模型三要素:

    关系模型与关系数据库语言的关系

    关系运算:关系代数和关系演算
    关系演算:元组演算和域演算

    关系代数示例:基于集合的运算

    即:操作的对象以及结果都是集合,是一次集合的操作,而非关系型的数据操作通常是一次一记录的操作。

    元组演算示例:基于逻辑的运算
    域演算示例:基于示例的运算

    什么是关系

    为什么把“表”称为关系?怎样严格定义一个“表”?”表“和”关系“有什么异同?

    ”表“的基本构成要素

    ”表“的严格定义——关系

    (1)首先定义”列“的取值范围”域“



    (2)再定义”元组”以及所有可能组合成的元组:笛卡尔积




    (3)最后来看什么是关系?

    我们可以知道笛卡尔积中的所有元组并不是都有意义的,所以...
    把有某种意义的这些摘出来,称为关系。例如从上面的笛卡尔积的所有元组中抽出来家庭这个关系



    这个表里面的数据都是有家庭关系的。

    关系:`

    • 一组域D1,D2,...,Dn的笛卡尔积的子集
    • 笛卡尔积中具有某一方面意义的那些元组被称为一个关系
    • 由于关系的不同列可能来自同一个域,为区分,需要为每一列起一个名字,该名字即为属性名

    关系特性

    (1)列是同质:每一列中的分量来自同一域,是同一类型的数据;
    (2)不同列可以来自同一个域,称其中每一列为一个属性,不同的属性要给予不同的属性名;


    (3)列位置互换性:区分哪一列是靠列名;
    (4)行位置互换性:区分哪一行是靠某一或某几列的值;
    (5)基于(3)和(4),可以知道关系是以内容来区分的,而不是属性在关系的位置来区分。
    (6)属性不可再分特性(关系第一范式

    属性再分:复合属性和多值属性

    关系上的一些重要概念

    候选码/候选键

    主码/主键

    (1)当有多个候选码时,可以选定一个作为主码;
    (2)DBMS以主码为主要线索管理关系中的各个元组;

    主属性与非主属性

    包含在任何一个候选码中的属性被称为主属性,而其他属性则被称为非主属性。
    所有属性构成一个关系的候选码,称为全码关系。

    外码/外键

    关系R中的一个属性组,他不是R的候选码。但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键。


    表可以有重复元组,关系是集合的定义,不能有重复。


    关系模型中的完整性

    实体完整性

    参照完整性

    用户自定义完整性


    总结

    相关文章

      网友评论

          本文标题:数据库Mooc笔记(3)关系模型

          本文链接:https://www.haomeiwen.com/subject/tvkiwhtx.html