On 17 May 2011 11:06, comopasta Gr <li...@ruby-forum.com> wrote: > Colin Law wrote in post #999008: >> .. >> Why store the tag identifier in the statistic?
> Externally the tag is known by its identifier. They are tags that are > read with the mobile and when they come to the server they are found by > this identifier. When a stat is created the tag where it belongs is also > found by the identifier (creation of a stat is not triggered by a tag > being read). > > Yes, when the stat is created I could first use the tag identifier I > get, find the internal tag ID and actually store that internal ID with > the stats instead of the identifier. Then the relationship would be > complete. But I guess I was trying to save that db call since if I would > use the identifier for both that call wouldn't be needed. It is almost always a bad idea to store the same data twice in the database (or in this case many times, in the tag and in each statistic). One issue is that it becomes very difficult to edit the tag as you have to change it in all the statistics, and the updates have to be protected by transactions in case a problem arises half way through. My advise is always to do it the simplest way initially and only worry about efficiency if such a problem arises. The bottlenecks in an app almost always turn out to be not where they are initially expected and time spent optimising the app before problems arise is time wasted. Also by ending up with more complex code then bugs are more likely and can be more difficult to fix. Also in Rails it is almost always best to stick to the conventions (using id as the primary key in this case), the conventions can be overridden but usually this just adds complexity and makes life more difficult. Colin Colin -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.