Лучший подход к структуре базы данных?
Мы работаем над модулем SLI Search для нашего клиента. Я хочу спросить вас, это хороший подход для создания отдельных таблиц или я должен управлять всеми данными клиентов в одну таблицу?
Имейте в виду, что пользователь может попросить обновить свой модуль, это означает, что структура таблицы может отличаться для каждого клиента.
Во-вторых, клиент передаст мне свои данные, и я обновлю данные всех клиентов в своих таблицах или в одной таблице, используя Package.
Таким образом, это будет хороший подход, чтобы сделать их отдельные таблицы в базе данных, или я должен сделать централизованную таблицу для всех наших клиентов?
1 ответ
Если поле таблицы варьируется от клиента (клиента) к клиенту, то рекомендуется иметь отдельные таблицы, в противном случае вы создадите много пустых записей.
Во-вторых, если каждый клиент является отдельным экземпляром и между ними нет корреляции, то почему теперь есть отдельная схема или база данных для них?
Похоже, база данных SQLite подойдет, так как каждая структура данных клиента уникальна, поэтому вам лучше сделать ее переносимой, чтобы можно было вносить изменения по одной базе данных SQLite за раз.
Подход к централизованным таблицам Недавно мы использовали новое исследование и исследование, но вам нужно рассмотреть вопрос об индексации для быстрого поиска по полям.
В любом случае, вы можете создать плоскую таблицу, в которой будет много столбцов с последовательными номерами, например, Field1, Field2, Field3, Field4.....Field99, Field100... Field150 (столько полей потенциальных клиентов, сколько у вас есть).
Вы создаете другую таблицу и в ней сопоставляете метки для каждого клиента (клиента) с этими полями. Например, идентификатор клиента ABC равен 10032. Он использовал поле от Field1 до Field11. Field1 имеет имя метки. FirstName. Field2 метка - это фамилия. Field3 метка - это DOB ... ... Field11 метка - это UserCountry.
Теперь каждый раз, когда показываются записи, вы выбираете зарегистрированные пользовательские метки, а затем сопоставляете их с полями.
Я надеюсь, что это отвечает на вопрос.