当前位置: 首页 > article >正文

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


✨✨ 欢迎大家来访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

相关文章:

  • 如何优雅的关闭GoWeb服务器
  • 免费送源码:Java+ssm++MVC+HTML+CSS+MySQL springboot 社区医院信息管理系统的设计与实现 计算机毕业设计原创定制
  • 堆【Lecode_HOT100】
  • JNDI基础
  • 音视频入门基础:MPEG2-TS专题(21)——FFmpeg源码中,获取TS流的视频信息的实现
  • Go vendor
  • 代码随想录算法训练营第二十八天|93. 复原 IP 地址,78. 子集,90. 子集 II
  • GPT能复制人类的决策和直觉吗?
  • Vue async (type = 0) => {}代码讲解
  • 前端 - 基础 表单标签 -- 表单元素( input - type属性) 文本框和密码框
  • Android逆向(二)-系统调试开关
  • 【深度学习】深度学习md笔记总结第1篇:深度学习课程,要求【附代码文档】
  • 数据资产管理解决方案:构建高效、安全的数据生态体系
  • Linux之线程同步
  • 系统运维中出现的问题,问题原因,解决办法
  • PB-03F模组蓝牙基础+主从机指令的使用
  • mapstruct学习笔记-pojo之间的转换
  • 73_Pandas获取分位数/百分位数
  • 1-postgresql数据库高可用脚本详解
  • 网站引用图片但它域名被墙了或者它有防盗链,我们想引用但又不能显示,本文附详细的解决方案非常简单!
  • rviz上不显示机器人模型(模型只有白色)
  • 【Numpy】(2)numpy对象和random模块
  • openEuler 欧拉系统nginx正向代理 http https —— 筑梦之路
  • 【数据结构取经之路】栈
  • 使用uniapp,uni-data-select组件时,内容长度没超过容器宽度时候虽然能显示全内容但是数据后边会出现三个点,逼死强迫症
  • nginx实现多个域名和集群