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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Организация структуры таблицы адреса проживания 
:(
    Опции темы
lumentek
Дата 19.11.2009, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 19.11.2009

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



Добрый день! Задача такая. Как правильно организовать структуру хранения место проживания  адреса человека. Тоесть какие поля необходимо учесть. Ведь тут еще вариант того что человек может проживать в городе, а может в сельской местности. Подскажите, какие поля необходимо учесть. Очень надеюсь на вашу помощь
PM MAIL   Вверх
Данкинг
Дата 19.11.2009, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Страна (если нужно) - Почтовый индекс (если нужно) - Регион - Район - Тип НП - НП - Тип дополнительного НП - Дополнительный НП - Тип улицы - Улица - Дом - Корпус - Строение - Квартира - Дополнительная информация. smile

Добавлено через 46 секунд
Цитата(lumentek @  19.11.2009,  01:47 Найти цитируемый пост)
Ведь тут еще вариант того что человек может проживать в городе, а может в сельской местности. 

Это к "Типу НП", видимо.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Gluttton
Дата 19.11.2009, 01:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 10
Всего: 54



1. Опиши словами проблемную область.
2. Выдели сущестительные, прилагательные и глаголы.
3. В идеале существительные - это сущности, глаголы - связи, а прилагательные - атрибуты.
4. Составь ER-диаграмму.
5. Покажи, что получилось, полнее опиши задачу и тогда жди более исчерпывающего ответа  smile .


--------------------
Слава Україні!
PM MAIL   Вверх
lumentek
Дата 19.11.2009, 02:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 19.11.2009

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



Gluttton, проблема такая.
Необходимо вносить в базу данных людей одного конкретного региона.
Регион это область. Есть город, есть поселки городского типа, есть сельская местность. Мне нужно организовать структуры БД таким образом, чтобы правильно отобрать критерии полей в которых будет вноситься информация. Тоесть у проживающего в городе отличный адрес проживания по структуре, чем у человека, проживающего в сельской местности. Правильно?

PM MAIL   Вверх
Данкинг
Дата 19.11.2009, 02:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



lumentek, прошу критику моего варианта. smile 

Цитата(lumentek @  19.11.2009,  02:15 Найти цитируемый пост)
Тоесть у проживающего в городе отличный адрес проживания по структуре, чем у человека, проживающего в сельской местности. Правильно?

Неправильно. smile

Добавлено через 1 минуту и 47 секунд
Цитата(lumentek @  19.11.2009,  02:15 Найти цитируемый пост)
Есть город, есть поселки городского типа

Ну-ка назови разницу между ними (с точки зрения разбиения адреса).  smile 

Цитата(lumentek @  19.11.2009,  02:15 Найти цитируемый пост)
есть сельская местность. 

А ещё есть в/ч, а/я, "до востребования". smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Gluttton
Дата 19.11.2009, 02:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 10
Всего: 54



Цитата(lumentek @  19.11.2009,  02:15 Найти цитируемый пост)
Правильно?

Вот это то и должен знать автор вопроса smile ...

Прихожу я например оформить контрактное подключение к оператору мобильной связи, а там девушка пытается занести мой адрес в их БД. После десяти минут безуспешной манипуляции с сожалением возвращает мне паспорт и говорит, что мол ничего не выйдет, т.к. я прописан при воинской части, а адрес должен быть формата улица-дом-квартира smile (случай из жизни).
А как Вам например такой шедевр: город Балаклава Инкерманского района города Севастополь (не шутка).

Собственно говоря это уже пища для размышления smile ...

Я это всё к чему... Если я, как лицо, которое будет использовать (внедрять) разработанное ПО, зная всю бизнес-логику приложения предпологаю, что оно создано, только для конкретного района и будет использовано, только для лиц, прописанных в этом районе, то это одна история. А если, я собираюсь регистрировать в БД всех желающих (в том числе и иностранных граждан), то это совсем другая история...

По сути:
Ну я бы сделал как то так:
Таблица Районов (Код, Название, Центр, Прочее).
Таблица Населенных пунктов (Код, КодРайона, Название, ТипНаселенногоПункта, Прочее).
Таблица Улиц (Код, КодНаселенногоПункта, Название, ТипУлицы, Прочее).
Таблица Домов (Код, КодУлицы, Номер, Прочее).
Таблица Адресов (КодАдреса, Адрес, Прочее), где Адрес - это произвольная строка, которая может быть заполнена и как "строение 1, корпус 2, кв. 10", так и просто "кв. 25".

Но не зная для чего это используется, это всё пустые разговоры (и советы в том числе)...

Добавлено через 2 минуты и 19 секунд
Цитата(Данкинг @  19.11.2009,  02:31 Найти цитируемый пост)
Неправильно

Согласен.

Цитата(Данкинг @  19.11.2009,  02:31 Найти цитируемый пост)
Ну-ка назови разницу между ними (с точки зрения разбиения адреса). 

Тоже согласен.

Хотя опять же таки:

Цитата(Gluttton @  19.11.2009,  02:33 Найти цитируемый пост)
Но не зная для чего это используется, это всё пустые разговоры (и советы в том числе)...




--------------------
Слава Україні!
PM MAIL   Вверх
lumentek
Дата 19.11.2009, 02:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 19.11.2009

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



Мне нужно вести учет клиентов пользования услугами одной компании. Это все для одного региона. Сам адрес этой косвенный показатель, он нужен только для общих сведений.  например при идентификации субъекта этих данных. Тоесть сами понимаете Ивановых И.И. может быть несколько. 
Теперь, по-вашему, предложению...

Таблиц а районов я так понимаю это, например, Воронежская область, г. Рамонск., с. Подольное.  
Так вот районом будет считаться Рамонский, а населенным пунктом Подольное. Правильно?

PM MAIL   Вверх
Deniz
Дата 19.11.2009, 06:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 7
Всего: 44



lumentek, может лучше взять оригинал и в нем посмотреть как реализовано?
Есть же общероссийский классификатор.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Gluttton
Дата 19.11.2009, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 10
Всего: 54



Цитата(lumentek @  19.11.2009,  02:47 Найти цитируемый пост)
Сам адрес этой косвенный показатель, он нужен только для общих сведений.  например при идентификации субъекта этих данных. Тоесть сами понимаете Ивановых И.И. может быть несколько. Теперь, по-вашему, предложению...

Подход наполненный потенциальными трудностями... При наличии составного первичного ключа (Ф.И.О., Адрес) возможны неточности, связанные с различными стилями написания адреса (например: Иванов И.И., кв. 7 - это один пользователь, а Иванов И.И. квартира 7 - это другой, а Иванов И.И., кв-ра 7 - это третий, хотя речь идет об одном и том же пользователе).
А как быть с Ивановым Александром Александровичем (отцом) и Ивановым Александром Александрвичем (сыном) естественно прописанных по одному и тому же адресу?

А чем не устравивает сурогатный первичный ключ?!

Т.е. в самом общем виде подход (на мой взгляд) должен быть таким:
- если в процессе эксплуатации БД не предвидиться действий с идентефикацией записей по адресу (выбрать всех тех, кто живет в городе таком-то или присвоить всем, кто живет на улице такой-то какой-нибудь атрибут), то адрес может быть и одним полем;
- если предется активное использование части адреса (выбрать всех тех, кто живет в населенном пункте таком-то), то эту (используемую) часть адреса необходимо вынести в отдельное поле;
- если есть необходимость различать записи по полному адресу, то все его сотавляющие необходимо вынести в отдельно в каждое поле (но тут возникает ньюанс, если предусмотреть такие поля как "корпус" или "строение", то для одних пользователей они будут заполены, а для других будут NULL, то же самое будет и с номером квартиры для жителей частных домов, хотя на мов взгляд ничего в этом смертельного нету).

А ещё есть такая штука как EAV (можно задать в поиске для этой ветке форума).

Это сообщение отредактировал(а) Gluttton - 19.11.2009, 09:04


--------------------
Слава Україні!
PM MAIL   Вверх
lumentek
Дата 19.11.2009, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 19.11.2009

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



Цитата(Deniz @  19.11.2009,  06:48 Найти цитируемый пост)
lumentek, может лучше взять оригинал и в нем посмотреть как реализовано?Есть же общероссийский классификатор.

А где его взять?

Добавлено через 4 минуты и 42 секунды
Gluttton, так я и хочу чтобы каждая часть адреса была в отдельном поле. Тоесть у квартиры поле Апартаменты, у корпуса - Корпус, у улицы - Улица. Тоесть для каждго типа отдельное поля. Это неправильный подход. Вся проблема в том что какие поля нужно учесть
PM MAIL   Вверх
ТоляМБА
Дата 19.11.2009, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 5
Всего: 252



lumentek, в гугле или яндексе вбивай "кладр 2009"  smile 
PM   Вверх
Данкинг
Дата 19.11.2009, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(lumentek @  19.11.2009,  02:47 Найти цитируемый пост)
Воронежская область, г. Рамонск.,

Посёлок Рамонье, а не г. Рамонск. smile 

Цитата(lumentek @  19.11.2009,  02:47 Найти цитируемый пост)
Так вот районом будет считаться Рамонский, а населенным пунктом Подольное. Правильно?

Вот теперь правильно. Кстати, "дополнительный НП" - это адреса вроде "Москва, Зеленоград" или "Санкт-Петербург, ПГТ Понтонный". smile 

Цитата(Deniz @  19.11.2009,  06:48 Найти цитируемый пост)
Есть же общероссийский классификатор.

Так несколько не то всё же. К примеру, там не одна таблица, а несколько, связанных про ключам. А дома там указаны только для тех улиц, где есть разбивка индексов до домов, т.е. на одной улице - несколько разных индексов.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Deniz
Дата 19.11.2009, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 7
Всего: 44



Цитата(Данкинг @  19.11.2009,  14:40 Найти цитируемый пост)
Так несколько не то всё же. К примеру, там не одна таблица, а несколько, связанных про ключам.
неужто ты предлагаешь реализовать все в одной таблице?
Про дома и т.д., я предлагал посмотреть как реализовано, а доделать или создать все заново это выбор ТС


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
lumentek
Дата 19.11.2009, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 19.11.2009

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



Данкинг, а если человек проживает в поселке в городе, то поля населенный пункт остаются пустыми?

Добавлено через 6 минут и 34 секунды
Цитата

Ну я бы сделал как то так:
Таблица Районов (Код, Название, Центр, Прочее).
Таблица Населенных пунктов (Код, КодРайона, Название, ТипНаселенногоПункта, Прочее).
Таблица Улиц (Код, КодНаселенногоПункта, Название, ТипУлицы, Прочее).
Таблица Домов (Код, КодУлицы, Номер, Прочее).
Таблица Адресов (КодАдреса, Адрес, Прочее), где Адрес - это произвольная строка, которая может быть заполнена и как "строение 1, корпус 2, кв. 10", так и просто "кв. 25".


Мне это предложение интересно. Хочу уточнить некоторые детали.

1. Таблица районов? На примере допустим Белгородской области. Районы будут считаться Вейделевский, Валуйский, Прохоровский и.т.д.? Так?


PM MAIL   Вверх
Данкинг
Дата 19.11.2009, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(Deniz @  19.11.2009,  14:51 Найти цитируемый пост)
неужто ты предлагаешь реализовать все в одной таблице?

Конечно, в одной, а почему нет? В данном случае с одной таблицей работать куда удобнее, чем с несколькими. Несколько таблиц для хранения адресной информации физических лиц я вообще не рассматриваю. smile 

Цитата(lumentek @  19.11.2009,  15:05 Найти цитируемый пост)
Данкинг, а если человек проживает в поселке в городе, то поля населенный пункт остаются пустыми?

Как понять "в посёлке в городе"? smile "Населённый пункт" пустым быть не может. Меняется значение поля "тип НП": или "г", или "п", или что там ещё может быть.

Цитата(lumentek @  19.11.2009,  15:05 Найти цитируемый пост)
Районы будут считаться Вейделевский, Валуйский, Прохоровский и.т.д.? Так?

Так. smile Белгородская область, Прохоровский район, д. Ивановка, ул. Ленина, д. 10, корп. 11, кв. 12.

Это сообщение отредактировал(а) Данкинг - 19.11.2009, 15:59


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

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

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

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

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

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


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

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

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

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

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


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

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


 




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


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

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