歌词网站的数据库设计

sun*_*dhi 4 php mysql database

我是PHP和MySQL的新手.对于我的项目,我想创建一个歌词网站.如何设计数据库和关系?

这是我到目前为止:

艺术家

  • Artist_id
  • 这位演出
  • Artist_bio
  • Artist_thumb

相册

  • Album_id
  • Artist_id
  • Genre_id
  • ALBUM_TITLE
  • RELEASE_YEAR

类型

  • genre_id
  • GENRE_NAME

曲目

  • track_id
  • TRACK_TITLE
  • album_id

如果我错了,请告诉我.

bri*_*vis 13

  1. 与您的表名是单数还是复数一致.我的偏好是单数,因为当你进行多表查询时,你可以简单地将列称为" track.id"而不是" tracks.id".

  2. 确保所有表格和字段名称拼写正确(即"流派"); 这是后来改变的痛苦.

  3. 最后,我不建议在列名前面加上父表的名称.这只是多余的.


艺术家

  • ID
  • 名称
  • 生物
  • 拇指

专辑

  • ID
  • artist_id
  • genre_id
  • 标题
  • RELEASE_YEAR

类型

  • ID
  • 名称

跟踪

  • ID
  • 标题
  • album_id

  • 最后但并非最不重要:有一个地方放置实际的歌词! (5认同)

Cem*_*ncu 7

我强烈建议WWWSQLDesigner设计您的数据库.brianreavis提到的指南真的值得倾听.始终使用正确的拼写,使用一致的语法,大小写和下划线(_).您也可以考虑使用关系表添加多个类型.

  album_genre ( id int, album int, genre int )
Run Code Online (Sandbox Code Playgroud)

对于专辑或艺术家图片,我建议您将它们保存到具有相关ID的文件夹中.观察,

 id = 14
 artist = 42
 title = Mask And Mirror
 year = 1994

 thumbnail: /thumbnails/album-14.jpg
Run Code Online (Sandbox Code Playgroud)


Bri*_*ian 5

你的设计看起来很不错.您可能要添加的一些其他表:

  • 播放列表
  • PlaylistTrack
  • PlayedTrack

您可以向Track表添加其他字段.例如:

  • trackSortOrder
  • trackYear
  • trackGenre
  • 轨道长度
  • 用户评分
  • 比特率
  • 作者
  • 版权
  • numberOfPlays
  • lastPlayedDate
  • 添加日期