Когда следует нормализовать (или нет) таблицы базы данных?
Я не очень понимаю, когда мне следует нормализоваться, а когда нет. В этом конкретном случае у меня есть набор предприятий и набор почтовых индексов. У каждого бизнеса есть несколько почтовых индексов, которые они обслуживают (обычно два или триста). Для нормализации я должен иметь три таблицы, например:
businesses - id, address, other data etc.
business_postcodes - business_id, postcode_id
postcode - id, postcode
или это нормально, просто иметь две таблицы и поставить фактический почтовый индекс в business_postcodes
Таблица? Каковы преимущества / недостатки этого в любом случае? Зависит ли это от того, сколько у меня данных? Я делаю это в MySQL, если это имеет значение; там, вероятно, будет около 4 миллионов записей в business_postcodes
таблица, и некоторые предприятия будут иметь много совпадений в обслуживаемых почтовых индексов, хотя в равной степени некоторые не будут перекрываться вообще.