SQL教程之一篇文章理解第一范式、第二范式、第三方式(SQL规范化含案例)
2023-09-11 14:18:47 时间
为什么我们要规范化数据?这个问题突然出现在我们的脑海中对吧?!Well 数据通常非常混乱和肮脏,有 Null、重复、空白和大量冗余数据。
现在我们将研究重复和冗余之间的区别。
重复是指创建了一条数据的精确副本,正如您在下面看到的第二条记录已被复制并可能导致问题。
冗余是指数据中有两个具有相似含义但不重复的值。数据完整性受到冗余和重复数据的挑战。
如何摆脱冗余?
答案很简单,将数据标准化。
第一个规范化形式- 多值列(同一列具有逗号分隔值或多值)
例子 -
在这里,我想将姓氏 Watson 更改为 Parker,因此为了避免冗余和多值列,我们将拆分列并使它们更具原子性。
如上表所示,我们将一列分成三列,以避免列中的冗余和多值。
2 、第二范式——在同一个表中,正常键依赖于主键,即部分依赖时,可能会发生冗余。
为了解决这个冗余,我们将表一分为二并创建主/参考表,我们需要确保 NON_KEY 列应该直接依赖于主键。
例子 -
相关文章
- SQL Pretty Printer sql 格式化
- Linux内存泄露案例分析和内存管理分享
- SQL Server 占用内存太高,查找占用内存高以及影响其性能的sql语句及解决方法
- 【MATLAB教程案例93】在MATLAB中通过mex将C语言转化为matlab可执行的mexw64文件
- 【MATLAB教程案例31】基于matlab的人脸检测相关算法的仿真与分析——肤色模型与形态学图像处理方法
- 【FPGA教程案例51】控制案例3——基于FPGA的PWM波形产生verilog实现
- 【FPGA教程案例33】通信案例3——基于FPGA的BPSK调制信号产生,通过matlab测试其星座图
- 【FPGA教程案例26】在FPGA中通过verilog来实现小数的基础运算
- 网络安全产品之堡垒机介绍以及应用案例
- 优化案例 | 分区表场景下的SQL优化
- node案例
- sql语言实践之自学SQL网(SQL Lesson8,9)
- pl/sql 过程分页显示小案例
- SQL Server: Get table primary key and Foreign Key using sql query
- 通过手动创建统计信息优化sql查询性能案例
- Cesium 本地部署案例
- 怎样使用oracle 的DBMS_SQLTUNE package 来执行 Sql Tuning Advisor 进行sql 自己主动调优
- (1.2)sql server for linux 开启代理服务(SQL AGENT),使用T-SQL新建作业
- sql server存储引擎启动错误(SQL Server could not spawn FRunCM thread)
- 如何查看正在执行sql的语句及其父语句调用?如何查看正在执行SQL的具体参数值与执行计划?xml执行计划转为图形计划
- 【sql server镜像】SQL SERVER 基于数据库镜像的主从同步(数据库镜像实践汇总)
- HBase使用场景和成功案例 (转)
- 防抖(debounce)和节流(throttle)区别详细讲解及案例练习