【问题标题】:How can i structure a MySQL database for a music track list? [closed]如何为音乐曲目列表构建 MySQL 数据库? [关闭]
【发布时间】:2026-02-07 04:55:02
【问题描述】:

您将如何构建这样一个 MySQL 数据库:可以有许多曲目列表,曲目列表将有许多曲目,这些曲目将具有 id、名称和时间戳。 这是我想存储在数据库中的更多信息。

曲目列表:

Tracklist Name
Tracklist id
Category
Tracks(songs)

曲目(歌曲)

Track(song) id
Track(song) name
Timestamp

任何关于如何设计我的数据库的想法都会很棒。

【问题讨论】:

标签: mysql database database-design mariadb


【解决方案1】:

您可以为 tracklist 制作一个主表,让 tracklist_master 包含您所需的列,并制作另一个 table 用于 tracklist 的轨道映射,让 tracklist_trake_mapping 与 tracklist_id 在其中。

因此,您的两个表将如下所示:

1) tracklist_master:
    - tracklist_id (pk)
    - tracklist_name
    - category

2) tracklist_trake_mapping:
    - tracklist_trake_mapping_id
    - tracklist_id (fk to tracklist_master)
    - track_name
    - timestamp

您可以在单个查询中轻松获取具有曲目列表名称的所有曲目的列表。

【讨论】:

  • 他不能在多个播放列表中播放一首歌曲:)。
  • 为什么?会有什么问题? @复仇