音乐库MySQL数据库

时间:2012-02-10 20:09:01

标签: mysql database database-design

我需要一些帮助来为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.

基本上与组织数字音乐有关。我是数据库的新手,我有一些想法。但如果我要学习,我也可以学习正确的方法。

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

5 个答案:

答案 0 :(得分:16)

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

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

答案 1 :(得分: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 }

答案 2 :(得分:1)

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 ) )

答案 3 :(得分:1)

数据库原理图是关于布置表格并建立这些表格之间的关系。

您已经确定了许多候选人表:曲目,艺术家,专辑

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

通过这些简单的表格和关系,您已经拥有了一个小型数据库。

答案 4 :(得分:0)

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