2011-07-02 11 views
2

私はMySQLを使用するブートストラップ式スタートアップのためのコンシューマーCRMシステムの開発に取り組んでいます。私たちは、リードとリフェラルを追跡する古い紙とペンの方法から、ディーラーのためのデジタル方式に移行しています。MySQL CRMデータベースのジレンマ

データベースには、鉛の名前、配偶者、仕事、紹介の種類、参照元、リードディーラーなどの標準フィールドがあります。これは簡単で、ほとんどの子供の遊びです。

ここで私はそれを理解するのに苦労している部分です。私は試行された連絡日と応答、および設定またはリセットされた予定をすべて追跡したい。システムはPHPベースのフロントエンドをWebベースにする予定です。

ネストしたテーブルについて考えましたが、私はOracleの使い慣れた設定が好きなので、OracleまたはPostgreSQLを使用したくありません。

実現可能性のために、私は4,000のリードを有し、各リードは平均して30回コールされると言います。だから私は120,000のデータポイントを追跡するでしょう。

それがすることをお勧めのようになります。

  1. これらの指標を追跡するために、フィールド内の2次元PHPの配列を作成します。
  2. これらのメトリックが
  3. を必要としているときに、アプリケーションが引くこと、その中のすべての120Kとの接触テーブルがあり、テーブルに必要なすべてのメトリックのトラック
+3

これではありませんアドバイスをプログラミングするが、起業家:あなたは、起動中にブートストラップしている場合は、CRMを構築する時間を無駄にしてはいけない - 砂糖、またはSalseforce、または何かを使用しています。あなたの時間は貴重です。もしそうでなければ、あなたはおそらく別のバスを見つけなければならないでしょう。 –

+0

私たちのニーズには、Sugar、Salesforce、またはそれらの大会のいずれも、私たちが必要とする機能を持っていません。今のところ、私の週末には、CRMに取り組む時間を取ってきました。私はこの問題を除いて、私が必要とするもののほとんどを持っています。 – reeeky2001

答えて

0

連絡先のテーブルを1つ作成します。連絡先が成功したかどうかを記録する列を追加します。

クエリの多くは、特定のリードを報告することになります場合、私はまた、リードしてMySQLのtable partitioningを使用します。


ただし、週末にCRMシステムを実装する前に、@ Bryan Ageeからのコメントを慎重に検討する必要があります。

+1

これは実際に私が行ってしまったやり方でした。私はそのプロジェクトを次の5月に出発しました。それが終わったのかどうかは分かりません。しかし、私は5年前から答えに感謝したいと思いました。 – reeeky2001

0

スタートを保ち、各リード、の連絡先テーブルを持っていますちょうどリードの。理想的には、フィルタリング可能で検索可能でソート可能である必要があります。 jquery datatables pluginを見てください。あなたはページングされたテーブルを持つことができ、サーバからAJAXを使ってそのデータをプルします。そうすれば、一度にいくつかのレコードを照会して戻すだけで済みます。

次に、ユーザーが連絡先をクリックするとポップアップする2番目のテーブルを作成します。これはAJAXでもあり、特定の連絡先の連絡履歴を表示します。

サーバーのためではなく、システムを使用して人々のためだけでなく、痛みになり、あなたが4000を持っている場合は特に、クエリを実行し、完全なリストを返す必要がありません。この方法で、。

+0

提案していただきありがとうございます。これはほとんど行われていることですが、試行された連絡先を追跡するジレンマは解決されません。 – reeeky2001

0

各リードの連絡先表があり、アクション(連絡先)が作成されるたびにデータが追加されます。それはまたあなたに数や他の指標を与えるでしょう、それは実装し、追跡するのは簡単だろう。