【问题标题】:3NF Normalization In mySQL WorkbenchmySQL Workbench 中的 3NF 规范化
【发布时间】:2014-07-09 17:25:51
【问题描述】:

早安,

我正在努力了解如何将这些下表分解为 3NF,我知道基于规范化的规则,但看不到任何需要移动的数据,这里是表格的外观:

PlaylistID、PlaylistName、TrackID、Trackname、AlbumID、AlbumTitle、GenreID、GenreName、TrackSeconds、TrackBytes

【问题讨论】:

  • 那是表、列还是什么的列表?此处的详细信息不足以回答任何类型的问题。
  • 对不起,这是一个表的列名列表,即“音乐信息”

标签: mysql sql normalization workbench 3nf


【解决方案1】:

这个问题不是很清楚,但是这里有

您应该为每个 ID 列创建一个单独的表...然后将所有相关列移到该表中:

Playlist(ID, Name)
Track(ID, Name, Seconds, Bytes, AlbumID, GenreID)
Album(ID, Title)
Genre(ID, Name)

由于您可能希望在多个播放列表中拥有相同的曲目,因此您需要一个多对多关系,您应该使用关系表来处理它:

PlaylistTrack(PlaylistID, TrackID)

这满足 3NF,因为播放列表名称、专辑名称和流派名称不会在多行上重复。

【讨论】:

    猜你喜欢
    • 2011-04-25
    • 2016-01-01
    • 1970-01-01
    • 2012-03-31
    • 2010-12-15
    • 1970-01-01
    • 2014-09-23
    • 2014-09-22
    • 1970-01-01
    相关资源
    最近更新 更多