Так что это скорее обобщенный вопрос о типах данных MySQLs. Я хотел бы правильно хранить 5-значный почтовый индекс США ( zip_code ) в этом примере.
В округе 10 разных городов и 5 разных почтовых индексов.
city | zip code
-------+----------
city 0 | 33333
city 1 | 11111
city 2 | 22222
city 3 | 33333
city 4 | 44444
city 5 | 55555
city 6 | 33333
city 7 | 33333
city 8 | 44444
city 9 | 22222
Я бы обычно структурировал такую таблицу как varchar (50), int (5) и не думал бы об этом дважды.
(1) Если мы хотим, чтобы в этой таблице был только один из 5 различных почтовых индексов, мы должны использовать тип данных enum , верно?
Теперь подумайте о похожем сценарии в гораздо большем масштабе. В штате пятьсот городов с 418 различными почтовыми индексами.
(2) Должен ли я хранить 418 почтовых индексов как enum тип данных ИЛИ как int и создать другую таблицу для ссылки?