как оптимальнее всего сделать области и города в базе?

Тема в разделе "Базы данных", создана пользователем danneo, 9 ноя 2012.

Модераторы: latteo
  1. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.445
    Симпатии:
    113
    В каталоге нужно сделать область/город
    Область в отдельную таблицу, город в другую или все в одну, как категории (с parentid)?
    Может есть "подводные камни"?
     
  2. Cybero

    Cybero Создатель

    Регистр.:
    28 авг 2012
    Сообщения:
    14
    Симпатии:
    6
    С точки зрения нормализации, да и просто из опыта, лучше сделать отдельные таблицы и связать их через внешний ключ (foreign key).
     
  3. xpert13

    xpert13 <(*_*)>

    Moderator
    Регистр.:
    7 ноя 2008
    Сообщения:
    182
    Симпатии:
    453
    В одну таблицу с parentid используют в случаях создания древовидной структуры с большой (в перспективе) глубиной. В вашем же случая однозначно нужно использовать разные таблицы
     
    danneo нравится это.
  4. Andry750

    Andry750 Создатель

    Регистр.:
    28 ноя 2012
    Сообщения:
    10
    Симпатии:
    0
    По опыту, сделай аналогию (или близкую к ней) обыкновенно КЛАДР с сайта налоговой (gnivc.ru) ... по крайне мере потом не будет проблем с обновлением записей.
     
  5. nnmkayf

    nnmkayf

    Регистр.:
    25 июл 2007
    Сообщения:
    153
    Симпатии:
    98
    Сейчас все большую популярность набирает база данных Федеральной Информационной Адресной Системы сокращенно ФИАНС, которая должна прийти на смену довольно известного КЛАДР
    Уже готовую БД можно скачать с сайта ФИАНС

    Использование такой базы облегчает жизнь заказчиков, так как они привыкли к определенной структуре и дополнительный плюс в резюме - портфолио. ;)
     
  6. ant0ni0

    ant0ni0 Писатель

    Регистр.:
    24 июл 2012
    Сообщения:
    9
    Симпатии:
    2
    КЛАДР это всё хорошо, но оно ведь живёт само по себе, т.е. не в вашей БД. А значит - ни вторичных ключей на него не посоздаешь, ни целостность обеспечить... Да, обновлять это всё по всем компьютерам в сети - то еще удовольствие
     
  7. Андрей Шпак

    Андрей Шпак Создатель

    Регистр.:
    11 фев 2013
    Сообщения:
    43
    Симпатии:
    7
    Как вариант - организовать структуру подобную КЛАДР - с возможностью заливки. За все время структура КЛАДРА менялась раза 3 - так что относительно постоянная.
    Что касается вопроса - однозначно разные таблицы. Представьте себе запрос с полным адресом и емкостью в тысяч 700 строк. С перекрестными ссылками по одной таблице (если области-города в одной)! Бррр.