2011-07-17 20 views
0

ユーザとprofile_image_urlのリンクとフィールドを正規化すべきですか? profile_background_colorユーザーはプロフィールをカスタマイズできますか?ユーザイメージ/プロファイルフィールド - データベース正規化 - ソーシャルネットワーキング - Grails

すべてが1つのユーザークラスになります。規模、パフォーマンス、修正に関して優れている

class User { 

    String profile_big_url 
    String profile_thumb_url 

    String profile_background_color 
    String profile_text_color 
    String profile_link_color 
    String profile_sidebar_fill_color 
    String profile_sidebar_border_color 
    String profile_background_image_url 
    String profile_background_tile 

} 

あるいは三つのクラス

class User{ 

    Photo photo 
    Profile profile 

} 

class Photo{ 
    User user 
    String profile_big_url 
    String profile_thumb_url 
} 

class Profile{ 
    User user 
    String profile_background_color 
    String profile_text_color 
    String profile_link_color 
    String profile_sidebar_fill_color 
    String profile_sidebar_border_color 
    String profile_background_image_url 
    String profile_background_tile 
} 

答えて

1

私はそれについて心配しません。テーブルを分割すると、より小さいselectが生成されますが、これらは短い文字列なので、必要以上のデータを取得するコストは軽微です。結合は高価になる可能性がありますが、やはり単純なものになります。

代わりに、すべてを1つのテーブルに残すことができますが、コンポーネントを使用してコードを論理的に3つに分割することができます。 http://grails.org/doc/latest/guide/5.%20Object%20Relational%20Mapping%20%28GORM%29.html#5.2.2%20Composition%20in%20GORM

関連する問題