Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Городские адреса и БД, Как разбить на компоненты? 
:(
    Опции темы
Zandr
Дата 2.8.2004, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 433
Регистрация: 16.7.2004
Где: Новосибирск

Репутация: нет
Всего: 13



Если ошибся со своим вопросом с веткой форума звиняйте smile.gif
Пишу клиент-серверную DB-Based прогу для операторов справочной службы. Нужно хранить адреса в пределах области. Пока структура такая:
Код
adr_main (         // Сводная таблица
   adr_id         // id адреса (prim. key)

   adr_city_id    // id города (for. key)
   adr_reg_id     // id района (for. key)
   adr_str_id     // id .../улицы/... (for. key)

   adr_bld        // Номер дома
   adr_bld_part   // Номер/буква корпуса

   adr_flt_type   // ENUM('квартира','комната','офис','блок')
   adr_flt        // Номер .../квартиры/...
   adr_flt_part   // Индекс. Например для офиса 115а - индекс 'а'

   adr_zip        // Почтовый индекс
   adr_descr      // Текстовое дополнение (уточнение адреса)
)

adr_city (         // Города
   adr_city_id    // id города (prim. key)
   adr_city       // Название города (unique)
   ...            // Еще что-нить типа телефонного кода
)

adr_reg (          // Районы города
   adr_reg_id     // id района (prim. key)
   adr_reg        // Название района (unique)
)

adr_str (          // Улицы города
   adr_str_id     // id .../улицы/... (prim. key)
   adr_str_type   // ENUM('проспект','улица','переулок','микрорайон')
   adr_str        // Название .../улицы/... (unique)
)
// prim. key = primary key
// for. key = foreign key

Любые ли адреса можно уместить в этой структуре (считается, что если существует микрорайон N и в нем улица M - про микрорайон можно умолчать)? . Какие еще структуры порядка (улица, переулок, микрорайон, проспект) существуют? Что можно добавить к (квартира, комната, офис, блок)?

Это сообщение отредактировал(а) Zandr - 2.8.2004, 08:11
PM MAIL   Вверх
3,14
Дата 25.8.2004, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: нет
Всего: 24



Непонятно зачем в adr_main содержатся adr_reg_id (id района) и adr_city_id (id города), лучше сделать связь иерархической улица указывает на город и.т.д. Как подсказывает практика в adr_main лучше добавить такое текстовое поле как notes в которое пользователи смогли бы вносить замечания, к тому же название города может быть не уникальным, так же неплохо бы добавить области, а районы сделать не только для города (например село такое-то такого-то района) ещё надо подумать с zip кодами, их бы тоже неплохо сделать отдельной сущностью.

Это сообщение отредактировал(а) 3,14 - 25.8.2004, 11:28


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0587 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.