关系数据库:关系数据结构基础与概念解析


✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:数据库

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

目录

关系数据结构

关系数据库简介

关系数据库系统

 关系模型的组成

关系的定义

1.域(Domain)

2.笛卡儿积(Cartesian Product)

3.关系(Relation)

关系的性质

关系性质1——同质的列

关系性质2——不同的属性名

关系性质3——属性无序

关系性质4——元组的候选码不重复 ​编辑 

关系性质5——元组无序

关系性质6——分量是原子

关系模式

1.关系模式的表示

2.关系模式与关系

关系数据库


关系数据结构

关系数据库简介

系统而严格地提出关系模型的是美国IBM 公司的 E.F.Codd

    

  • 1970 年提出关系数据模型

E.F.Codd, "A Relational Model of Data for Large Shared Data Banks"《Communication ofthe AcM》,1970

  • 之后,提出了关系代数和关系演算的概念
  • 1972 年提出了关系的第一、第二、第三范式
  • 1974 年提出了关系的 BC 范式

关系数据库系统

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

 关系模型的组成

  • 关系数据结构
  • 关系操作集合
  • 关系完整性约束

关系的定义

1.域(Domain)

域是一组具有相同数据类型的值的集合例如:整数、实数、介于某个取值范围的日期;介于某个取值范围的日明

2.笛卡儿积(Cartesian Product)

给定一组域D1,D2,...,Dn,这些域中可以有相同的。

D1,D2,...Dn的笛卡儿积为:

D1xD2x...xDn={ (d1,d2..,dn) | di \epsilonDi, i=1,2,...n }


(1)元组(Tuple)

笛卡尔积中每一个元素(d1,d2,...,dn)叫作一个n元组(n - tuple)或简称元组,或者一条记录也是一个元组。

(2)分量(Component)

笛卡尔积元素(d1,d2,...,dn)中的每一个值di叫作一个分量。

(3)基数(Cardinal Number)

若Di(i=1,2,... ,n)为有限集,其基数为mi(i=1,2 ,...,  1n),

则D1xD2x..xDn的基数M为为元组的个数。

(4)笛卡尔积的表示方法

笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。


例如,给出3个域

D1 :院系集合 DEPARTMENT三{计算机系,日语系}

D2 :班级集合CLASS={1班,2班}

D3 :学生集合STUDENT={张三,李四,王五}

其中(计算机系,1班,张三) 、(计算机系,2班,李四) 等都是元组,计算机系、1班、2班、张三、李四等都是分量。

该笛卡尔积的基数为2x2x3=12。即D1xD2xD3共有12个元组。这12个元组可列成一张二维表。

如下表所示:

  

3.关系(Relation)

D1xD2x...xDn 的子集叫作在域 D1,D2,...,Dn上的关系

表示为:R(D1,D2,...,Dn);

R为关系名,n为关系的目或度(Degree)

(1)元组

关系中的每个元素是关系中的元组,通常用 t 表示,

(2)单元关系与二元关系

当n=1时,称该关系为单元关系(Unary relation)

当n=2时,称该关系为二元关系(Binary relation)

(3)关系的表示

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

如下表所示。其中该表是在上表的笛卡尔积中取出有意义的元组,形成的一个子集。

  

(4)属性

关系中不同列可以对应相同的域,为了加以区分,必须对每一个列起一个名字,称为属性(Attribute)。

(5 )码

① 候选码(Candidate key)

若关系中的某一属性组的值能唯一地标识一个元组,而其任何真子集都不能再标识一个元组,则称该属性组为候选码,在最简单的情况下,候选码只包含一个属性。

例如,存在一个学生关系,包括学号、姓名、年龄、身份证号四个属性,其中学号可以唯一地标识一个学生元组,身份证号也可以唯一地标识一个学生元组,所以学号和身份证号可以作为学生关系的候选码。

② 全码 ( Al-key)

在最极端的情况下,关系的所有属性组是这个关系的候选码称为全码( All-key)。

例如,存在一个音乐会关系,包括演奏者、音乐作品、观众三个属性,其中三个属性组合在一起才可以唯一地标识一个音乐会元组,所以关系的所有属性组是这个关系的候选码,即为全码。

 ③ 主码(Primary key )

若一个关系有多个候选码,则选定其中一个为主码或主键(Primary key)。

例如,在学生关系中,根据具体情况,学号可以更好地标识一个学生元组,所以学号作为学生关系的主码。当然身份证号也可以作为学生关系的主码。

④ 主属性(Prime attribute)与非主属性(Non-key attribute)候选码的诸属性称为主属性(Prime attribute)。

