数据库系统理论——关系数据库

文章目录

  • 一、关系(数据结构)
    • 1、概述
    • 2、名词解释
    • 3、关系模式、关系数据库、关系数据库模式
    • 4、基本关系的性质
  • 二、关系操作(数据操作)
  • 三、关系的完整性
    • 1、实体完整性
    • 2 、参照完整性
    • 3、用户自定义的完整性
  • 四、关系代数
  • 五、习题

前言:理解关系数据模型的有关概念和各种运算的含义。

一、关系(数据结构)

1、概述

在用户看来,关系只是一张扁平的二维表。

2、名词解释

  • 域:域是一组具有相同数据类型的值的集合;
  • 基数:一个域允许的不同取值个数称为这个域的基数;
  • 目或度:关系的属性的个数
  • 候选码:某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码(键);
  • 主码:若一个关系中有多个候选码,选择其中一个为主码;
  • 主属性:候选码的所有属性称为主属性,不含在候选码的属性称为非主属性或非码属性;
  • 全码:所有属性都是候选码;
  • 外码:设a是A上的一个或一组属性,但不是关系A的码,b是关系B的主码,并且a与b相互照应,则称a是A的外码;
    这个地方简单点来说,就是在本关系中的一个属性或属性组,到其他关系里面充当主码;
  • 超码:超码也叫做“超级码”,是一个或多个属性的集合,这些属性可以让我们在一个实体集(所谓的实体集就是student表中多条记录的集合)中唯一地标识一个实体。如果K是一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。

3、关系模式、关系数据库、关系数据库模式

(1)关系模式():关系的描述称为关系模式;
关系模式是型,关系是值;关系是元组的集合,关系模式要指出这个元组集合的结构。
例子:R(A1,A2,A3…)
这里R是关系名,A1,A2等等是属性名;
注意:关系是关系模式在某一时刻的状态和内容。因此,关系模式是静态的,稳定的,而关系是动态的。

(2)关系数据库:在关系模型中,实体与实体之间是通过关系来表示的;例如,研究生与导师之间的多对一关系。在给定的一个领域内,所有关系的集合构成了一个关系数据库。
一句话概括该点:关系数据库的值就是这些关系模式在某一时刻对应的关系的集合,通常就成为关系数据库;

(3)关系数据库模式:关系数据库模式是对关系数据库的型的描述,包括若干个域的定义,以及在这些域上定义的若干关系模式。

4、基本关系的性质

① 列是同质的,即来自同一个属性
② 不同的列可出自同一个域(域是一组具有相同数据类型的值的集合)
③ 列的顺序无所谓,列的次序可以任意交换
④ 任意两个元组的候选码不能相同
⑤ 行的顺序无所谓,行的次序可以任意交换
⑥ 分量必须取原子值(规范化)

**注意:**外码和所引用的主码是可以不同名。

二、关系操作(数据操作)

集合运算:并、差、交、笛卡儿积
关系运算:选择(行)、投影(列)、连接(行列)、除(行列)的定义

三、关系的完整性

1、实体完整性

  • 现实含义:事物(元组)可区分、是唯一的
  • 实现:主码
  • 内容:主属性不能取空值(或:主码值唯一、非空)
  • SQL实现:Primary Key

2 、参照完整性

  • 现实含义:不能引用不存在的事物
  • 实现:外码
  • 内容:外码值可以等于一个已经存在的主码值,或取空值,但是当外码是本关系的主属性时候,不可取空值;
  • SQL实现:Foreign key

3、用户自定义的完整性

  • 现实含义:某一具体应用所涉及的数据必须满足的语义要求
  • 实现:第五章的完整性实现方法
  • SQL实现:Check()

四、关系代数

代数运算是指关系运算,最后结果还是关系!!!
1、集合运算:并交差笛卡尔积
这四个需要注意的是笛卡尔积,它的最后元组数(行数)即为,两个关系的元组数之积;

2、专门关系运算符
选择、投影、连接;
其中连接分为自然连接,外连接;
在这里插入图片描述

除运算:
定义:设关系R除以关系S的结果为关系T,则T包含所有在R中但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中。

五、习题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:一般是先自然连接,然后在选择,最后在投影。


除法运算!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/8354.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qwen大模型实践之初体验

Qwen大模型实践之初体验 测试机器, 使用InternStudio提供的开发机,配置如下: 部分资源详细信息: # CPUIntel(R) Xeon(R) Platinum 8369B CPU 2.90GHz# GPU(base) rootintern-studio-50014188:~# studio-smi Running studio-smi by vgpu-smiW…

有什么快速ai智能生成思维导图的软件?6个软件教你轻松制作思维导图

有什么快速ai智能生成思维导图的软件?6个软件教你轻松制作思维导图 思维导图是一种图形化的工具,用于组织和表示思维过程中的概念和想法之间的关系。在现代的工作和学习环境中,快速制作思维导图对于理清思路、规划项目、记录笔记等方面都非常…

如何设置cPanel的自动备份

近期我们购买了Hostease美国VPS云主机产品,由于需要设置服务器的自动备份,我们向Hostease技术团队进行了咨询,他们提到VPS云主机的cPanel面板包含自动备份功能,下面我们就介绍如何进行自动备份的设置。 首先你需要登录到WHM面板&…

从封号之痛出发:探索自养号测评,助力eBay卖家破局重生

在跨境电商的浪潮中,eBay作为知名的电商平台,吸引了众多卖家前来拓展业务。然而,近年来不少卖家反映,因环境问题导致eBay账号被封号,成为他们业务发展的痛点。为此,本文将探讨如何通过自养号测评&#xff0…

