【问题标题】:Music library MySQL database音乐库 MySQL 数据库
【发布时间】:2012-02-10 20:09:00
【问题描述】:

我需要一些帮助来为 MySQL 中的音乐数据库构建表。我不确定如何将这些信息放在表格中。

这是我想存储在数据库中的信息。

Artist Name
Album Name
Release Date
Genre
Picture URL (album artwork)

Track Number
Trank Name
Track Playtime
Lyric (optional, But would like to have it someday)

etc.

基本上任何与组织数字音乐有关的事情。我是数据库新手,我有一些想法。但如果我要学习,我不妨学习正确的方法。

任何关于如何设计我的桌子的想法都会很棒。

【问题讨论】:

    标签: mysql database database-design


    【解决方案1】:

    这样的开始会很好。它为艺术家、专辑(带有艺术家和流派的键)、曲目(专辑的键)和流派指定了一个表。

    Table artists
    ----
    id (primary key),
    name
    description
    years_active
    otherinfo (whatever you need)
    
    Table albums
    ----
    id (primary key)
    artistid (foreign key to artists table)
    name,
    releasedate
    genreid (foreign key to genres table)
    picture
    
    Table tracks
    ----
    id (primary key)
    albumid (foreign key to albums table)
    name
    override_artist (overrides album artist if not null)
    playtime
    lyric
    otherstuff as needed
    
    Table genres
    ----
    id (primary key)
    name
    description
    

    【讨论】:

    • 这假设专辑中的所有曲目共享一个艺术家,但并非总是如此。
    • 太棒了,这就是我正在寻找的答案。我是使用 php 和 mysql 编程的新手。因此,首先学习如何以正确的方式构建表格是一个很好的开始。感谢您的回复。
    【解决方案2】:

    我建议如下数据库结构:

    artist { id, name }
    genre { id, name }
    album { id, name, artist_id, release_date, genre_id, picture_url }
    track { id, album_id, number, name, playtime, lyrics }
    

    【讨论】:

      【解决方案3】:
      Artist ( ArtistID INT PRIMARY KEY, ArtistName )
      Genre ( GenreID TINYINT PRIMARY KEY, GenreDescription )
      Album ( AlbumID INT PRIMARY KEY, ArtistID INT, GenreID INT ReleaseDate )
      AlbumArt ( AlbumArtID INT PRIMARY KEY, AlbumID INT, AlbumArtPath )
      Track ( AlbumID INT, TrackNumber INT, TrackName, PlayTime, Lyrics , PRIMARY KEY ( AlbumID, TrackNumber ) )
      

      【讨论】:

        【解决方案4】:

        数据库示意图是关于布局表和建立这些表之间的关系。

        您已经确定了许多候选表:Track、Artist、Album

        然后你需要关系:艺术家可以有很多专辑,专辑可以有很多曲目。

        有了这几个简单的表和关系,您已经有了一个小型数据库。

        【讨论】:

          【解决方案5】:

          查看http://www.freedb.org/en/。以前的 cddb.org,它是一个免费的音乐数据库。您可以从他们的其中一个链接下载整个数据库,看看他们是如何做到的。

          【讨论】:

          • 很棒的东西。我周末有机会查看了这个,我遇到了一个问题,我看起来像有 10、11、12 加曲目的 CD,它没有记录它们。因此,在一张有 20 首曲目的 CD 中,它在 11ish 处停止。看看我在说什么。也许我做错了什么。但是感谢您的回复,我可能会在以后的程序中使用它。我正在为我的音乐收藏建立一个数据库,并将其与我的需求进行比较。
          猜你喜欢
          • 1970-01-01
          • 2017-09-07
          • 1970-01-01
          • 2011-08-07
          • 2015-11-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多