2011-01-11 7 views
0

私はuserテーブルにuser_id列を持っています。次にブランド表にbrand_idがあります。ユースケースにはそれぞれ独自のページがあります。ユーザーはプロフィールを持ち、ブランドにはブランドページがあります。 (注:Thgereはこのような関係がより強く、会社には会社のページがあり、市には市のページがあります)。だから、ユーザーが写真をアップロードするとき、私はそれを所有者に参照する必要があります。所有者はブランド、ユーザー、都市、組織などとすることができます。オブジェクトの所有者のスキーマに関する質問

user_idには、photo_idが属しています。user_idはFK to userテーブルです。しかし、brand_idを写真の所有者として追加するには、別のcolunmが必要ですか?(useridまたはbrand id)を参照するowner_idという名前に変更すると、user_id colunm自体で行うことはできますか?

答えて

0

2列、手を下ろします。

  • ノーDB-レベル参照制約(=外部キー)IDの
  • リスク:あなたは多くの問題を持っている単一の列で

    (もちろん2つの必見の一つは、常にnullになります)

0

を混乱ブランドとユーザーテーブル間の衝突

  • あなたはこのようなuser_photosbrand_photosとして、それぞれに1つのマッピングテーブルを作成することができます。

    user_photosからuserbrand_photosからbrandsに完全な参照整合性があります。これは、ユーザー/ブランドの写真をフィルタリングするクエリのパフォーマンスにも大きな影響を与えます。

  • +0

    親写真のテーブルには「owner_id」列がありますか?または、あなたは写真のテーブルを殺して、所有者に基づいて複数のテーブルに写真を保存すると言っていますか?明日写真のスキーマを変更したら、これらのテーブルをすべて更新する必要がありますか? – mickeyJ

    関連する問題