不包含在任何候选码中的属性称为非主属性(Non-key attribute

例如,在学生关系中,学号和身份证号为主属性,姓名和年龄为非主属性。


关系的性质

(1)列是同质的(Homogeneous),即每一列中的分量是同一类型的数据,来自同一个域。

(2)不同的列可出自同一个域,其中的每一列称为一个属性,不同的属性要给予不同的属性名

(3)列的顺序无所谓,即列的次序可以任意交换。在许多实际关系数据库产品中,增加新属性时,永远是插至最后一列。

(4)任意两个元组的候选码不能相同。

(5)行的顺序无所谓,行的次序可以任意交换。在许多实际关系数据库产品中,插入一个元组时永远插至最后一行。

(6)分量必须取原子值,即每一个分量都必须是不可分的数据项。这是规范条件中最基本的一条。

关系性质1——同质的列

    关系性质2——不同的属性名

  

关系性质3——属性无序

  

关系性质4——元组的候选码不重复  

关系性质5——元组无序

  

关系性质6——分量是原子

  


关系模式

关系模式是对关系的描述。关系模式在形式上可以表示为

R(U,D,DOM,F)

其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM 为属性向域的映像集合,F为属性间的数据依赖关系集合。

1.关系模式的表示

关系模式通常可以简记为

R(U)或R(A1,A2,...,An)

其中R为关系名,A1,A2,...,An为属性名。而域名及属性向域的映像常常直接说明为属性的类型、长度。

2.关系模式与关系

关系模式是对关系的描述,关系模式是静态的、稳定的;关系是关系模式在某一时刻的状态或内容,关系是动态的、随时间不断变化的;关系模式和关系往往统称为关系,通过上下文加以区别。


关系数据库

在关系模型中,实体以及实体间的联系都是用关系来表示的在一个给定的应用领域中,所有实体及实体之间联系的关系的集合(也可以简单地理解为表的集合)构成一个关系数据库。

 

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第二十八天|93. 复原 IP 地址,78. 子集,90. 子集 II

93. 复原 IP 地址 题目 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.0…

前端 - 基础 表单标签 -- 表单元素( input - type属性) 文本框和密码框

表单元素 : 在表单域中可以定义各种表单元素,这些表单元素就是允许用户在表单中输入或选择 的内容控件。 表单元素的外观也各不一样,有小圆圈,有正方形,也有方框,乱七八糟的,各种各样&#xf…

【深度学习】深度学习md笔记总结第1篇:深度学习课程,要求【附代码文档】

深度学习笔记完整教程(附代码资料)主要内容讲述:深度学习课程,深度学习介绍要求,目标,学习目标,1.1.1 区别。TensorFlow介绍,2.2 图与TensorBoard学习目标,2.2.1 什么是图结构,2.2.2 图相关操作,2.2.3 TensorBoard:可视…

数据资产管理解决方案:构建高效、安全的数据生态体系

在数字化时代,数据已成为企业最重要的资产之一。然而,如何有效管理和利用这些数据资产,却是许多企业面临的难题。本文将详细介绍数据资产管理解决方案,帮助企业构建高效、安全的数据生态体系。 一、引言 在信息化浪潮的推动下&a…

Linux之线程同步

目录 一、问题引入 二、实现线程同步的方案——条件变量 1、常用接口&#xff1a; 2、使用示例 一、问题引入 我们再次看看上次讲到的多线程抢票的代码&#xff1a;这次我们让一个线程抢完票之后不去做任何事。 #include <iostream> #include <unistd.h> #inc…

PB-03F模组蓝牙基础+主从机指令的使用

文章目录 前言一、蓝牙基础指令1. ATBLEMAC 设置和查询蓝牙 MAC 地址2. ATBLEMODE 查询和设置蓝牙模式3. ATBLERFPWR 蓝牙设置或查询发射功率4. ATBLESTATE 查询连接状态5. ATBLEDISCON 断开蓝牙连接6. ATBLEMTU 查询或者设置 MTU7. ATBLESEND 向蓝牙透传通道发送数据8. ATTRAN…

mapstruct学习笔记-pojo之间的转换

1、前言 mapstruct中常用注解如Mapping,AfterMapping,BeanMapping等的使用,通过案例说明各式各样的业务pojo对象之间如何借助mapstruct完成相互之间的转换,减少代码量的同时也能突出业务逻辑流程,让你的代码里写起来更有规范可言。 2、简介 Reference Guide – MapStruct 3…

1-postgresql数据库高可用脚本详解

问题&#xff1a; pgrep -f postgres > /dev/null && echo 0 || pkill keepalived 这是什么意思 建议换成 pgrep -f postmaster > /dev/null && echo 0 || pkill keepalived 回答 这条命令是一个复合命令&#xff0c;包含条件执行和重定向的元素。让我们…

网站引用图片但它域名被墙了或者它有防盗链,我们想引用但又不能显示,本文附详细的解决方案非常简单!

最好的办法就是直接读取图片文件&#xff0c;用到php中一个常用的函数file_get_contents(图片地址)&#xff0c;意思是读取远程的一张图片&#xff0c;在输出就完事。非常简单&#xff5e;话不多说&#xff0c;直接上代码 <?php header("Content-type: image/jpeg&quo…

rviz上不显示机器人模型(模型只有白色)

文档中的是base_footprint&#xff0c;需要根据自己所设的坐标系更改&#xff0c;我的改为base_link 如何查看自己设的坐标系&#xff1a; 这些parent父坐标系就是 同时打开rviz后需要更改成base_link

openEuler 欧拉系统nginx正向代理 http https —— 筑梦之路

正向代理 Nginx正向代理&#xff0c;通过服务器代理客户端去重定向请求访问到目标服务器的一种代理服务。对于目标服务器来说浏览器/客户端是隐藏的。Nginx 正向代理默认只支持http 协议&#xff0c;不支持 https 协议&#xff0c;需借助"ngx_http_proxy_connect_module&q…

【数据结构取经之路】栈

目录 引言 栈的性质 顺序栈 栈的基本操作 初始化 销毁 插入 删除 判空 取栈顶元素 栈的大小 完整代码&#xff1a; 引言 栈(stack)&#xff0c;可以用数组实现&#xff0c;也可以用链表实现。用数组实现的栈叫顺序栈&#xff0c;用链表实现的栈叫链式栈&#…

使用uniapp,uni-data-select组件时,内容长度没超过容器宽度时候虽然能显示全内容但是数据后边会出现三个点,逼死强迫症

项目场景&#xff1a; 微信小程序开发&#xff0c;使用uniapp&#xff0c;uni-data-select组件时&#xff0c;内容长度没超过容器宽度时候虽然能显示全内容但是数据后边会出现三个点&#xff0c;逼死强迫症 解决方案&#xff1a; 找到组件的源代码&#xff0c;然后删除那三个…

鸿蒙实战开发:【FaultLoggerd组件】讲解

简介 Faultloggerd部件是OpenHarmony中C/C运行时崩溃临时日志的生成及管理模块。面向基于 Rust 开发的部件&#xff0c;Faultloggerd 提供了Rust Panic故障日志生成能力。系统开发者可以在预设的路径下找到故障日志&#xff0c;定位相关问题。 架构 Native InnerKits 接口 Si…

英伟达深夜放王炸|字节跳动游戏之路波折不断|文旅短剧风口将至|25岁QQ魅力不减,5亿人在用|云计算市场疯长152%|电商巨头齐瞄向富足悠闲银发族

新闻一分钟速览 文旅短剧风口将至&#xff0c;一地狂拍十部&#xff0c;影视界看法分歧&#xff0c;悬念丛生&#xff01;字节跳动游戏之路波折不断&#xff0c;能否逆风翻盘引关注。折叠屏手机痛症治愈&#xff0c;实力席卷高端市场&#xff0c;势头强劲&#xff01;雷军豪言…

刷题日记:面试经典 150 题 DAY6

刷题日记&#xff1a;面试经典 150 题 DAY6 392. 判断子序列167. 两数之和 II - 输入有序数组11. 盛最多水的容器15. 三数之和209. 长度最小的子数组 392. 判断子序列 原题链接 392. 判断子序列 双指针&#xff0c;i指向s&#xff0c;j指向t 如果s[i]t[j]&#xff0c;则匹配…

SCI一区 | Matlab实现GWO-TCN-BiGRU-Attention灰狼算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现GWO-TCN-BiGRU-Attention灰狼算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现GWO-TCN-BiGRU-Attention灰狼算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述程序…

F-logic DataCube3 任意文件上传漏洞复现(CVE-2024-25832)

0x01 产品简介 F-logic DataCube3是一款用于光伏发电系统的紧凑型终端测量系统。 0x02 漏洞概述 F-logic DataCube3 /admin/setting_photo.php接口处存在任意文件上传漏洞 ,未经身份验证的攻击者可通过该漏洞在服务器端写入后门,获取服务器权限,进而控制整个web服务器。 …

【C++】用红黑树模拟实现set、map

目录 前言及准备&#xff1a;一、红黑树接口1.1 begin1.2 end1.3 查找1.4 插入1.5 左单旋和右单旋 二、树形迭代器&#xff08;正向&#xff09;2.1 前置 三、模拟实现set四、模拟实现map 前言及准备&#xff1a; set、map的底层结构是红黑树&#xff0c;它们的函数通过调用红…

学习笔记--强化学习(1)

参考&#xff1a;https://blog.csdn.net/koulongxin123/article/details/122676149 1.什么是强化学习&#xff1f; (1)定义 基于环境的反馈而行动&#xff0c;通过不断与环境的交互、试错&#xff0c;最终完成特定目的或者使得整体行动收益最大化&#xff08;是一种通过与环境…
最新文章