【数据库】关系数据模型

在这里插入图片描述

一、关系数据结构

1.1 相关概念

  • 关系模型建立在集合代数的基础上

  • 是一组具有相同数据类型的值的集合

  • 笛卡尔积:所有域的所有取值的一个组合
    在这里插入图片描述

    • 不能重复
    • 表中的每行对应一个元组
    • 表中的每列对应一个
      在这里插入图片描述
  • 关系:笛卡尔集的子集

    • 关系也是一个二维表关系本质就是一张二维表
    • 表的每行对应一个元组
    • 表的每列对应一个域
      在这里插入图片描述
  • 码(键):由一个或多个属性组成

    • 候选码(Candidate Key):能够唯一标识表中每一行的属性或属性组。
    • 主属性(Prime Attribute):候选码的属性
    • 主码(Primary Key):从候选码中选出的一个,用于唯一标识每一行。
    • 全码(All-key):关系的所有属性是这个关系的候选码
    • 外码:如果一个关系R中的一个属性F对应着另一关系S的主码K,那么F在关系R中称为外码
      在这里插入图片描述
  • 关系模式:是对关系的描述 eg.学生(学号,姓名 ,年龄,性别,籍贯)

关系模式与关系的区别

特性关系模式关系
定义关系的结构描述(表头)关系的具体实例(数据)
内容属性名、数据类型、约束具体的元组(行)
状态静态的动态的(数据会变化)
类比类似于“表格的框架”类似于“表格中的数据”
示例Student(StudentID, Name, Age, Department)具体的学生数据(如 Alice, Bob 的记录)
  • 关系数据库:在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。 例:教学管理数据库中有四个关系:教师关系T,课程关系C,学生关系S,选课关系SC
  • 关系数据库模式是关系数据库的型,是对关系数据库的描述
    在这里插入图片描述

1.2 三类关系

  • 基本关系(基本表或基表):实际存在的表,是实际存储数据的逻辑表示

    • 列是同质的:每一列中的分量是同一类型的数据,来自同一个域
    • 不同的列可出自同一个域,其中的每一列称为一个属性,不同的属性要给予不同的属性名
    • 列的顺序无所谓
    • 任意两个元组不能完全相同
    • 行的顺序无所谓
    • 分量必须取原子值
      在这里插入图片描述
  • 查询表:查询结果对应的表

  • 视图:由基本表或其他视图导出的表,是虚表不对应实际存储的数据

二、关系操作

  • 常用的关系操作:查询、插入、删除、修改
  • 关系操作的特点: 集合操作方式
  • 关系数据语言的种类
    • 关系代数语言
    • 关系演算语言
    • 具有上两者双重特点的语言.如 SQL
  • 关系数据语言的特点
    • 是一种高度非过程化的语言
    • 能够嵌入高级语言中使用

三、完整性约束

  • 关系模型的完整性规则是指对关系的某种约束条件

  • 关系模型中三类完整性约束

    • 实体完整性
    • 参照完整性
    • 用户定义的完整性
  • 实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持

3.1 实体完整性

  • 定义:实体完整性规则是针对 基本关系(Base Relation) 而言的,它要求 主属性(Primary Attribute) 不能取空值(NULL)。

  • 实体完整性规则的必要性
    • 唯一标识:主码的唯一性确保了每个实体或联系在关系中是唯一的。
    • 避免歧义:现实世界中的实体和实体间的联系都是可区分的,即它们具有某种唯一性标识。如果主属性允许空值,可能会导致多个元组无法区分,从而破坏关系的唯一性。
    • 数据一致性:实体完整性规则是确保数据一致性和正确性的重要约束。

3.2 参照完整性

  • 定义:参照完整性规则就是定义外码与主码之间的引用规则。 外码的取值必须为:空值或者被参照表中某个元组的主码值
    在这里插入图片描述

3.3 用户定义的完整性

  • 定义:用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XiYang077

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值