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


七、结语


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

相关文章
|
前端开发 数据安全/隐私保护
【前端web入门第二天】02 表单-input标签-单选框-多选框
本文介绍了HTML中`<input>`标签的基本使用方法及其应用场景,如登录、注册页面和搜索区域。通过设置`type`属性,可以实现文本框、密码框、单选框、多选框及文件上传等功能。此外,还详细说明了占位文本的使用、单选框的常用属性及多选框的默认选中状态,并提供了示例代码与效果展示。
483 7
|
存储 机器学习/深度学习 分布式计算
Hadoop配置文件hdfs-site.xml
【7月更文挑战第17天】
960 5
|
机器学习/深度学习 人工智能 供应链
AI在各行业的具体应用与未来展望
人工智能(Artificial Intelligence, AI)作为一项颠覆性技术,正在逐步改变我们的生活和工作方式。从语音助手到自动驾驶汽车,AI的应用已经深入到各个领域。本文将详细探讨AI在不同行业中的具体应用,以及未来可能的发展方向。
3146 6
|
存储 传感器 监控
云监控:引领未来监控技术的新篇章
传统监控系统需要投入大量的人力物力进行建设和维护,而云监控则通过云计算平台的按需付费特性降低了建设和维护成本。用户只需根据实际需求购买相应的服务和资源即可实现监控功能,无需担心设备升级、维护等问题。
|
机器学习/深度学习 数据采集 人工智能
综述:使用语言模型进行可控的蛋白质设计(1)
综述:使用语言模型进行可控的蛋白质设计
692 0
|
算法 Python
Python函数的嵌套调用:深入理解与应用
Python函数的嵌套调用:深入理解与应用
348 1
|
监控 API C语言
【Python 基础教程 22】全面揭秘Python3 os模块:从入门到高级的实用教程指南
【Python 基础教程 22】全面揭秘Python3 os模块:从入门到高级的实用教程指南
487 1
|
存储 SQL 关系型数据库
MySQL第二讲:MySQL innoDB存储引擎中索引原理
MySQL第二讲:MySQL innoDB存储引擎中索引原理
965 1
|
分布式计算 Hadoop 大数据
【云计算与大数据计算】Hadoop MapReduce实战之统计每个单词出现次数、单词平均长度、Grep(附源码 )
【云计算与大数据计算】Hadoop MapReduce实战之统计每个单词出现次数、单词平均长度、Grep(附源码 )
567 1
|
存储 SQL JavaScript
【数据库原理 • 二】关系数据库理论
数据库技术是计算机科学技术中发展最快,应用最广的技术之一,它是专门研究如何科学的组织和存储数据,如何高效地获取和处理数据的技术。它已成为各行各业存储数据、管理信息、共享资源和决策支持的最先进,最常用的技术。 当前互联网+与大数据,一切都建立在数据库之上,以数据说话,首先需要聚集数据、分析数据和管理数据,数据库技术已成为各种计算机系统的核心技术。数据库相关知识也已成为每个人必须掌握的知识。
1996 1