Должен ли я указывать названия стран / регионов на уровне БД или приложения? - PullRequest
0 голосов
/ 09 января 2011

Я принимаю трудное решение (по крайней мере, для меня) ...

Мой сайт будет иметь список стран в раскрывающемся списке и список городов на основе выбранной страны. Я решил заполнить список на уровне БД следующим образом:

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. Член может иметь несколько потоковых отношений «один ко многим». В противном случае вещи, относящиеся к многозначному списку стран, не будут рассматриваться на уровне БД для простоты и рэпа.

Что вы думаете? Совет ...

Ответы [ 3 ]

1 голос
/ 09 января 2011

Не уверен, что я полностью понимаю текст вашего вопроса, но чтобы ответить на заголовок вашего вопроса, я бы оставил названия стран в базе данных.Страны / города время от времени меняют свои названия.

1 голос
/ 09 января 2011

Характер данных должен определять модель базы данных.Не ваши внешние проблемы.

Почему бы не загрузить ваши города в выпадающий список?Установите отображение текста = cityName.Установите значение = cityID.

0 голосов
/ 09 января 2011

Я бы предложил определить XML с именем / идентификатором страны в качестве элемента и названиями городов в качестве дочерних элементов.Это делает его редактировать / читать данные XML.Я не уверен, что вы хотели бы рассмотреть это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...