zl程序教程

您现在的位置是:首页 >  其他

当前栏目

SQL教程之一篇文章理解第一范式、第二范式、第三方式(SQL规范化含案例)

案例SQL教程 方式 理解 之一 第一 第二
2023-09-11 14:18:47 时间

为什么我们要规范化数据?这个问题突然出现在我们的脑海中对吧?!Well 数据通常非常混乱和肮脏,有 Null、重复、空白和大量冗余数据。

现在我们将研究重复和冗余之间的区别。

重复是指创建了一条数据的精确副本,正如您在下面看到的第二条记录已被复制并可能导致问题。

在这里插入图片描述
冗余是指数据中有两个具有相似含义但不重复的值。数据完整性受到冗余和重复数据的挑战。

如何摆脱冗余?

答案很简单,将数据标准化。

第一个规范化形式- 多值列(同一列具有逗号分隔值或多值)
例子 -

在这里插入图片描述
在这里,我想将姓氏 Watson 更改为 Parker,因此为了避免冗余和多值列,我们将拆分列并使它们更具原子性。

在这里插入图片描述
如上表所示,我们将一列分成三列,以避免列中的冗余和多值。

2 、第二范式——在同一个表中,正常键依赖于主键,即部分依赖时,可能会发生冗余。

为了解决这个冗余,我们将表一分为二并创建主/参考表,我们需要确保 NON_KEY 列应该直接依赖于主键。

例子 -