关系模型知识点总结(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


七、结语


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

相关文章
|
5月前
|
Java 程序员 C#
程序员必知:UML关联聚合组合关系
程序员必知:UML关联聚合组合关系
56 0
|
5月前
|
SQL 数据库 数据库管理
数据库关系运算理论:关系数据操作与关系完整性概念解析
数据库关系运算理论:关系数据操作与关系完整性概念解析
90 0
|
JavaScript 数据库
关系数据库——关系数据结构及形式化定义
关系数据库——关系数据结构及形式化定义
133 0
|
SQL 数据库
关系数据库——关系操作和关系完整性
关系数据库——关系操作和关系完整性
192 0
|
存储 JavaScript 数据库
第2章 关系数据库——2.1关系数据结构及形式化定义
第2章 关系数据库——2.1关系数据结构及形式化定义
|
SQL 存储 数据库
第2章 关系数据库——2.2关系操作
第2章 关系数据库——2.2关系操作
|
人工智能 vr&ar
关系模型知识点总结(3)—— 关系操作中的关系代数(含题目及详细分析)
我们设R是n目关系,有K1个元组,S是m目关系,有K2个元组,那么他们的笛卡儿积其实就是排列组合,如果将R关系中的每一行看作是abc,S关系中的每一行看作是xyz,那么他们两两组合的方式一共有9种,故 当R有K1个元组,S有K2个元组时,R和S的笛卡儿积行一共有K1×K2个元组;而由于每个关系里都有各自属性,所以R和S的笛卡儿积列一共有(m+n)个元组
503 0
关系模型知识点总结(3)—— 关系操作中的关系代数(含题目及详细分析)
|
关系型数据库 数据库
数据库原理与应用系列_05关系模式的分解
定义:无损联接分解是将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式,则称这种分解为无损联接分解。
数据库原理与应用系列_05关系模式的分解
|
存储 SQL NoSQL
一文搞定关系数据库设计要领,值得收藏!
本文讨论关系数据库设计相关的一些内容,涉及关系模型,表结构设计等内容,以学生选修课程讲述设计过程,在尽量讲清楚设计要领的前提下,简化设计内容。
一文搞定关系数据库设计要领,值得收藏!
|
NoSQL Java 数据库
从需求出发来看关系模型与非关系模型--关系模型与非关系模型概述
自从NoSQL概念横空出世,关系数据库似乎就成了众矢之的,似乎一夜之间,关系数据库和SQL就成了低效,高成本,速度慢的数据处理模式的代名词。 在很多地方都能看到类似:"我的项目初创,应该选择什么NoSQL产品才能快速的开发?" 这样的问题。    正因有人提出这样的问题,才坚定了我把这篇文章放在
1512 0