Я принимаю трудное решение (по крайней мере, для меня) ...
Мой сайт будет иметь список стран в раскрывающемся списке и список городов на основе выбранной страны. Я решил заполнить список на уровне БД следующим образом:
CREATE TABLE Country
(
countryID - PK
countryName - FK
);
CREATE TABLE City
(
cityID - PK
countryID - FK
cityName
);
CREATE TABLE Register
(
registerID - PK
cityID - FK
)
Однако, это может добавить некоторую сложность в кодировании php-сервера при вставке записи в регистрацию, а также при извлечении записи из стран / городов, потому что в регистрационной форме пользователь будет указывать название города в выпадающем списке, пользователь не будет видеть cityID, поэтому мне нужно будет выбрать cityID на основе выбранного cityName и т. д. Поэтому я сказал, почему я просто помещаю список стран и городов на уровне приложения в фиксированный выпадающий список и заставляю таблицу регистров выглядеть следующим образом:
CREATE TABLE Register
(
registerID - PK
cityName
)
cityName вставляется напрямую без необходимости присоединяться или вызывать несколько таблиц и получать конкретный идентификатор для города, чтобы мы могли затем получить cityName и т. Д. *
Я буду нормализовать только в важных таблицах, таких как создание связей между таблицами Member и Post / Thread. Член может иметь несколько потоковых отношений «один ко многим». В противном случае вещи, относящиеся к многозначному списку стран, не будут рассматриваться на уровне БД для простоты и рэпа.
Что вы думаете? Совет ...