【数据库】数据库系统概论(二)— 关系

news2025/3/13 17:22:02

关系数据库

关系数据库是支持关系模型的数据库系统。

关系模型的数据结构:关系;逻辑结构:扁平的二维表

是一组具有相同数据类型的值的集合。

例如:{a,b,c}、{0,1,2,3}等等

笛卡尔积

定义

笛卡尔积是域上的一种集合运算。

计算公式

给定一组域为:D1,D2,D3,…,Dn 【允许有重复的域】

笛卡尔积的计算公式为:

D 1 × D 2 × D 3 × … × D n = { ( d 1 , d 2 , d 3 , … , d n ) ∣ d i ∈ D i , i = 1 , 2 , … , n } D1×D2×D3×…×Dn = {\{(d1,d2,d3,…,dn) | di ∈Di, i = 1,2,…,n\}} D1×D2×D3××Dn={(d1,d2,d3,,dn)diDi,i=1,2,,n}

名词解释

  1. (d1,d2,d3,…,dn)叫做一个n元组(简称元组)

  2. di叫做分量。

基数

一个域允许的不同取值个数称为这个域的基数。

对于一个有限集Di,基数为mi,那么笛卡尔积D1×D2×D3×…×Dn的基数M就是:

M = Π n i = 1 m i \Pi{n \atop i=1}m_i Πi=1nmi

在这里插入图片描述
例1

关系

定义

D1×D2×…×Dn的有限子集叫做在域D1、D2、…,Dn上的关系,表示为R(D1,D2,D3,…,Dn)

R表示关系的名字,n是关系的目或者度

关系是一张二维表,表中每行对应一个元组,表中每列对应一个域。

由于域可以相同,所以每列要有一个名字,这个名字称为属性

n目关系必有n个属性

名词解释:

  1. 关系中的每个元素是关系中的元组,通常用t表示
    • n = 1时,关系为单元关系
    • n = 2时,关系为二元关系
  2. 候选码:关系中某一属性组的值能够唯一的标识一个元组,而其子集不能,则该属性组称为候选码。
  3. 主码:一个关系有多个候选码,要选中其中一个为主码
  4. 主属性:候选码的诸属性称为主属性
  5. 非主属性:不包含在任何候选码中的属性称为非主属性(或者非码属性)
  6. 全码:关系模式的所有属性是这个关系模式的候选码,这个候选码称为全码

关系的三种类型

  1. 基本关系(基本表/基表)

    是实际存在的表,是实际存储数据的逻辑展示

  2. 查询表

    是查询结果对应的表

  3. 视图表

    是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据

基本关系的性质

  1. 列是同质的(每一列中的分量是同一类型的数据,来自同一个域)
  2. 不同的列可以出自同一个域,称其中每一列为一个属性。不同的属性要给予不同的属性名
    1. 例如例1,我们也可以分为两个域,person{张清玫、刘逸、李勇、刘晨、王敏}specialty{计算机专业、信息专业}。person这个域又分为两种属性,研究生和导师
  3. 列的顺序是无所谓的,即列的顺序可以随意交换
  4. 行的顺序是无所谓的,即行的顺序可以随意交换
  5. 任意两个元组的候选码不能去同样的值
  6. ⭐分量必须取原子值,即每一个分量都是一个不可分的数据项

这种规范化的关系,简称为范式。

关系模式

关系的描述称为关系模式。

R ( U , D , D O M , F ) R(U,D,DOM,F) R(U,D,DOM,F)

  • R:关系名
  • U:组成该关系的属性名集合
  • D:U中所有属性来自的域
  • DOM:属性像域的映像集合
  • F:属性间数据的依赖关系集合

通常也可以简写为 R ( U ) R(U) R(U)

关系操作

基本关系操作

包括:查询和插入修改删除这两类。

查询操作

  1. SELECT 选择
  2. PROJECT 投影
  3. JOIN 连接
  4. DIVIDE 除
  5. UNION 并
  6. EXCEPT 差
  7. INTERSECTION 交
  8. 笛卡尔积

关系语言

在这里插入图片描述

SQL语言是高度的非过程化的语言。也就是说,如果要查询某个指标,关系数据库会为其选择最优的查询路径,用以提高查询效率

完整性

实体完整性

规则:

