《数据库技术基础与应用(第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章,如需转载请自行联系原博主。

相关实践学习
MySQL数据库快速部署实践
本场景主要介绍如何在一台配置了CentOS 7.7版本的ECS实例(云服务器)上安装mysql,执行mysql的常用操作,学习基本的SQL语句。
相关文章
|
15天前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
3月前
|
存储 关系型数据库 数据库
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
本文通过一个 Agentic RAG 应用的完整构建流程,展示了如何借助 RDS Supabase 快速搭建具备知识处理与智能决策能力的 AI 应用,展示从数据准备到应用部署的全流程,相较于传统开发模式效率大幅提升。
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
|
4月前
|
安全 druid Nacos
0 代码改造实现应用运行时数据库密码无损轮转
本文探讨了敏感数据的安全风险及降低账密泄漏风险的策略。国家颁布的《网络安全二级等保2.0标准》强调了企业数据安全的重要性。文章介绍了Nacos作为配置中心在提升数据库访问安全性方面的应用,并结合阿里云KMS、Druid连接池和Spring Cloud Alibaba社区推出的数据源动态轮转方案。该方案实现了加密配置统一托管、帐密全托管、双层权限管控等功能,将帐密切换时间从数小时优化到一秒,显著提升了安全性和效率。未来,MSE Nacos和KMS将扩展至更多组件如NoSQL、MQ等,提供一站式安全服务,助力AI时代的应用安全。
321 14
|
1月前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
144 8
|
1月前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
88 1
|
1月前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
128 8
|
1月前
|
存储 弹性计算 安全
现有数据库系统中应用加密技术的不同之处
本文介绍了数据库加密技术的种类及其在不同应用场景下的安全防护能力,包括云盘加密、透明数据加密(TDE)和选择列加密。分析了数据库面临的安全威胁,如管理员攻击、网络监听、绕过数据库访问等,并通过能力矩阵对比了各类加密技术的安全防护范围、加密粒度、业务影响及性能损耗。帮助用户根据安全需求、业务改造成本和性能要求,选择合适的加密方案,保障数据存储与传输安全。
|
1月前
|
SQL 数据管理 BI
数据库操作三基石:DDL、DML、DQL 技术入门指南
本文围绕数据库操作核心语言 DDL、DML、DQL 展开入门讲解。DDL 作为 “结构建筑师”,通过CREATE(建库 / 表)、ALTER(修改表)、DROP(删除)等命令定义数据库结构;DML 作为 “数据管理员”,以INSERT(插入)、UPDATE(更新)、DELETE(删除)操作数据表记录,需搭配WHERE条件避免误操作;DQL 作为 “数据检索师”,通过SELECT结合WHERE、ORDER BY、LIMIT等子句实现数据查询与统计。三者相辅相成,是数据库操作的基础,使用时需注意 DDL 的不可撤销性、DML 的条件约束及 DQL 的效率优化,为数据库学习与实践奠定基础。
|
2月前
|
缓存 关系型数据库 MySQL
MySQL数据库性能调优:实用技术与策略
通过秉持以上的策略实施具体的优化措施,可以确保MySQL数据库的高效稳定运行。务必结合具体情况,动态调整优化策略,才能充分发挥数据库的性能潜力。
146 0

热门文章

最新文章