不止于量子!“光与热”两大架构重塑计算前沿

在探索超越传统计算机性能的途径中,量子计算通常被视为一种前沿技术。然而,它并非解决所有计算挑战的唯一方案。事实上,最近有两家公司推出了基于独特物理原理的计算设备,这些设备专门针对特定应用设计,据称在处理特定…

uniapp + vue3 使用axios

场景 uniapp自带的uni.request不太好用,也有可能是自己用axios用的太熟悉了,所以还是用axios趁手点,所以尝试在uniapp中使用axios。 操作 因为uniapp项目没有package.json,所以先在项目根目录下执行 npm init, 执行完毕后直接…

如何vscode中刷力扣

推荐你阅读 互联网大厂万字专题总结 Redis总结 JUC总结 操作系统总结 JVM总结 Mysql总结 微服务总结 互联网大厂常考知识点 什么是系统调用 CPU底层锁指令有哪些 AQS与ReentrantLock原理 旁路策略缓存一致性 Java通配符看这一篇就够 Java自限定泛型 技术分享 如何vscode中刷力扣…

登录校验总览-jwt令牌

一、前置问题 为什么要登录校验?登录校验,就是判断访问资源的用户是否是合法用户,保障安全。如果不设置登录校验,就可以跳过登录,直接通过url访问资源。二、登录校验实现思路: 在服务器端对请求进行统一拦…

Sarcasm detection论文解析 |CAT-BiGRU

论文地址 论文地址:CAT-BiGRU: Convolution and Attention with Bi-Directional Gated Recurrent Unit for Self-Deprecating Sarcasm Detection | Cognitive Computation github:Ashraf-Kamal/Self-Deprecating-Sarcasm-Detection (github.com) 论文首页 笔记框架 …

NVIDIA: RULER新测量方法让大模型现形

1 引言 最近在人工智能系统工程和语言模型设计方面的进展已经实现了语言模型上下文长度的高效扩展。以前的工作通常采用合成任务,如密钥检索和大海捞针来评估长上下文语言模型(LMs)。然而,这些评估在不同工作中使用不一致,仅揭示了检索能力,无法衡量其他形式的长上下文理解。 …

如何提高日语听力?日语学习日语培训柯桥小语种学校

每次一说起练日语听力,总离不开一个词,那就是“磨耳朵”。 可是,“磨耳朵”真的有用吗? 在讨论这个问题之前,我们需要先知道:什么是“磨耳朵”? 所谓的“磨耳朵”,其实就是让我们的耳…

通配符证书价格350元

通配符SSL证书是一种特殊的域名SSL证书,这款SSL证书默认保护主域名以及主域名下的所有子域名,因此,子域名比较多的个人或者企事业单位开发者都倾向于选择通配符SSL证书来简化SSL证书管理过程,节省购买SSL证书的资金,降…

python词云图背景颜色修改

python词云图背景颜色修改 词云图介绍wordcloud介绍修改背景颜色 词云图介绍 词云图(Word Cloud)是一种文本数据的可视化表示形式,它通过字体大小、颜色、布局等视觉元素来展示文本中不同词汇的频率或重要性。词云图中,出现频率高…

纯血鸿蒙APP实战开发——Canvas实现模拟时钟案例

介绍 本示例介绍利用Canvas 和定时器实现模拟时钟场景,该案例多用于用户需要显示自定义模拟时钟的场景。 效果图预览 使用说明 无需任何操作,进入本案例页面后,所见即模拟时钟的展示。 实现思路 本例的的主要实现思路如下: …

C语言:__attribute__((packed))

一、简介 在使用结构体的时候,经常要根据结构体的长度来进行相关判断。但是按照C语言的规则,会对不同类型的数据类型进行自动对齐。有时候就会造成一些问题,如果不需要使用自动对齐的功能,就需要使用到本章的关键字。 二、自动对…

相机内存卡格式化怎么恢复?恢复数据的3个方法

相机内存卡格式化后,许多用户都曾面临过照片丢失的困境。这些照片可能具有极高的纪念价值,也可能包含着重要的信息。因此如何有效地恢复这些照片变得至关重要。本文将详细介绍三种实用的恢复方法,帮助您找回那些珍贵的影像。 下面分享几个实…

JavaScript 动态网页实例 —— 数值处理对象

前言 Math对象用于进行数学运算。其属性是数学中一些常见的常数值,在程序中可以直接使用。Math对象的方法很多,主要完成一些常见的数学运算,如三角函数计算、乘方、开方、求对数等。在 Math 对象的方法中,除了random()之外的所有方法都需要一个或几个参数,并且其用法基本…

24V转3.8V用什么芯片方案-AH8310

在将24V降压至3.8V的电源转换中,AH8310是一个理想的选择。这款芯片是一款降压转换器,输入电压范围为4.5V至36V,输出电压可调,峰值电流可达1.5A。AH8310采用SOT23-6封装,内置MOS,适用于各种应用场合&#xf…

PostgreSQL数据库创建只读用户的权限安全隐患

PostgreSQL数据库模拟备库创建只读用户存在的权限安全隐患 default_transaction_read_only权限授权版本变更说明 看腻了就来听听视频演示吧:https://www.bilibili.com/video/BV1ZJ4m1578H/ default_transaction_read_only 创建只读用户,参照备库只读模…

力扣数据库题库学习(5.7日)--1789. 员工的直属部门

1789. 员工的直属部门 问题链接😊 思路分析 一个员工可以属于多个部门。当一个员工加入超过一个部门的时候,他需要决定哪个部门是他的直属部门。请注意,当员工只加入一个部门的时候,那这个部门将默认为他的直属部门&#xff0c…