若属性(一个或一组)A是基本关系R的主属性,则A不能取空值。

参照完整性

外码概念

设F是基本关系R的一个或者一组属性,但不是关系R的码,Ks是基本关系S的主码。如果F与Ks相对应,则称F是R的外码。并称基本关系R为参照关系,S为被参照关系(目标关系)。

在这里插入图片描述

规则

若属性F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中的每一个元组在F上的值为:

  1. 空值(F中每个属性值均为空值)
  2. S中某个元组的主码值

用户定义完整性

某一具体应用所涉及的数据必须满足语义要求

关系代数

运算符含义
集合运算符
交集
并集
-差集
×笛卡尔积
关系运算符
σ选择
Π投影
连接
÷

集合运算符

下面以 集合R和集合S为例

并 ∪

R ∪ S = { t ∣ t ∈ R ∪ t ∈ S } R∪S=\{t|t∈R∪t∈S\} RS={ttRtS}

差 -

R − S = { t ∣ t ∈ R ∩ t ∉ S } R - S = \{t|t∈R∩t∉S\} RS={ttRt/S}

交 ∩

R ∩ S = { t ∣ t ∈ R ∩ t ∈ S } R∩S=\{t|t∈R∩t∈S\} RS={ttRtS}

笛卡尔积

R × S = { t r t s ∣ t r ∈ R ∩ t s ∈ S } R×S = \{t_rt_s|t_r∈R∩t_s∈S\} R×S={trtstrRtsS}

图示传统集合运算

在这里插入图片描述

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

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

相关文章

抓准时机,成为亚马逊,速卖通,国际站的领军者

下半年即将接踵而至的万圣节、黑色星期五、圣诞节等大型节日,不仅仅是海外消费者的重要消费节假日,也是中国出海企业势在必得的流量战场。 那么对于下半年重头戏,卖家该如何把握好黄金时机,赢得一年大丰收 旺季卖家怎么掠夺竞争…

安达发|APS自动排产软件帮助制造业实现“降本增效”

随着科技的不断发展,制造业在生产过程中所面临的问题也在不断地改变和升级。如今,制造业所面临的生产问题主要包括以下几个方面: 1. 生产效率低下 在传统的制造业中,生产过程往往依赖于人工操作,这导致了生产效率低下的…

紫光展锐5G芯T820 解锁全新应用场景,让机器人更智能

数字经济的持续发展正推动机器人产业成为风口赛道。工信部数据显示,2023年上半年,我国工业机器人产量达22.2万套,同比增长5.4%;服务机器人产量为353万套,同比增长9.6%。 作为国内商用服务机器人领先企业,云…

PMP含金量再升级!北京上海等地可评职称!

最近PMP证书又“升级”了,不过不是证书上的改变,而是含金量在原有基础上又上升了一个档次。 9月4日,北京市人力资源和社会保障局联合北京市人才工作局发布关于印发《北京市境外职业资格认可目录(3.0版)》的通知,PMP项目管理证书也…

实时时钟和日历电路芯片MS85163/MS85163M

MS85163/MS85163M 是一款 CMOS 实时时钟 (RTC) 和 日历电路,针对低功耗进行了优化,内置了可编程的时钟输出、中断输出和低电压检测器。所有寄存器地址和数据都通过两线双向I 2 C 总线进行串行传输,最大总线传输速度为 400kbit/s 。采用SOP8…

02目标检测-传统检测方法

目录 一、目标学习的检测方法变迁及对比 二、 基于传统手工特征的检测算法的定义 三、传统主要手工特征与算法 Haar特征与 人脸检测算法 - Viola-Jones(了解) HOG特征与 SVM 算法(了解)(行人检测、opencv实现) SIFT特征与SIFT算法(了解) DPM&#…

mysql数据库的全量与增量的备份以及恢复

目录 一、全量备份与恢复 1.全量备份 2.删掉某个数据库 3.全量恢复数据库 二、增量备份与恢复 1.查看增量是否开启,我们发现log_bin开启证明开启了 2.创建一个数据库并创建表中信息 3.插入数据 4.进行一次全量的备份 5.做完备份刷新一下数据库,…

(UI资源)4k Full Fantasy GUI + over 400 png + samples

