《数据库技术基础与应用(第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章,如需转载请自行联系原博主。
相关文章
|
25天前
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
56 19
|
21天前
|
人工智能 Cloud Native 多模数据库
实力见证!数据管理服务DMS、云原生多模数据库Lindorm荣获“2024技术卓越奖”
实力见证!数据管理服务DMS、云原生多模数据库Lindorm荣获“2024技术卓越奖”
|
1月前
|
SQL 存储 关系型数据库
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
91 9
|
2月前
|
存储 运维 OLAP
【Meetup回顾 第1期】竟是这样的国产数据库,YashanDB技术内幕曝光
YashanDB是一款基于统一内核,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景的新型数据库系统;YashanDB同时提供开发平台、运维平台和迁移平台3大工具平台以满足数据全生命周期管理。
56 2
【Meetup回顾 第1期】竟是这样的国产数据库,YashanDB技术内幕曝光
|
1月前
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课16 接入PostGIS全功能及应用举例
本文介绍了如何在PolarDB数据库中接入PostGIS插件全功能,实现地理空间数据处理。此外,文章还提供了使用PostGIS生成泰森多边形(Voronoi diagram)的具体示例,帮助用户理解其应用场景及操作方法。
41 0
|
2月前
|
缓存 NoSQL JavaScript
Vue.js应用结合Redis数据库:实践与优化
将Vue.js应用与Redis结合,可以实现高效的数据管理和快速响应的用户体验。通过合理的实践步骤和优化策略,可以充分发挥两者的优势,提高应用的性能和可靠性。希望本文能为您在实际开发中提供有价值的参考。
69 11
|
2月前
|
关系型数据库 分布式数据库 数据库
1月17日|阿里云云谷园区,PolarDB V2.0技术沙龙,畅聊国产数据库
为了助力国产化项目顺利推进,阿里云邀请企业开发者和数据库负责人到云谷园区,与PolarDB V2.0技术专家面对面交流。扫描海报二维码报名,我们将根据信息为您申请入园。欢迎参与,共同探讨PolarDB的最新技术和应用!
|
3月前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
97 15
|
3月前
|
人工智能 物联网 大数据
解密时序数据库的未来:TDengine Open Day技术沙龙精彩回顾
在数字化时代,开源已成为推动技术创新和知识共享的核心力量,尤其在数据领域,开源技术的涌现不仅促进了行业的快速发展,也让更多的开发者和技术爱好者得以参与其中。随着物联网、工业互联网等技术的广泛应用,时序数据库的需求愈发强烈,开源的兴起更是为这一技术的创新与普及提供了强有力的支持。
61 3
|
3月前
|
人工智能 容灾 关系型数据库
【AI应用启航workshop】构建高可用数据库、拥抱AI智能问数
12月25日(周三)14:00-16:30参与线上闭门会,阿里云诚邀您一同开启AI应用实践之旅!

热门文章

最新文章