Мне нужна база данных для хранения, то есть записи пользователя. Обычные вещи: имя, электронная почта, адрес, телефон, факс и так далее. Проблема в том, что в этом случае может быть более одного номера телефона на пользователя. И более одного электронного письма. Даже более одного адреса. И многое другое.
Один из подходов - хранить все в одной таблице, например, Сериализованный массив телефонов в одной колонке телефонов. Или разделенные запятыми телефоны в одной колонке телефонов. Но мне действительно не нравится этот способ, я бы предпочел делать слишком сложную базу данных, чтобы сделать логику программирования проще, чем наоборот.
Еще одна - индивидуальная таблица для телефонов, индивидуальная таблица для адресов и так далее. Столбцы: id , customer_id , phone . customer_id ссылки клиенты . id Теперь это похоже на реальное излишество, имея около 10 таблиц только для хранения контактных данных.
И еще одна идея, которую я выдвинул, - это одна дополнительная таблица для контактов со столбцами, такими как id , customer_id (<-foreign key), <strong>key , значение . Где ключ может быть «телефон» и значение «+123 3435454», или ключ «электронная почта» и значение ... у вас есть идея. Пока что мне больше всего нравится этот.
Что бы вы предложили? Каковы недостатки системы # 3?
db Я собираюсь использовать это postgresql , но это не имеет значения.