数据库——关系数据模型与关系运算

关系模型概述

关系模型(Relational Model) 是由 E.F. Codd 在 1970年 提出的一种用于管理数据的数学模型,它是现代关系型数据库(如MySQL、PostgreSQL、Oracle等)的理论基础。

基本概念

关系模型是建立在严格数学概念基础上的,由关系数据结构、关系的完整约束性和关系操作集合构成。关系模型的核心思想是将数据组织成二维表(称为关系),并通过数学理论(如集合论和谓词逻辑)来定义和操作数据。

从集合论角度介绍基本概念:

域(Domain)

域(D)是一组具有相同数据类型的值的集合,是属性的取值范围,定义了属性的数据类型和约束。

基数(m):域中包含的值的个数。

eg:D={小麦、小米、水稻}      m=3     D是域的名字,“小麦、小米、水稻”是域中的值,基数是3

笛卡尔积(Cartesian Product)

笛卡尔积是一种基于域的运算集合,是关系代数中的一种基本操作,用于将两个表中的所有行进行组合,生成一个包含所有可能组合的新表。它在数据库查询中常用于多表连接操作。

关系(Relation)

关系是笛卡尔积的有限子集,所以关系也是个二维表,每行对应一个元组,每列对应一个域。

关系的性质

  • 关系中任意两个元组不能完全相同,每一个元组都是唯一的。
  • 元组的顺序无关性,任意元组的次序可以随意变换。
  • 列是同质的,即同一列中的属性值必须是同一种数据类型,出自同一个域。
  • 属性的顺序无关性。
  • 所有的属性值都必须取原子值,即每一个属性都不能再分。

关系模型

关系模型的三要素:关系数据结构、关系操作集合和关系完整性约束。

关系数据结构

数据的逻辑结构就是一张二维表。

关系操作

查询操作:并、交、差、选择、投影、除、连接等

更新操作:增加、删除、修改等

关系完整性约束

三类完整性:实体完整性、参照完整性、用户定义完整性。

关系的键与关系的完整性

在给定关系中,存在一个或一组属性,能够表示该关系的每一行或与另一个表产生联系,这样的属性我们称之为关系键。

候选键与主键

若关系中某一属性或最小属性组的值能够唯一标识一个元组,则称该属性或属性组为关系的候选键。一个关系中至少有一个候选键。

若一个关系有多个候选键时,从候选关系键中选择一个作为主键。每个关系都必须选择一个候选键作为主键,即每个关系都必须有且仅有一个主键。

关系的外键

设F是基本关系R的一个或一组属性,但不是关系的键,Ks是基本关系S的主键。如果F与Ks相对应,则称F是R的外键。 

关系的完整性约束

实体完整性

确保每个表中的记录(元组)都是唯一的,并且主键字段不能为空。

参照完整性

参照完整性要求一个表中的外键字段的值必须是另一个表中主键字段的有效值,或者为 NULL。

用户定义完整性

用户定义完整性是关系型数据库中的一种约束,允许用户根据具体的应用需求定义特定的规则和限制。这些规则可以确保数据的准确性和一致性,超出数据库系统默认提供的完整性约束(如实体完整性和参照完整性)。

从E-R模型到关系模型

E-R模型向关系模型的转换规则

  • 每个实体类型转换为一个关系(表)。
  • 实体的属性成为关系的属性(列)。
  • 实体的主键成为关系的主键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值