質問

私は私の写真を整理し、いくつかのAjaxフロントエンドを作成しようとしています。私はたくさんの写真と私はPicasaウェブまたは代替に保存するために支払う必要はいけないので、それは、ディスクスペースの多くを持っているために支払われている既存のホスティングサイトを持っています。

私はこれらの写真を閲覧するためにasp.netサイトを作成していますが、私はその後、格納するための最良のスキーマを決定しようとしています。 Aは、いくつかの基本的な質問を持っています:

写真
アルバム
タグ(多分)

いくつかの質問: 1.私は、各アルバムまたは1枚の写真内のすべての写真のために別々のテーブルを持っています。この別離への利点がある場合、別々のテーブルには、私は決定しようと同一であります 2.は、MySQLに対してSQLサーバを使用して、任意の主な利点は、このスキーマのために(これらは、このケースでは、私の選択である)があります。私は私が空想には何をやっていると思ういけない。

役に立ちましたか?

解決

のように、アルバムへの外部キーとN:

あなたは1を持って一つのテーブル、にすべての写真を置く必要があります

Photos | id, title, url, description, album
Albums | id, title, description

アルバムは外部キーがAlbums.idすることである。ここで、

あなたが

持っているので、N、あなたがそれらの2を結合するために、別のテーブルが必要になります。それはNになるように、

タグについて、あなたはおそらく、1枚の写真のために多くのタグを持つようにしたいです

Tags | id, name
Photo_Tag | id, id_tag, id_photo

id_tagid_photoTag.idPhoto.idへの外部キーがある場合

あなただけの個人的な使用のためのプロジェクトを作っている場合は、私は、MySQLがうまくやるだろうと思います。

他のヒント

アルバム(ID、名前、説明)、あなたはごとに異なるテーブルに別れるならば、あなたは何のメリットと複雑さの多くを得るんだろう写真(ID、名前、説明、PhotoData、parentAlbum)ごとに1つのテーブルのための一つのテーブルアルバム。 Nの関係アルバム:あなたは写真を複数のアルバムに属しているしたい場合は、1のリンクテーブルを使用して写真ではなく、写真の一部として、アルバムIDを持っています。あなたがのために行く場合はタグを使用すると、写真やアルバム(あるいはその両方)をタグ付けするかどうかを決定多分タグテーブルと1のために行く:AlbumTagsとPhotoTagsのためのNマッピングテーブル

DBの選択に関しては、このレベルでのみ、微分は(あなたが同じ価格で入手可能なの両方を持っている場合)ので、あなたが一番知っていることで行く費用されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top