craigslist に似た、クラシファイド広告の Web サイトを構築しています。
サイトはいくつかのセクションに分かれています。すなわち、フォーラム、販売、提供されるサービスなど。
各セクションの下には、いくつかの [カテゴリ]、つまり、フォーラム[ペット]、フォーラム[書籍]、販売用[物々交換]、サービス[物々交換] などがあります (一部のカテゴリは、セクションによってのみ一意に識別されることに注意してください。 「販売用」と「サービス」の 2 つのセクションからのバーターとバーターの場合)。
ユーザーは、各セクション内の投稿リンクからカテゴリに投稿します。ユーザーは、該当する場合、写真をアップロードして、製品の特定のアメニティを選択できます。フォーラムの投稿には amenity 属性は必要ありませんが、Vehicle Ad には必要です。設備には次のものが含まれます: 車両広告用のオート トランスミッション、または住宅賃貸用の家具。
データベース スキーマの最適な論理設定を理解しようとしています。
現在、基本的な入力/クエリ用にこのタイプの論理構造があります。
SECTIONS TABLE- section_id, section
CATEGORIES TABLE- cat-id, category, section_id(foreign key)
AMENITIES TABLE- amen_id, amenity
PHOTOS TABLE- photos-id, file
POST TABLE- post_id, category, timestamp, description
SECTION_POST TABLE- section_id, post_id
POST_AMENITY TABLE- post_id, amenity_id
POST_PHOTO TABLE- post_id, photo_id
[POST] のカテゴリはセクションに関連している必要があるため、[SECTION_POST] をメインの多対多にしました。カテゴリ テーブルで CATEGORY を SECTION に関連付けました。これは、カテゴリ属性が追加された M 対 M のように見えます。これでよろしいですか?
また、このスキーマについてどのように考えるべきかについて、他に何か提案はありますか? 私が抱えている問題は、ほとんどが組織力の欠如ではなく、無知に関係していると思います. たぶん、あなたの誰かが私を教育するか、私の一般的な問題に取り組む適切なリンクを紹介してくれるでしょう.