关系模型知识点总结(2)—— 关系完整性约束&关系操作基础

简介: 关系模型应提供定义和检验这类完整性机制,以便用统一的系统方法处理他们,而不需要由应用程序承担

一、前言


本文将总结有关关系完整性约束和关系操作的知识点


二、概述


83732d63c7e244df93673ebc6281d46a.png


  • 关系模型的完整性规则是对关系的某种约束条件
  • 目的:保证数据库中数据的正确性和相容性
  • 实体完整性和参照完整性是关系模型必须满足的完整性约束条件,称为关系的两个不变性


三、实体完整性


1.定义


  • 主码的值不能为空或者部分为空
  • 空:不知道/不存在/无意义的值


列如:


1.学生(学号,姓名,性别,专业号)这个关系中学号是主码,那么学号就不能为空

2.学生课程(学号,课程号,成绩)这个关系中学号+课程号是主码,那么学号和课程号都不能为空


2.说明


  • 实体完整性规则是针对基本关系而言的
  • 现实世界中实体是可区分的
  • 关系模型中以主码为唯一性标识
  • 主码中属性不能取空值


四、参照完整性


1.定义


如果属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须:


  • 或取空值(F中每个属性都为空值)
  • 或等于S中某个元组的主码值


2.说明


例如:给出如下两种关系


专业信息表


专业号 专业名称
zy01 软件工程
zy02 物联网工程
zy03 计算机科学与技术
zy04 信息系统与信息管理


学生信息表


学号 姓名 专业号
001 张三 zy03
002 李四
003 王五


从上一篇文章【关系模型知识点总结(1)—— 关系数据结构】中的有关【外码】的知识点可以知道:专业号是学生关系中的外码,所以在学生关系中的专业号这个属性的值要么为空:没有专业,要么不为空:填入专业关系中的专业号的值(zy01/zy02/zy03/zy04)


五、用户定义完整性


  • 针对某一具体关系数据库的约束条件,反应某一具体应用所设计数据必须满足的语义要求
  • 关系模型应提供定义和检验这类完整性机制,以便用统一的系统方法处理他们,而不需要由应用程序承担


六、关系操作


1.基本关系操作


  • 查询
  • 插入
  • 删除
  • 修改


2.特点


  • 操作的对象和结构都是集合


3.关系数据语言


1️⃣关系代数语言


  • 用对关系的运算来表达查询要求


2️⃣关系演算语言


  • 用谓词来表达查询要求
  • 元组关系演算语言:谓词变元基本对象是元组变量(APLHA、QUEL)
  • 域关系演算语言:谓词变元的基本对象是域变量(QBE)


3️⃣具有关系代数和关系演算双重特点的语言


  • SQL


七、结语


下一篇文章会讲述有关关系操作中的关系代数部分知识点

目录
打赏
0
0
0
0
1
分享
相关文章
解锁高效开发秘籍:深入探究 Hibernate 如何优雅处理一对多与多对多关系,让数据映射再无烦恼!
【9月更文挑战第3天】Hibernate 是 Java 领域中最流行的 ORM 框架之一,广泛用于处理实体对象与数据库表之间的映射。尤其在处理复杂关系如一对多和多对多时,Hibernate 提供了丰富的 API 和配置选项。本文通过具体代码示例,展示如何使用 `@OneToMany`、`@JoinColumn`、`@ManyToMany` 和 `@JoinTable` 等注解优雅地实现这些关系,帮助开发者保持代码简洁的同时确保数据一致性。
124 4
数据库关系运算理论:关系数据操作与关系完整性概念解析
数据库关系运算理论:关系数据操作与关系完整性概念解析
207 0
数据库原理与应用——简答题练习(数据管理技术发展、数据库主要特征、数据模型、关系模型、实体性之间的关系、DBMS的功能、相关术语解释、数据库系统)
数据库原理与应用——简答题练习(数据管理技术发展、数据库主要特征、数据模型、关系模型、实体性之间的关系、DBMS的功能、相关术语解释、数据库系统)
129 0
关系数据库——关系操作和关系完整性
关系数据库——关系操作和关系完整性
369 0
关系数据库——关系数据结构及形式化定义
关系数据库——关系数据结构及形式化定义
236 0
关系模型知识点总结(3)—— 关系操作中的关系代数(含题目及详细分析)
我们设R是n目关系,有K1个元组,S是m目关系,有K2个元组,那么他们的笛卡儿积其实就是排列组合,如果将R关系中的每一行看作是abc,S关系中的每一行看作是xyz,那么他们两两组合的方式一共有9种,故 当R有K1个元组,S有K2个元组时,R和S的笛卡儿积行一共有K1×K2个元组;而由于每个关系里都有各自属性,所以R和S的笛卡儿积列一共有(m+n)个元组
618 0
关系模型知识点总结(3)—— 关系操作中的关系代数(含题目及详细分析)
关系模型知识点总结(1)—— 关系数据结构
关系是动态的、随时间不断变化的,关系是关系模式在某一时刻的状态或内容,是因为关系的各种操作引起了数据库中的数据不断更新
523 0
关系模型知识点总结(1)—— 关系数据结构
数据库原理与应用系列_05关系模式的分解
定义:无损联接分解是将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式,则称这种分解为无损联接分解。
数据库原理与应用系列_05关系模式的分解

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等