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

简介:

第5章 关系模式设计

5.1 关系模式设计问题

泛模式:用一个大表存放所有的数据
泛模式存在的问题
数据冗余
操作异常
更新异常
插入异常
删除异常
泛模式分解:分解为若干个模式后,可使每个模式概念单一,数据模型结构合理。

5.2 函数依赖

5.2.1 函数依赖的定义
X→Y:X函数决定Y或Y函数依赖于X,“X→Y”为模式R的一个函数依赖
函数依赖是它所表示的事物性质的相关性与设计者进行强制的一种结合
5.2.2 函数依赖的逻辑蕴涵定义
X→Y为F的逻辑蕴涵(或F逻辑蕴涵X→Y):表示从F中可以推导出X→Y。
F的闭包:F逻辑蕴涵的全体函数依赖构成一个集合
5.2.3 函数依赖的推理规则
函数依赖的公理:自反律、增广律、传递律
5.2.4 属性集的闭包
一个函数依赖X→Y的充分必要条件是Y⊆X+
5.2.5 函数依赖推理规则的完备性
函数依赖推理规则体系是完备的
5.2.6 函数依赖集的等价和最小函数依赖集
两个函数依赖集等价,也可以称为覆盖。
任何函数依赖集都有最小覆盖

5.3 关系模式的分解

5.3.1 分解关系模式出现的问题
分解是否具有无损连接
分解是否保持了函数依赖
5.3.2 无损连接分解
5.3.3 保持函数依赖分解
关系模式R上的函数依赖集F在分解后仍在数据库模式中保持不变

5.4 关系模式的范式

5.4.1 几个概念
主属性
非主属性
部分依赖
完全依赖
传递依赖
5.4.2 第1范式(1NF)
关系中的每个元组分量必须是原子的,即元组中的每个属性值是不可再分解的
任何规范关系都必须遵守的最低要求
5.4.3 第2范式(2NF)
关系中的每个非主属性都完全依赖于某个候选关键字
5.4.4 第3范式(3NF)
关系中的每个非主属性都不传递依赖于羬绵某个候选关键字
5.4.5 Boyce-Codd范式(BCNF)
关系中的每个函数依赖X→Y,必有X是关系的超关键字
5.4.8 多值依赖(Multivalued Dependency,MVD)
关系中属性值之间的一对多关系
性质:
多值依赖具有对称性质
函数依赖是多值依赖的一种特殊情况
存在平凡的多值依赖
5.4.9 第4范式(4NF)
关系中每个非平凡的多值依赖X→→Y,必有X是关系的超关键字
5.4.10 关系模式设计的基本原则
等价性
无论对一个模式进行分解或模式间进行连接,都要做到数据等价和依赖等价
分离性
一个模式表达一个语义概念。
分离的基准就是一系列的范式。
最小冗余性
在保证正确性的前提下清除不必要的冗余,其目的是从时空两个方面提高效率。
本文转自BlogJava朱远翔的博客,原文链接:《数据库技术基础与应用(第2版)》学习笔记——第5章,如需转载请自行联系原博主。
相关文章
|
2月前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
219 2
|
2月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
5月前
|
存储 关系型数据库 数据库
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
本文通过一个 Agentic RAG 应用的完整构建流程,展示了如何借助 RDS Supabase 快速搭建具备知识处理与智能决策能力的 AI 应用,展示从数据准备到应用部署的全流程,相较于传统开发模式效率大幅提升。
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
|
6月前
|
安全 druid Nacos
0 代码改造实现应用运行时数据库密码无损轮转
本文探讨了敏感数据的安全风险及降低账密泄漏风险的策略。国家颁布的《网络安全二级等保2.0标准》强调了企业数据安全的重要性。文章介绍了Nacos作为配置中心在提升数据库访问安全性方面的应用,并结合阿里云KMS、Druid连接池和Spring Cloud Alibaba社区推出的数据源动态轮转方案。该方案实现了加密配置统一托管、帐密全托管、双层权限管控等功能,将帐密切换时间从数小时优化到一秒,显著提升了安全性和效率。未来,MSE Nacos和KMS将扩展至更多组件如NoSQL、MQ等,提供一站式安全服务,助力AI时代的应用安全。
377 14
|
3月前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
263 8
|
3月前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
184 1
|
3月前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
188 8
|
3月前
|
存储 弹性计算 安全
现有数据库系统中应用加密技术的不同之处
本文介绍了数据库加密技术的种类及其在不同应用场景下的安全防护能力,包括云盘加密、透明数据加密(TDE)和选择列加密。分析了数据库面临的安全威胁,如管理员攻击、网络监听、绕过数据库访问等,并通过能力矩阵对比了各类加密技术的安全防护范围、加密粒度、业务影响及性能损耗。帮助用户根据安全需求、业务改造成本和性能要求,选择合适的加密方案,保障数据存储与传输安全。
|
3月前
|
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 的效率优化,为数据库学习与实践奠定基础。

热门文章

最新文章