Я создаю приложение с интерфейсом WPF и базой данных PostgreSQL. Данные включают адреса пациентов и поставщиков. Существует в среднем около 3 контактов на один почтовый адрес. Я оцениваю 10 000 - 15 000 записей контактов в базе данных.
При проектировании структуры базы данных мне пришло в голову, что вместо хранения почтовых адресов в одной таблице «контактов» у меня может быть одна таблица, в которой хранятся имена и другие отдельные данные, а во второй таблице хранятся адреса. Затем я мог бы создать связь между таблицами, чтобы сопоставить адреса с контактами.
У меня есть довольно хорошая идея, как я могу аккуратно организовать ситуации, такие как изменение адреса одного контакта, когда другие контакты остаются по тому же адресу.
Вопрос: стоит ли это того? Можно ли рассчитывать на большую экономию в размере хранилища? Повлияет ли это на скорость запросов рекламодателей? Как насчет того, чтобы использовать что-то другое, кроме PostgreSQL?