Initial prototype

Будет лишняя неиспользуемая сущность в виде атрибута id. Моё решение, мне кажется, прекрасно вписывается в реляционную теорию. А недостаток - у Active Record. В Datamapper, например, проблемы бы не возникло.

Если сделать как ты говоришь, придётся в каждой из 3-х таблиц делать дополнительное поле и в каждом классе модели усложнять объявления связей.

На мой вкус, текущее решение чистое.