mysql - 音乐数据库的结构 - 多表还是单表?

标签 mysql database

<分区>

我正在创建一个音乐播放器,用户可以在其中搜索艺术家、专辑或歌曲。

我创建了一个脚本,它从音乐库中的 mp3 中读取所有标签,并在一个表中更新歌曲数据库,其中包含艺术家姓名、专辑、轨道标题等。 目前,这很有效,因为它可以扫描音乐库中的任何更改,并添加/删除数据库中相应歌曲的行。 因此,此扫描例程是一段相当短且易于理解的代码,因为它只维护一个表。

我知道如果艺术家、专辑和轨道有自己的表并且相互链接,数据库会更强大。我还没有对搜索部分做任何事情——如果我把所有东西都放在一张表里,我有多糟?

谢谢。

最佳答案

您的数据库未规范化。你说它都在一个表中,但你没有提供任何关于架构的信息。

非规范化数据库存在的问题包括与存储冗余信息相关的一致性问题 - 如果您有类似的问题:

专辑、轨道、艺术家

然后要更改专辑名称,您必须在与专辑关联的每个轨道上更改它。

当然,有各种未规范化的“数据库”系统,但这些系统通常具有处理适合其范例的此类事情的机制。

关于mysql - 音乐数据库的结构 - 多表还是单表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2970247/

相关文章:

mysql - 如何统计每天发给不同人的消息数量?

MySQL。函数中的逻辑错误应返回大写字母前带有空格的字符串

mysql - 如何在需要连接的两个表中查询特定类型的电影名称?

mysqldump 大数据库增量

c# - 在 WPF 应用程序中连接和使用 SQL Compact Edition

mysql - 存储过程在 MYSQL 中不起作用

mysql - 名为 'Index' 的表

mysql - SQL:只插入新记录

database - 我可以在 iOS 应用程序之间共享 Sqlite 数据库吗?

database - Laravel 按 desc 排序