Дилемма базы данных MySQL CRM
Я работаю над созданием потребительской CRM-системы для моего загрузочного стартапа, где мы будем использовать MySQL. Мы переходим от старого метода отслеживания потенциальных клиентов и рефералов с помощью бумаги и ручки к цифровому методу для наших дилеров.
В базе данных будут стандартные поля, такие как имя клиента, супруг/супруга, вакансии, тип реферала, реферер и ведущий дилер. Это легкая, почти детская игра.
Теперь та часть, в которой мне трудно разобраться. Я хочу отслеживать все попытки контакта даты и ответы, а также назначенные или сброшенные встречи. Система будет веб-ориентированной, с интерфейсом на PHP.
Я думал о создании вложенных таблиц, но я не хочу использовать Oracle или PostgreSQL, так как мне нравится знакомая настройка MySQL.
Для удобства предположим, что у меня есть 4000 потенциальных клиентов, и каждый из них будет вызван в среднем 30 раз. Так что у меня будет 120 000 точек данных для отслеживания.
Было бы целесообразно:
- Сделайте два размерный PHP-массив в поле, чтобы отслеживать эти показатели.
- Есть таблица контактов со всеми 120 тысячами, которые приложение извлекает, когда эти показатели необходимы
- Есть таблица контактов для каждого интереса, в которой отслеживаются все необходимые показатели
3 answers
Я бы сделал одну таблицу для контактов. Добавьте столбец, чтобы записать, был ли контакт успешным или нет.
Я бы также использовал разделение таблицы MySQL по лидам, если многие запросы будут сообщать о конкретных лидах.
Но я поддерживаю комментарий @Bryan Agee, который вам следует тщательно обдумать, прежде чем внедрять CRM-систему с нуля в выходные дни.
Начните с таблицы только лидов. В идеале он должен быть фильтруемым, доступным для поиска и сортировки. Загляните в плагин jquery datatables. У вас может быть таблица, которая выгружается на страницу и извлекает свои данные с помощью AJAX с сервера. Таким образом, вам нужно всего лишь запрашивать и возвращать несколько записей одновременно.
Затем создайте вторую таблицу, которая появляется, когда пользователь нажимает на контакт. Это также AJAX и отображает историю контактов для этого конкретного контакт.
Таким образом, вам никогда не придется запрашивать и возвращать полный список, особенно если у вас 4000, что было бы проблемой не только для сервера, но и для людей, использующих систему.
Создайте таблицу контактов для каждого интереса и добавляйте в нее данные каждый раз, когда выполняется действие (контакт). Он также даст вам подсчет и другие показатели, и его будет легко реализовать и отслеживать.