我一直在组建一个小的SQLite数据库来跟踪iTunes RSS提要中的前100首歌曲。我已经在Bash中构建了脚本以完成所有艰苦的工作并且它最终正在工作,但我不确定我的数据库结构是否正确,所以我正在寻找一些关于最佳方式的反馈,因为我只是我正在学习SQL,所以我不想在构建查询以及时检索数据时挖掘自己的洞!
我有3张这样的表;
artists_table
artist_id - PK
artist_name
songs_table
song_id - PK
artist_id - FK (from the artists table)
charts_table
chart_id - PK
song_id - FK (from the songs table)
position - (chart position 1-100)
date - (date of chart position xxxx-xx-xx)
艺术家和歌曲表对我来说似乎很好,得到了外键约束......但是我不确定图表表,这个结构有什么明显的错误吗?
我希望随着时间的推移跟踪歌曲/艺术家/位置,以便我可以生成一些统计数据等等
谢谢,
答案 0 :(得分:1)
这完全取决于您的数据将具有的关系(一对一,一对多,多对多)。
您实施图表的方式表明:
这是一对多的关系。如果这就是你的意图,那么一切似乎都很好。
然而: