2016-06-18 5 views
-1

私はSQLデータベースの初心者です。私はトリメスタープロジェクトとして作成しているこのウェブサイトのデータベースとテーブルをどのように整理するかについてはわかりません。フォーラムサイトのためにsql DBを整理する最善の方法

ウェブサイトは4chanのようなフォーラムサイトですが、ボードごとに別々のディレクトリを用意するのではなく、そのレターのディレクトリの下にリストされているすべてのボードがあります。

など。

A boards -> art (artwork), ani (animation), etc. 

は、今のところ、私は自分のDBにすべての文字のディレクトリ(Aボード、Bボード)を分離し、DB内の各ボードに提出ファイルとポストのためのテーブルを持っていました。

'投稿'テーブルには、各投稿の名前、件名、コメント、タイムスタンプが保存されます。

'ファイル'テーブルには、アップロードされたファイルに関連するすべての情報が保存されます。

など。

などカテゴリごと(Bボード、Cボードなど)外部キーと 'file_id'を使用してファイルに投稿を関連付けます。

これは良い方法ですか?どのように改善することができますか?

+1

私はすべての投稿に1つのテーブルを使用し、特定の件名の列を持っています。これがあなたがしたものなのかどうかは分かりません。それからあなたは1日あたり何本の投稿を期待しているのかという疑問があります。 –

+0

最近、私の心にもそれがありました。投稿とファイルテーブルの両方に件名の列を作成する必要がありますか? file_idは一意であり、auto_incrementにあります。私は一日に多くの投稿を期待していない、私の聴衆は約500人の私の学校になります。 – Lolechi

+1

ファイルテーブルには、投稿テーブルを指す外部キーが必要です(各ファイルを投稿とリンクすることができます)。 –

答えて

0

申し訳ありませんが、前に投稿していないため、いくつかのことが出てきました。

すべてのデータが1つのDBに格納されるように、テーブルとDBを再作成しました。私は "ポスト"と別の "ファイル"というタイトルのテーブルを作った。

テーブル設定のスプレッドシートには、a linkがあります。

投稿テーブルとファイルテーブルは、外部キーとカスケード更新(投稿テーブルは親です)とリンクされています。すべての投稿を1つのテーブルに配置するために、カテゴリの省略形(art - artwork、ani - animationなど)を "posts"に格納するために渡します。

トラフィックの問題を提起してくれたTim Biegeleisenに感謝します。しかし、私はサーバが1つのテーブルに500件の投稿を処理すると思います。

私はこの質問に回答しましたが、最適化とアドバイスはまだ開いています。

関連する問題