[UPHPU] Database Speed Question
Velda Christensen
velda at novapages.com
Wed Apr 11 18:39:42 MDT 2007
Somehow I was seeing it more in terms of a review rather than a
rating... like 'rated four stars' or whatever with a review. In which
case one to many would make perfect sense.... wouldn't it?
>> Why wouldn't my first ones be normalized? I don't know what
>> information would be repeated. This is the information that I would
>> have (by no means is it meant to be exact)
>>
>> -------------- Movie Table --------------
>> Movie_ID: 1, 2, 3
>> Movie_Title: Little Rascals, The Incredibles, Pirates of the Caribbean
>> Movie_Year_Released: 1994, 2005, 2005
>> Rating_ID: 2, 2, 3
>>
>> -------------- Rating Table --------------
>> Rating_ID: 1, 2, 3
>> Rating_Code: G, PG, PG-13
>> Rating_Description: Good clean fun, Parental Guidance needed, 13 and
>> Over with Parental Guidance
>
> I would go with the 3 tables. Sure, two tables will work if you only
> have one US rating. However, what if you want to expand later? You
> would have to rename your rating field and add columns to your movie
> table. I don't like underscores. They are the most over-used and
> unnecessary programmer character. There is a reason the underscore
> key is SHIFT + right-lazy-finger-up-two-rows - it's supposed to be
> uncommon. So, I'll use a slightly different naming convention:
>
> MovieID
> MovieTitle
> MovieYearReleased
> RatingUSA
> RatingMEX
>
> Plus, then you are not following one of the normalization rules - you
> have repeating data accross a row. You can start with three tables,
> but with one extra field in the intermediate table:
>
> movies => (MovieID, MovieTitle, MovieYearReleased)
> movies2ratings => (RatingID, MovieID, CountryCode)
> ratings => (RatingID, Rating, RatingDescription)
>
> It's even more forward compatible than this - you expand more. If you
> need to account for different titles, different rating systems, you
> keep those three tables for *your* title, rating, etc. Then you add
> tables like:
>
> countries (CountryCode, CountryName)
> countryRatings (CountryCode, CountryRating, MyEquivRating)
> countryTitles (CountryCode, CountryTitle, MovieID)
> countryReleaseDates (CountryCode, CountryMovYearReleased, MovieID)
>
> In a nutshell, if you think you'll ever expand, look ahead and use the
> 3 tables for easy expanding later. If not do it anyway, because it's
> the better way ;) (kidding... or am I? someone run ~brastotack
> [someuser] on the irc chanel for me... ).
>
> Brandon Stout
> http://mscis.org
>
> _______________________________________________
>
> UPHPU mailing list
> UPHPU at uphpu.org
> http://uphpu.org/mailman/listinfo/uphpu
> IRC: #uphpu on irc.freenode.net
>
More information about the UPHPU
mailing list