数据库设计准则(第一、第二、第三范式说明)
I、关系数据库设计范式介绍1.1 第一范式(1NF)无重复的列
所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。简而言之,第一范式就是无重复的列。
说明:在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
1.2 第二范式(2NF)属性完全依赖于主键[消除部分子函数依赖]
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。例如员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的,因此每个员工可以被惟一区分。这个惟一属性列被称为主关键字或主键、主码。
第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是属性完全依赖于主键。
1.3 第三范式(3NF)属性不依赖于其它非主属性[消除传递依赖]
满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在的员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。

转载https://zhidao.baidu.com/question/362063647.html

数据库第三范式的标准相关推荐

  1. Android Studio开发(四)SQLite数据库的DAO标准CRUD操作模拟微信通讯录

    Android Studio开发(四)SQLite数据库的DAO标准CRUD操作模拟微信通讯录 Android Studio开发(四)SQLite数据库的DAO标准CRUD操作模拟微信通讯录 一.任务 ...

  2. 违反mysql三范式_违反数据库第三范式引发的一个问题

    数据库第三范式的定义,是这样的: A table is in a third normal form when the following conditions are met - It is in ...

  3. oracle数据库审计优点缺点,Oracle数据库安全性:标准数据库审计

    Oracle 数据库在其标准版和企业版数据库中均提供了强健的审计支持.审计记录包括有关已审计的操作.执行操作的用户以及操作的时间和日期的信息.审计记录可以存储在数据库审计线索中或操作系统上的文件上.标 ...

  4. Labview2019,通讯三菱plc,用opc和mc通讯协议,sqlite数据库,labview标准框架jki状态机,加上数组队列,实现多线程交互。

    Labview2019,通讯三菱plc,用opc和mc通讯协议,sqlite数据库,labview标准框架jki状态机,加上数组队列,实现多线程交互. _:4550670508310561加菲猫眼

  5. mysql课程标准_102214《MySql数据库》课程标准.doc

    <MySql数据库>课程标准 课程代码: 102214 参考学时: 72 学 分: 4 课程类型: 专业课 2015年 1月编 一.适用专业 计算机应用技术专业(5年制高职). 二.开课时 ...

  6. GB/T 20281-2020实施两周年,美创数据库防火墙的标准实践

    2020年11月1日,新版防火墙国家标准-GB/T 20281-2020<信息安全技术 防火墙安全技术要求和测试评价方法>落地实施,数据库防火墙首次与网络型防火墙.WEB应用防火墙.主机型 ...

  7. mysql数据库基础评分标准_《MYSQL高级查询与编程》综合机试试卷 - 云南农职美和易思...

    题目:银行mysql数据库系统管理 目录 一.语言和环境 实现语言:sql. 开发环境:mySql,navicat. 二.题目(100分): 功能需求: a.创建数据库,名称为myBank: b.创建 ...

  8. 数据库-第三范式及BCN

    第三范式(Third Normal Form) 定义:若关系模式R属于第一范式,且每个非主属性都不传递函数依赖于主键,则R属于 第三范式 说明:3NF说明的是非主属性和主键之间的函数依赖关系 例如:选 ...

  9. 【数据库】关系数据库标准sql语言

    3:关系数据库标准语言SQL DDL操作(3) 创建数据库 sqlserver CREATE DATABASE database_name [ON { [PRIMARY] (NAME=logical_ ...

最新文章

  1. 如何在android中水平放置三张图片,Android ACTION_VIEW多张图片
  2. less及编译工具介绍
  3. JSTL 格式化 BigDecimal对象
  4. e.printStackTrace()会导致锁死?这仅仅是打印,怎么可能?
  5. MATLAB-Direct access of structure fields returned by a function call is not allowed 的解决方法~
  6. Storm-源码分析-EventManager (backtype.storm.event)
  7. 在Java中使用Socket模拟客户端和服务端(多线程)
  8. Linux最常用命令:简单易学,但能解决95%以上的问题
  9. 概念验证:玩! 构架
  10. 百度MIP移动页面加速——不只是CDN
  11. 3-35Pytorch与visdom
  12. MySQL中的isnull、ifnull和nullif函数用法
  13. 一看数分就想写个程序玩玩。。。
  14. 初中英语和计算机融合的教学案例,信息技术与中学英语整合课教学案例
  15. python 常用模块列表
  16. 2022 MegCup | 小模型盲降噪怎么比?资深炼丹师给你赛前指导!
  17. Flink CEP greedy理解
  18. emlog模板 Meta主题带后台开源版 资源娱乐网模板
  19. 适合程序员使用的键盘有哪些?
  20. 网易猛犸:数据质量漫谈

热门文章

  1. WAIC 2022 | 洞见科技在可信AI论坛联合发布《可信人工智能产业生态发展报告》
  2. mysql 实验手册_mysqlcrashcourse实验指导手册.doc
  3. 阿里云https配置nginx后外网无法访问 已解决
  4. Uipath 处理excel转PDF或者合并PDF(excel to pdf, join pdf files)
  5. Nginx之访问限制模块之 limit_conn 模块、limit_req 模块
  6. 浙江大学墙裂推荐的超高人气《看漫画学Python》回来啦
  7. Packet Tracer - 在思科路由器上配置 AAA 认证
  8. Flume跨服务器监控日志数据
  9. python发送微信文件夹_python自动化操作——复制文件到剪切板发送微信
  10. changyan main.php,PHP