早安伙计们,
我正在努力查看如何将这些下表分解为 3NF,我知道基于规范化的规则,但看不到任何需要在此处移动的数据是表的外观:
PlaylistID, PlaylistName, TrackID, Trackname, AlbumID, AlbumTitle, GenreID, GenreName, TrackSeconds, TrackBytes
早安伙计们,
我正在努力查看如何将这些下表分解为 3NF,我知道基于规范化的规则,但看不到任何需要在此处移动的数据是表的外观:
PlaylistID, PlaylistName, TrackID, Trackname, AlbumID, AlbumTitle, GenreID, GenreName, TrackSeconds, TrackBytes
这个问题不是很清楚,但是这里有
您应该为每个 ID 列创建一个单独的表......然后将所有相关列移到该表中:
Playlist(ID, Name)
Track(ID, Name, Seconds, Bytes, AlbumID, GenreID)
Album(ID, Title)
Genre(ID, Name)
由于您可能希望在多个播放列表中拥有相同的曲目,因此您需要一个多对多关系,您应该使用关系表来处理它:
PlaylistTrack(PlaylistID, TrackID)
这满足 3NF,因为播放列表名称、专辑名称和流派名称不会在多行上重复。