gpt4 book ai didi

database - 转换为 2NF,然后显示两种转换的 3NF

转载 作者:搜寻专家 更新时间:2023-10-30 22:09:30 25 4
gpt4 key购买 nike

我正在努力弄清楚如何找到这个问题的两个转换。在开始创建我的第一个数据库之前,我正在尝试学习数据库设计/数据库规范化。

例如:我正在尝试将以下内容转换为 2NF,然后 3NF 显示这两种转换。我卡在“两次转化”部分。

(b, m, i, o, d, j, l, s, e, c, n, h, a, f, k, p, r, g)

FD:b → f m → k b → e
m → l m → a i → c
n, h → p l → a l → k
r → g o → s

提前致谢!

最佳答案

如果您正在上课,请先遵循老师的计划,然后再听取其他人的建议。但如果您是自学,这里有一些提示。

需要注意的是,规范化是一种自下而上的方法,而不是自上而下的方法。它最有用的地方是当你得到一组已经定义的数据,并且你想知道它是如何规范化的。在关系数据库的早期,有大量系统是从基于纸张的手动系统、文件和记录系统或前关系 DBMS 中切出的。规范化可以帮助您更好地理解这些数据,并让您真正了解现有系统运行不佳的原因。

但如果您想要自上而下的方法,我建议采用完全不同的计划。了解如何对主题本身进行 ER 建模。不要尝试使用 ER 模型设计数据库。那不是它的强项。相反,尝试了解主题专家如何理解他们的数据。 ER 建模很简单,但很抽象。 ER 建模的难点在于确保每个属性都真正描述了您要附加到的实体或关系。这很容易出错。

一旦您拥有良好的 ER 模型并通过了现实测试,请将其转换为关系模型。这是将实体和关系转换为表,将属性转换为列,并放入外键的地方。如果您相当机械地执行此操作,则大多数时候您应该以 3NF 结束。但是,不能保证效率。

现在,当您开始调整此模型以获得更好的性能时,请跟踪您正在做的事情,以确保您执行的唯一非规范化是有意的。在很多情况下,稍微非规范化的数据库比规范化的数据库“更好”,尽管它很容易出错。

你做的越多,你就会越好。

关于database - 转换为 2NF,然后显示两种转换的 3NF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35777406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com