2012-04-21 9 views
0

私はPHPとMySQLを使用してクライアント用のカスタムCRM Webアプリケーションを構築しました。アプリケーションは本当にうまくいくように見えるので、私は一般に公開された商用バージョンを作成することに決めました。複数のユーザーのためのCRMデータベース設計

ウェブサイトから取得したデータを取得し、それをデータベースに取り込むという基本的な考え方です。現時点では、Webサイトのフロントエンドに簡単に挿入ステートメントがあります。

私は人々がサービスにサインアップし、アカウントを作成し、ニーズに合わせてカスタマイズできるようにしたいと考えています。私の考えは、一度サインアップすると、自分のページにインストールされたときに自分のアカウントに提出されるフォームアクションが提供されるということです。

データベースなどのテーブルに関しては、現在、それを使用するウェブサイトが1つしかないため、顧客テーブルがあります。人々がサービスにサインアップして使用している場合は、すべてのアカウントに対して新しいテーブルを作成しますか?これは正しいかもしれないが、それは私にはちょっとばかげているようだ。それともこれについてもっと良い方法がありますか?

+0

あなたが**知っていない限り、単一のテーブルに移動**複数を作成する必要があります。問題がある場合、あなたは学び、あなたは知るでしょう。 –

答えて

1

通常、customer_id列を追加し、すべてのMySQLクエリにWHERE customer_id=12345句を追加することをお勧めします。顧客ごとに別々のテーブルを用意することは可能ですが、うまくスケーリングできない可能性があります。

+0

ありがとうございます。だから、皆さんのフォームデータを保持できる汎用の「データ」テーブルをお勧めしますか? –

+0

最初は、はい。あなたが次のFacebookになれば、シャーディングを始めたいと思うでしょうが、それは確かにその方法から始めるのは意味がありません。 – ceejayoz

+0

笑さて、誰が知っていますか?シャーディングとは何ですか? –

関連する問題