十二、三大范式

简介: 十二、三大范式

范式Normal Form

在设计表 的时候,需要遵循---范式Normal Form

第一范式(1NF):根据业务需求,该列分割到不可再分割 的列,具有原子性

第二范式(2NF):先满足第一范式,确保表中的每列都和主键相关

第三范式(3NF):先满足第一范式和第二范式,确保表中的每列直接依赖于主键列,而不是间接依赖关系

第一范式(1NF):列具有原子性

第二范式:

订单表

存在的问题: 商品原产地与主键(订单编号)不相关第二范式的要求: 确保表中的每列都和主键相关。

解决:

第三范式:

存在的问题: 用户姓名 不与该表的主键 (订单编号)直接相关,而是与用户编号相关

解决:

目录
相关文章
|
3月前
|
存储 关系型数据库 MySQL
表设计的10条军规
本文主要介绍了数据库建表的18个小技巧,包括:名字的命名规范、字段类型的选取、字段长度的控制、外键的使用、索引的创建、主键的选择、字段个数的限制、存储引擎的选择、时间字段的处理、金额字段的保存、冗余字段的使用以及注释的添加。作者强调了命名的重要性,如使用小写字母、避免全大写、使用下划线分隔等,并提倡使用NOT NULL和默认值,合理选择字段类型如datetime、decimal等,以及避免使用过多的字段和索引。此外,还提到了字符集和排序规则的选择,以及大字段和冗余字段的处理。
156 1
|
存储 SQL 缓存
【数据库设计与实现】第三章:数据后像与前滚
数据后像与前滚设计原则事务的持久性要求事务提交时本次事务的修改必须完成持久化工作,而事务修改的block或page在大部分场景下并不是连续的,在持久化设备上表现为大量的随机IO。通过记录后像,可以将随机IO转换为对持久化设备更为有利的顺序IO,并将dirty block或dirty page(指被修改过但尚未完成持久化的block或page)的多次修改合并,节约block或page的持久化次数。后
【数据库设计与实现】第三章:数据后像与前滚
|
中间件 Unix 应用服务中间件
|
弹性计算 监控 API
新浪微博上云实践:极端流量下的峰值应对与架构挑战
在混合云架构中,核心关键是专线,它是实现内部与公有云之间弹性的核心。目前微博和阿里云之间已经拉通了多条专线,日常的核心消息通过多机房的消息组件同步到阿里云缓存中,实现前端层面和缓存层面的弹性伸缩。在混合云的模式下,微博目前采用了两种部署方案。
8658 0
|
存储 SQL NoSQL
二十、sql优化其他方式
二十、sql优化其他方式
155 0
|
11月前
|
机器学习/深度学习 NoSQL 关系型数据库
Redis系列七 - 实现排行榜功能
Redis系列七 - 实现排行榜功能
236 0
|
Java 数据库连接 数据库
Java中的池化思想
Java中的池化思想
325 0
|
SQL 存储 消息中间件
快手基于 Apache Flink 的实时数仓建设实践
快手实时数据开发工程师冯立,快手实时数据开发工程师羊艺超,在 Flink Forward Asia 2022 实时湖仓专场的分享。
快手基于 Apache Flink 的实时数仓建设实践
|
监控 Kubernetes Cloud Native
一家中型互联网公司的架构演进之路(2)
一家中型互联网公司的架构演进之路
182 0