《数据库技术基础与应用(第2版)》学习笔记——第3章

简介:

第3章 关系模型的基本概念

3.1 关系的定义与性质

3.1.1 关系的定义
域(Domain):是值的集合
笛卡尔积(Cartesian Product):集合中各元素之间一切可能的匹配组合构成的集合。
笛卡尔积中包含元组(Tuple)。元组个数称为笛卡尔积的基数(Cardinality)。元组由元组分量组成,元组分量是元组的值。参与笛卡尔积的域的个数,称为元数(Arity)或度。
关系:也称为关系模式的一个实例。
域中的任一个元素称为关系中的一个元组。
3.1.2 键(Key):即关键字
超键(Super Key):在一个关系中能够唯一标识元组的属性组合
候选键(Candidate Key):不含多余属性的超键
主键(Primary Key):用户选做元组标识的那个候选键
外键(Foreign Key):关系R中某个属性组合A不是关系R的候选键,而是关系S的候选键,则称A为R的外键
3.1.3 关系的性质
关系中的每个元组分量必须是原子的
关系中不允许出现相同的元组
定义一个关系模式时可随意指定属性的排列次序
在一个关系中元组的排列次序可任意交换
关系模式相对稳定,关系实例则随时间的推移而不断地变化

3.2 关系模型

3.2.1 从ER图导出关系模型数据结构
两实体集间1:N联系
将“1”方关系的“主键”纳入“N”方关系中作为“外键”,同时把联系的属性也一起纳入“N”方关系中。
两实体集间M:N联系
将“联系”单独建立一个关系,需要把联系关联的双方实体的“主键”纳入到“联系”的关系中作为“主键”和“外键”。
两实体集间1:1联系
“联系”不单独建立关系,将其中一个实体集的主键纳入另一个实体集作为外键。
“联系”单独建立关系,将两个实体集的主键都纳入关系中作为主键和外键。
同一实体集内各实体间1:N联系
在实体集内增加一个属性,用来表示与当前实体相联系的另一个实体的“主键”
同一实体集内各实体间M:N联系
“联系”单独建立关系,将相互联系的双方实体的“主键”都纳入到关系中。
多个实体集间M:N多元联系
“联系”单独建立关系,将相互联系的所有实体的“主键”都纳入到关系中。
3.2.2 关系模型的体系结构
关系概念模式
由若干个关系模式组成的集合,它描述关系数据库中全部数据的整体逻辑结构。
关系外模式
关系外模式是关系概念模式的一个逻辑子集。描述关系数据库中数据的局部逻辑结构。
关系概念模式与关系外模式之间的映射在外模式中描述。
在关系数据库中,一个用户可以使用的全部的“表”和“虚表”构成这个用户的数据视图,视图中所有“表”和“虚表”的框架组成数据库的外模式。
系统把“虚表”的定义存储在数据字典中。
关系内模式
关系存储时的基本组织方式是文件,关系中的元组对应文件中的记录。
关系概念模式和关系内模式之间的映射在内模式中描述。
3.2.3 关系模型的三类完整性约束规则
实体完整性约束规则
关系中不允许出现相同的元组,在组成主键的属性上也不允许取空值
参照完整性约束规则
不能引用不存在的实体,又称为引用完整性
用户定义的完整性约束规则
针对某些具体数据的约束规则,主要是保证数据的语义要求。
3.2.4 关系模型的形式定义
关系模型是一种结构数据模型,是能够在计算机中真正实现的模型,有着严格的形式化定义。
关系模型的组成
数据结构:数据的表达方式和数据联系的实现方式。
数据操作:检索和更新(即插入、删除和修改)两大类操作。
数据完整性约束:给出数据及联系的制约与依赖规则,保证数据的正确性。

3.3 关系数据语言

3.3.1 关系数据描述语言(DDL)
问答式DDL
通过人机对话建立关系模式,简单易学,但是人工干预多,速度慢。
语言描述式DDL
使用源语句描述定义关系模式的内容,再编译成目标模式。
3.3.2 关系数据操纵语言(DML)
DML的特点
操作对象与操作结果都是关系
语言完备性及非过程性
语言所提供的运算(或操作)可以存取数据库中的任何数据及数据间的联系信息。
关系代数和关系演算都是衡量关系数据库语言完备性的标准
用户在编写应用程序时,只需要提出“做什么”,不需要说明“怎么做”,就称这种语言的非过程性级别高。
语言建立在严密的数学理论基础上
用关系代数运算表达查询,查询以集合理论为基础
用关系演算公式表达查询,查询以数理逻辑谓词演算为基础
3.3.3 标准数据库语言SQL
SQL介绍
SQL是一种介于关系代数与关系演算之间的语言
SQL是已经被认可的标准数据库语言

本文转自BlogJava朱远翔的博客,原文链接:《数据库技术基础与应用(第2版)》学习笔记——第3章,如需转载请自行联系原博主。

相关文章
|
11天前
|
存储 安全 搜索推荐
酒店管理系统的数据库的应用以及选择
酒店管理系统数据库关乎运营效率和服务质量。数据库用于数据存储、管理、分析及客户关系管理,确保房态与预订精准。选择时重视性能稳定性、数据安全、易用性、可扩展性和成本效益。合适的数据库能提升酒店运营效率并优化客户体验。
21 2
|
25天前
|
Cloud Native OLAP OLTP
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
123 4
|
30天前
|
Cloud Native 关系型数据库 分布式数据库
开发者视角看云原生数据库一体化技术趋势
随着云原生数据库技术的不断发展,一体化数据库解决方案成为技术圈的热点,云原生数据库一体化技术是当前数据库领域的重要趋势,对于开发者而言,学习理解和应对这一趋势,对于业务开发的成功实施非常重要。比如,阿里云瑶池数据库和PolarDB-X等产品通过离在线一体化、处理分析一体化和集中分布一体化等创新理念,引领了数据库领域的新变革。那么本文就来从开发者的角度探讨云原生数据库一体化技术趋势,并分析在业务处理分析一体化、集中式与分布式数据库边界模糊和云原生一体化数据库的选择等方面的影响。
188 4
|
12天前
|
存储 中间件 关系型数据库
数据库切片大对决:ShardingSphere与Mycat技术解析
数据库切片大对决:ShardingSphere与Mycat技术解析
20 0
|
25天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
95 0
|
6天前
|
存储 数据库连接 数据处理
NumPy与数据库的结合应用探索
【4月更文挑战第17天】本文探讨了NumPy与数据库结合在数据处理和分析中的应用,阐述了结合使用的必要性,包括数据提取、转换、处理与分析及结果存储。通过Python数据库连接库提取数据,转化为NumPy数组进行高效计算,适用于金融等领域的数据分析。结合应用的优势在于高效性、灵活性和可扩展性,但也面临数据转换、性能优化和安全性挑战。
|
7天前
|
存储 SQL 安全
6.数据库技术基础
6.数据库技术基础
|
13天前
|
存储 传感器 监控
数据库的应用
数据库广泛应用于电子商务、物流、酒店管理、医疗、航空、教育、政府和物联网等领域,用于高效存储和管理商品信息、订单数据、医疗记录、航班详情等各类数据,提升效率和服务质量。随着技术进步,其应用场景将持续扩展。
11 1
|
20天前
|
NoSQL 大数据 数据挖掘
现代数据库技术与大数据应用
随着信息时代的到来,数据量呈指数级增长,对数据库技术提出了前所未有的挑战。本文将介绍现代数据库技术在处理大数据应用中的重要性,并探讨了一些流行的数据库解决方案及其在实际应用中的优势。
|
25天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)(一)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)
30 0