1

ユーザーが記事をMySQLに送信し、PHPが投稿を画面に送信する小さなプロジェクトに取り組んでいます。ここまでは順調ですね。今、記事にコメントできる「2 レベル」の投稿システムに拡張したいと考えています。場合は、私はそれを行う方法がわかりません。

記事を保存するために使用するテーブル:

表: 投稿

ID ユーザー 日付 アバター 署名 投稿

投稿テーブルにコメントという名前の新しい行を作成する必要がありますか、それともコメントを別のテーブルに配置する必要がありますか? 1 つは記事用、もう 1 つはコメント用ですか?

すべての助けに感謝します。

4

2 に答える 2

2

Web サイトでの使用方法によって異なります。「私の記事とコメントは本質的に同じ概念ですか?」と質問する必要があります。はいの場合は 1 つのテーブルを使用し、そうでない場合は 2 つのテーブルを使用します。ほとんどの Web サイトでは、記事の動作が異なり、分類、編集などを行うことができ、通常、コメント テーブルを乱雑にする別のフィールドが必要です... その場合、2 つのテーブルがより合理的です。しかし、あなたのウェブサイトの記事とコメントは一般的に同じであると結論付けた場合 (ただし、将来の証拠を考えてみてください: 2 か月以内に記事の機能を追加する必要はありませんか?)、記事もコメントとして考えることができます。彼らのための1つのテーブル。

物事を 1 つのテーブルにマージすることを決定し、投稿のタイプを区別するために別の列が必要であり、一部の列が一部のタイプで使用されていないことに気付いた場合、2 つのテーブルを作成する必要があるという明確な警告信号です!

于 2012-03-23T20:24:36.023 に答える
1

これは少し主観的ですが、投稿テーブルに親子関係を設定し、同じテーブルのid列の外部キーであるparent_id列を作成します。追加のクレジットとして、ネストされたセットの関係にすることができます。これにより、親とすべての子を 1 つのクエリでプルできます。

于 2012-03-23T20:06:31.713 に答える