Я заметил, что некоторые люди хранят связанные данные в разных строках в базе данных, а некоторые poeple помещают связанные данные в одну строку.
Например
id user_id field_id value
1 1 9 "name 1"
2 1 10 "address 1"
3 1 11 "phone 1"
4 2 9 "name 2"
5 2 10 "address 2"
6 2 11 "phone 2"
против
id user_id name address phone
1 1 name 1 address 1 phone 1
2 2 name 2 address 2 phone 2
Здесь вы видите два способа хранения данных для пользователя 1 и пользователя 2. Я не знаю, почему первый метод будет использоваться во втором.
Я сталкиваюсь с некоторыми базами данных, используя первый метод, если вы хотите сделать простую вещь, инструкции SQL очень сложны очень быстро. Второй способ очень прост и прост.
Им было интересно, знает ли кто-нибудь, почему люди продолжают использовать первый метод, и если есть преимущество, которое им не удалось увидеть.
Спасибо
Первый дизайн таблицы позволяет конечным пользователям динамически добавлять новые поля. Некоторое программное обеспечение может позволить вам добавлять новые поля к определенным вещам. Многие CMS делают это, а также такие приложения, как Jira. Предположительно, есть отдельная таблица fields
где они могут быть определены.
Если у вас нет явной необходимости в этом, избегайте этого шаблона любой ценой. Это действительно тот тип вещей, который вы должны делать, только если у вас нет других вариантов, и даже тогда это может иметь смысл:
JSON
и просто выгрузите все пользовательские данные. Это не так хорошо, как индексы таблицы значений key->.