音乐家与乐队和乐器之间会有一对多的关系。因此,创建你的音乐家表并将所有关于音乐家的信息添加到该表中。
创建一个乐器表来保存关于乐器的信息,并为乐队执行相同的操作。这将照顾你所有的个人物品。
然后创建一些类似'band_assignments'的表,其中只有一个乐队的ID和音乐家的ID,并将两者连接在一起。创建一个'instrument_assignment'表来做同样的事情。
现在,当您查询音乐家时,您可以将所有这些表格连接在一起,以获取您需要的数据或选择性地只加入乐器,乐队或根据“加入日期”进行排序并限制以获得最后一个乐队他们加入或他们学到的最后一个工具。
基本上5张桌子应该覆盖这一切。
musicians (musician_id, first_name, last_name)
bands (band_id, name)
instruments (instrument_id, name)
band_instument_assignments (musician_id, band_id, instrument_id, date_played)
正如你可以在编辑的版本见上你会有多行的“band_instrument_assignments”表 - 为每个每个用户在每个乐队演奏乐器。您将需要使用一些GROUP BY和LIMIT子句来获取所需的数据,但它应该适用于您。
音乐家可以在多个乐队? – Andrew 2010-02-16 03:50:24
我正在努力与模特建立关系...... – 2010-02-16 03:53:55
:)不错。是的,音乐家可以在多个乐队中。 – someoneinomaha 2010-02-16 04:02:20