资源包含超400个4k高清png文件 窗口资源包含:登录、角色创建、探索日志、库存、商店、设定、手工艺、NPC对话、技能、6个弹出窗口 72个独特的图标 4种颜色主题的56个图标 按钮:大按钮(3种色)、小按钮(5种颜色)、复选框和单选按钮 其他要素 使用简单的填充脚本轻松自定义健康与…

【多线程】常见的几种锁策略以及synchronized的锁策略

目录 一、乐观锁与悲观锁 二、读写锁与互斥锁 三、轻量级锁与重量级锁 四、自旋锁与挂起等待锁 五、公平锁与非公平锁 六、synchronized锁策略 1、锁升级 2、锁消除 3、锁粗化 一、乐观锁与悲观锁 乐观锁与悲观锁描述了两种不同的加锁态度,乐观锁就预测锁冲…

怎么为Web服务器配置虚拟主机?【步骤演示】

在安装了Web服务器Apache后,为了更好地使用Apache,还需要学习如何对Apache进行配置。在项目开发中,经常需要配置虚拟主机和访问权限,下面对Web服务器的配置进行详细讲解。 配置虚拟主机 在默认情况下,Apache只有Chwe…

Detectron2 安装踩坑

在服务器上安装Detectron2: 设备:NVIDIA GeForce RTX 3090 显卡驱动和cuda: 安装detectron2时,报错为: Installing collected packages: detectron2Running setup.py develop for detectron2error: subprocess-exited…

智能博弈技术军事应用展望

源自:指挥与控制学院 作者:马悦 吴琳 郭圣明 摘 要 为利用智能技术解决现代战争中的意图判断、威胁评估与指挥控制, 提高军事决策水平, 将军事问题转化为博弈问题, 综合利用博弈论和人工智能(artificial intelligence, AI&#xff…

【Python 实战】---- 实现批量图片的切割

1. 需求场景 在实际开发中,我们会遇到一种很无聊,但是又必须实现的需求,就是比如协议、大量的宣传页面、大量的静态介绍页面、或者大量静态页面,但是页面高度很高,甚至高度可能会达到50000px,但是为了渲染…

手动开发-实现SpringMVC底层机制--小试牛刀

文章目录 前端控制器Controller注解RequestMapping注解自定义容器LingWebApplicationContext设计handlerList完成分发请求Service注解和AutoWired注解RequestParam注解完整代码 在这里说的底层机制的实现主要是指:前端控制器、Controller、Service注入容器、对象自动…

对话式人工智能的数据采集方案

基于噪声数据训练对话式人工智能 聊天机器人、虚拟助手、机器人等对话式人工智能 (Conversational AI Agents ) 在我们的日常生活中已随处可见。许多企业希望以更低的成本增强与客户之间的互动,并为此在该领域进行大量投资。大量数据表明,对话式人工智能…

泛型工具类型和操作符

前言 TypeScript 内置了一些常用的工具类型。 PartialRequiredOmitPick.... 操作符 typeof typeof 操作符可以用来获取一个变量声明或对象的类型 const p {x:2,y:cm} let g:typeof p {x:3,y:ff} 这里g需要满足: 有x属性且值是number类型 有y属性且值是string类型…

海鲜进口一站式数字化管理,提高工作效率

2022年,中国水产品进口国top10有:厄瓜多尔(主要品种为白虾、剑鱼、沙丁鱼、金枪鱼等)、俄罗斯(主要品种为鳕鱼、鲑鱼、鲱鱼等)、越南(主要品种为巴沙鱼、冻虾等)、印度(主…

认识HTTP请求

要分析HTTP请求和响应必然少不了抓包工具,关于抓包工具的设置和下载推荐看抓包工具Fiddler的下载与设置 通过抓包得到的一个HTTP请求 HTTP请求的格式 结构分析 一.请求行 1.post是方法,可以表示一条HTTP请求要进行的操作是什么,post通常表示…

使用终端MobaXterm连接Centos

1. 下载MobaXterm 官网: https://mobaxterm.mobatek.net/download.html 2. MobaXterm连接Linux 1 、查看刚才安装的 Linux 的 IP 地址 2、连接 3. Linux自带了JRE 由于javac指令不能运行,所以Linux只自带了JRE!!!

【C++】- set和map的具体使用(multiset和multimap的介绍)

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …