数据库 - 理解了完全依赖和部分依赖,就很容易理解第二范式

embedded/2024/9/22 23:30:13/

第二范式(Second Normal Form,2nd NF)是指每个表必须有主关键字(Primary key),其他数据元素与主关键字一一对应。通常称这种关系为函数依赖(Functional dependence)关系,即表中其他数据元素都依赖于主关键字,或称该数据元素唯一地被主关键字所标识。第二范式数据库规范化中所使用的一种正规形式。它的规则是要求数据表里的所有非主属性都要和该数据表的主键有完全依赖关系;如果有哪些非主属性只和主键的一部份有关的话,它就不符合第二范式。同时可以得出:如果一个数据表的主键只有单一一个字段的话,它就一定符合第二范式(前提是该数据表符合第一范式)。

定义

例如:若关系模式R∈1NF(即R符合第一范式),并且每一个非主属性都完全依赖于R的主码,则R∈2NF(即R符合第二范式)。

所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,理解了完全依赖部分依赖,就很容易理解第二范式,下面举例说明一下。

例如以下实例中的关系模式,就是不符合2NF的一个典型例子。

示例

货物类型

货物ID

货物名称

注意事项

瓷碗

1

白色瓷碗

易碎品

瓷碗

2

青花瓷碗

易碎品

瓷碗

3

雕花瓷碗

易碎品

三合板

4

普通三合板

易燃物品,注意防火

在该表中主键为(货物类型,货物ID),货物名称字段完全依赖于这个主键,换句话说,货物的名称完全是取决于这个主键的值的。但“注意事项”这一列,仅依赖于一个主键中”货物类型“这一个属性。简单地说,第二范式要求每个非主属性完全依赖于主键,而不是仅依赖于其中一部分属性。

那么,既然表中存在一个对主键不是完全依赖的字段,那么我们就可以确定,该表不符合第二范式

货物类型

货物ID

货物名称

瓷碗

1

白色瓷碗

瓷碗

2

青花瓷碗

瓷碗

3

雕花瓷碗

三合板

4

普通三合板

在该表中的主键依然是(货物类型、货物ID),非主键字段“货物名称”,完全依赖于这两个主键,那么我们就可以说,该表是符合数据库第二范式的。


http://www.ppmy.cn/embedded/45963.html

相关文章

程序员搞副业得搞出影响力来

技能影响力类 工具是免费提供的,开发者创建这类工具可能仅仅是为了分享自己的成果。 这类工具通常开源发布在Github上,开发者有时会附上自己的支付宝或微信收款码,允许用户进行捐赠和打赏,采取一种随缘的赚钱方式。 通过这些工…

「布道师系列文章」众安保险王凯解析 Kafka 网络通信

作者|众安保险基础平台 Java 开发专家王凯 引言 今天给大家带来的是 Kafka 网路通信主要流程的解析(基于 Apache Kafka 3.7[2])。同时引申分析了业界当前较火的AutoMQ基于Kafka在网络通信层面的优化和提升。 01 如何构建一个基本的请求…

使用 Apache Commons Exec 自动化脚本执行实现 MySQL 数据库备份

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

图形学初识--颜色混合

文章目录 前言正文为什么要有颜色混合?颜色混合常见实现方式?上述颜色混合注意点 结尾:喜欢的小伙伴点点关注赞哦! 前言 本章节补充一下颜色混合的内容,主要包含:为什么要有颜色混合?颜色混合常实现方式&a…

使用 Django 和 Django REST Framework (DRF) 构建简单 API 的示例

以下是一个使用 Django 和 Django REST Framework (DRF) 构建简单 API 的示例。这个示例展示了如何创建一个简单的书籍管理系统,包括创建、读取、更新和删除书籍信息。 创建 Django 项目和应用 首先,创建一个新的 Django 项目和应用: djang…

Kibana创建ElasticSearch 用户角色

文章目录 1, ES 权限参考2, 某应用的管理员权限:可以open/close/delete/cat/read/write 索引3, 某应用的读写权限:可以cat/read/write 索引 (不能删除索引或数据)4, 某应用的只读权限 1, ES 权限参考 https://www.elastic.co/gui…

Nexus Repository 3 存在文件读取漏洞

声明: 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 简介 Nexus Repository(Nexus 仓库&#xff…

基于线性回归根据饮食习惯和身体状况估计肥胖水平

目录 1. 作者介绍2.饮食习惯与身体状况数据集介绍3.实验步骤3.1 数据分析3.2 可视化处理数据3.3 导入线性回归模型进行训练3.4 预测结果3.5 完整代码3.5.1 数据分析3.5.2 模型评估 参考文献 1. 作者介绍 刘欢,女,西安工程大学电子…