最近、新しいフォーラムについて考えています。 「マルチレイアウトフォーラム向けのデータベーステーブル構造の最適化設計」という問題について議論したいと思います。
問題提起:
包括的なフォーラムとして、必然的にフォーラムの分類の問題に遭遇します。一般的な単一レベル、複数ページの構造は単純すぎるため、分類の問題を処理できず、より複雑な分類を実現できません。 phorum のようなマルチレベルおよびマルチページ構造は、任意に複雑な分類を実現できます (ディレクトリ分類構造の無限レベルを実現できます) が、問題は、ナビゲーションが直観的ではなく、不便であることです。したがって、現在インターネットで一般的な 2 層のマルチページ構造は、基本的に包括的なフォーラム分類の要件を満たしており、www.chinaasp などの直感的で便利なフォーラム ナビゲーション インターフェイスをより簡単に実装できると思います。 com の現在のフォーラム。この構造は 2 つのレベルのディレクトリがあり、上のレベルは一般的なカテゴリ、下位のレベルは分類、つまり特定のフォーラムのレイアウトです。データベース テーブルを使用してこの構造をより効率的に実装するにはどうすればよいでしょうか?
オプション 1:
将来的にフォーラムの数が増えても、すべての投稿はテーブルに保存され、投稿のすべての情報とその投稿が属するサブカテゴリの ID 番号が記録されるとします。このテーブルの名前が T_articles であることを示し、テーブル T_columns1 を使用して大カテゴリ情報 (大カテゴリ名と大カテゴリの ID 番号) を記録し、テーブル T_columns2 を使用してサブカテゴリ情報 (サブカテゴリ名、サブカテゴリ ID 番号、および大カテゴリ ID 番号) を記録します。
スキーム 2:
サブカテゴリごとに新しいテーブルを作成し、このカテゴリに属するすべての投稿をこのテーブルに保存します。このテーブルには、投稿自体の情報 (トピック、テキストなど) のみが記録されます。このようなテーブルでは、T_articles1、T_articles2 などの表現が使用されます。テーブル T_columns1 を使用して大カテゴリ情報 (大カテゴリ名と大カテゴリの ID 番号) を記録し、テーブル T_columns2 を使用してサブカテゴリ情報 (サブカテゴリ名、サブカテゴリ ID 番号、サブカテゴリが属する大カテゴリ ID 番号) を記録します。
要件:
1. 将来的には大規模なカテゴリと小規模なカテゴリの両方を拡張できることが必要です。
比較:
どちらか。オプション 1 とオプション 2 のどちらが良いですか?
話し合ってみませんか?
「江南フォーラム」の友人からの返信を転載
Programming Basecamp at 2001-1-18 23:51:59 に投稿されたキャッシュ
オプション 1 はレイアウトを拡張しやすいですが、欠点はレイアウトの数が増えることです。投稿が増えるとデータ量もどんどん大きくなります
www.bkjia.com