gpt4 book ai didi

mysql - 2NF 数据库规范化

转载 作者:行者123 更新时间:2023-11-29 21:07:02 24 4
gpt4 key购买 nike

美好的一天-

我正在执行一项任务,必须根据以下信息创建数据模型。

Your task is to create the model for storing the following information: A list of albums and the album art for each (image files), the tracks for one album, the band’s record label or labels, their genre, and the band members.

到目前为止我已经创建了五个表。我必须涵盖规范化部分,但我对此感到困惑。我创建的一个表具有以下列和数据。

乐队成员

  1. bandMemberId - 自动递增
  2. bandladelId - FK
  3. 真实姓名
  4. 昵称
  5. 成员(member)电话号码
  6. 成员角色
  7. 成员(member)活跃
  8. memberdob
  9. 成员(member)年龄

到目前为止,该表有以下数据。

enter image description here

为了解决这个问题,我删除了逗号分隔值并添加了数据的每一行。现在看起来像这样。

enter image description here

有人可以指导我如何拆分此表并消除此问题(如果存在标准化)吗?因为我也对这里的主键感到困惑。互联网上引用的示例是基于年龄列的。但我没有得到这些例子。提前致谢。

最佳答案

将具有多值属性的行拆分为多行的步骤看起来几乎类似于解决重复组以实现 1NF 的步骤。但是,在该转换中,每个新行都会获得原始行中相应值的副本。您的自动增量列随着新行的增加而增加,因此您的第二个表是一个不同的问题,而不是第一个表的 1NF 版本。

转换为 1NF 的第一个表将有 2 行,bandMemberId 值为 1,并使用 (bandMemberId, memberRole) 作为候选键。由于所有非素数属性仅依赖于 bandMemberId,因此这是部分依赖。将 (bandMemberId, memberRole) 复制到单独的表并从 bandMember 表中删除 memberRole 将为我们提供 2NF 模式。您没有提供任何功能依赖项,因此我不确定架构是否也在 3NF 中。

关于mysql - 2NF 数据库规范化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36727404/

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