2011-02-08 11 views
1

1)PhotosテーブルとEXIFテーブルの2つのテーブルがあります。 EXIFテーブルには写真のexifデータが格納されます。写真テーブルの2つの質問 - FKとプロフィール写真Q

写真テーブルがあります。Photo_id, exif_id. EXIFテーブルがあります。exif_id, photo_id.

だから、本質的には、exif_id写真のテーブルはFKがEXIFテーブルにexif_idすることができます。しかし、exifテーブルのphoto_idは、写真テーブルのphoto_idにFKすることができます。ここで2つのFKが必要ですか、または1つのFKはできますか?

2)私が見たすべてのサンプルスキーマには、ミョウバン写真の写真テーブルがあります。プロフィールアルバムとライブプロフィール写真はどうですか?通常は別のテーブルですか、アルバムテーブルのフラグですか?

答えて

0

あなたの質問は少しあいまいですが、与えられた情報に基づいて:

1)あなただけがPhoto_idごとに複数のEXIF行を持つことができる場合exif_id必要です。そうでない場合は、Photo_idにアクセスしてください。

2)写真タイプを伝えるフラグを使用します。

+0

1の場合、1つのテーブルのみを意味しますか?または2つのテーブル(写真テーブルとEXIFテーブル)とEXIFテーブルのPKをphoto_idとしてもう一度入力しますか?私が2つのテーブルを作ったのは、EXIFデータが約15-20カラム長であるため、データを「正規化」することだけです。 – Rohit

+0

写真行ごとにEXIF行が1つしかない場合は、1つのテーブルになる可能性があります。多くのPhotos行にEXIF行がない場合は、2つの表に分割すると便利です。あなたは写真行ごとに0または1つのEXIF行しか持たないなら、exif_idは必要ありません。 1行に複数のEXIF行がある場合は、exif_idが必要です。 –