gpt4 book ai didi

mysql - 如何判断我的表是什么范式

转载 作者:太空宇宙 更新时间:2023-11-03 10:47:28 24 4
gpt4 key购买 nike

我必须找出我的表的范式(BCNF、3nf、2nf 或 1nf)。问题是我很难相信我的功能依赖性和 key 是正确的。任何人都可以阐明如何找出功能依赖项和键吗?然后我应该能够弄清楚我的表是什么正常形式。我知道 3nf 不能有任何传递依赖,2nf 不能有任何部分依赖。我对如何确定表是否在 BCNF 中有些困惑。无论如何,提前感谢您的帮助!!

这是我的表....

Job(job_id, input, status, start_time, finish_time, PRIMARY KEY(job_id))

Error(job_id, errCode,description, PRIMARY KEY(errCode), FOREIGN KEY(job_id)
REFERENCES Job(job_id))

tool1(database, evalue, job_id, PRIMARY KEY(job_id), FOREIGN KEY (job_id)
REFERENCES Job(job_id))

tool2(specificity, job_id, PRIMARY KEY(job_id), FOREIGN KEY (job_id)
REFERENCES Job(job_id))

Result(output, job_id, FOREIGN KEY(job_id) REFERENCES Job(job_id),
PRIMARY KEY(job_id))

所以我需要从这些表中找到函数依赖关系。真不知道是不是就这么简单?

job_id -> input, status, start_time, finish_time
errCode -> description
job_id -> database, evalue
job_id -> specificity
job_id -> output

如果这是正确的(可能不正确),那么键应该是 job_id 和 errCode 对吗?我只需要帮助确定我的 key 和功能依赖项是否正确!

最佳答案

依赖性是业务规则。当我们说数据库设计满足某种范式时,我们的意思是数据库准确地实现了表示为依赖关系的一组特定业务规则。但是,规则必须放在首位,并且要有用,它们必须基于您对要在数据库中建模的世界的了解以及该模型用户的要求。属性名称列表甚至示例数据是不够的 - 了解需求才是最重要的。所以没有用于识别依赖关系的神奇公式。确定依赖关系后,设计规范化数据库设计(包括键)并验证设计是否满足这些依赖关系的范式就相对容易了。

关于mysql - 如何判断我的表是什么范式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29542674/

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