![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
lumentek |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 19.11.2009 Репутация: нет Всего: нет |
Добрый день! Задача такая. Как правильно организовать структуру хранения место проживания адреса человека. Тоесть какие поля необходимо учесть. Ведь тут еще вариант того что человек может проживать в городе, а может в сельской местности. Подскажите, какие поля необходимо учесть. Очень надеюсь на вашу помощь
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Страна (если нужно) - Почтовый индекс (если нужно) - Регион - Район - Тип НП - НП - Тип дополнительного НП - Дополнительный НП - Тип улицы - Улица - Дом - Корпус - Строение - Квартира - Дополнительная информация.
![]() Добавлено через 46 секунд
Это к "Типу НП", видимо. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 10 Всего: 54 |
1. Опиши словами проблемную область.
2. Выдели сущестительные, прилагательные и глаголы. 3. В идеале существительные - это сущности, глаголы - связи, а прилагательные - атрибуты. 4. Составь ER-диаграмму. 5. Покажи, что получилось, полнее опиши задачу и тогда жди более исчерпывающего ответа ![]() -------------------- Слава Україні! |
|||
|
||||
lumentek |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 19.11.2009 Репутация: нет Всего: нет |
Gluttton, проблема такая.
Необходимо вносить в базу данных людей одного конкретного региона. Регион это область. Есть город, есть поселки городского типа, есть сельская местность. Мне нужно организовать структуры БД таким образом, чтобы правильно отобрать критерии полей в которых будет вноситься информация. Тоесть у проживающего в городе отличный адрес проживания по структуре, чем у человека, проживающего в сельской местности. Правильно? |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
lumentek, прошу критику моего варианта.
![]()
Неправильно. ![]() Добавлено через 1 минуту и 47 секунд Ну-ка назови разницу между ними (с точки зрения разбиения адреса). ![]() А ещё есть в/ч, а/я, "до востребования". ![]() -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Gluttton |
|
||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 10 Всего: 54 |
Вот это то и должен знать автор вопроса ![]() Прихожу я например оформить контрактное подключение к оператору мобильной связи, а там девушка пытается занести мой адрес в их БД. После десяти минут безуспешной манипуляции с сожалением возвращает мне паспорт и говорит, что мол ничего не выйдет, т.к. я прописан при воинской части, а адрес должен быть формата улица-дом-квартира ![]() А как Вам например такой шедевр: город Балаклава Инкерманского района города Севастополь (не шутка). Собственно говоря это уже пища для размышления ![]() Я это всё к чему... Если я, как лицо, которое будет использовать (внедрять) разработанное ПО, зная всю бизнес-логику приложения предпологаю, что оно создано, только для конкретного района и будет использовано, только для лиц, прописанных в этом районе, то это одна история. А если, я собираюсь регистрировать в БД всех желающих (в том числе и иностранных граждан), то это совсем другая история... По сути: Ну я бы сделал как то так: Таблица Районов (Код, Название, Центр, Прочее). Таблица Населенных пунктов (Код, КодРайона, Название, ТипНаселенногоПункта, Прочее). Таблица Улиц (Код, КодНаселенногоПункта, Название, ТипУлицы, Прочее). Таблица Домов (Код, КодУлицы, Номер, Прочее). Таблица Адресов (КодАдреса, Адрес, Прочее), где Адрес - это произвольная строка, которая может быть заполнена и как "строение 1, корпус 2, кв. 10", так и просто "кв. 25". Но не зная для чего это используется, это всё пустые разговоры (и советы в том числе)... Добавлено через 2 минуты и 19 секунд Согласен.
Тоже согласен. Хотя опять же таки:
-------------------- Слава Україні! |
||||
|
|||||
lumentek |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 19.11.2009 Репутация: нет Всего: нет |
Мне нужно вести учет клиентов пользования услугами одной компании. Это все для одного региона. Сам адрес этой косвенный показатель, он нужен только для общих сведений. например при идентификации субъекта этих данных. Тоесть сами понимаете Ивановых И.И. может быть несколько.
Теперь, по-вашему, предложению... Таблиц а районов я так понимаю это, например, Воронежская область, г. Рамонск., с. Подольное. Так вот районом будет считаться Рамонский, а населенным пунктом Подольное. Правильно? |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 7 Всего: 44 |
lumentek, может лучше взять оригинал и в нем посмотреть как реализовано?
Есть же общероссийский классификатор. -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 10 Всего: 54 |
Подход наполненный потенциальными трудностями... При наличии составного первичного ключа (Ф.И.О., Адрес) возможны неточности, связанные с различными стилями написания адреса (например: Иванов И.И., кв. 7 - это один пользователь, а Иванов И.И. квартира 7 - это другой, а Иванов И.И., кв-ра 7 - это третий, хотя речь идет об одном и том же пользователе). А как быть с Ивановым Александром Александровичем (отцом) и Ивановым Александром Александрвичем (сыном) естественно прописанных по одному и тому же адресу? А чем не устравивает сурогатный первичный ключ?! Т.е. в самом общем виде подход (на мой взгляд) должен быть таким: - если в процессе эксплуатации БД не предвидиться действий с идентефикацией записей по адресу (выбрать всех тех, кто живет в городе таком-то или присвоить всем, кто живет на улице такой-то какой-нибудь атрибут), то адрес может быть и одним полем; - если предется активное использование части адреса (выбрать всех тех, кто живет в населенном пункте таком-то), то эту (используемую) часть адреса необходимо вынести в отдельное поле; - если есть необходимость различать записи по полному адресу, то все его сотавляющие необходимо вынести в отдельно в каждое поле (но тут возникает ньюанс, если предусмотреть такие поля как "корпус" или "строение", то для одних пользователей они будут заполены, а для других будут NULL, то же самое будет и с номером квартиры для жителей частных домов, хотя на мов взгляд ничего в этом смертельного нету). А ещё есть такая штука как EAV (можно задать в поиске для этой ветке форума). Это сообщение отредактировал(а) Gluttton - 19.11.2009, 09:04 -------------------- Слава Україні! |
|||
|
||||
lumentek |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 19.11.2009 Репутация: нет Всего: нет |
А где его взять? Добавлено через 4 минуты и 42 секунды Gluttton, так я и хочу чтобы каждая часть адреса была в отдельном поле. Тоесть у квартиры поле Апартаменты, у корпуса - Корпус, у улицы - Улица. Тоесть для каждго типа отдельное поля. Это неправильный подход. Вся проблема в том что какие поля нужно учесть |
|||
|
||||
ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 5 Всего: 252 |
lumentek, в гугле или яндексе вбивай "кладр 2009"
![]() |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Посёлок Рамонье, а не г. Рамонск. ![]()
Вот теперь правильно. Кстати, "дополнительный НП" - это адреса вроде "Москва, Зеленоград" или "Санкт-Петербург, ПГТ Понтонный". ![]() Так несколько не то всё же. К примеру, там не одна таблица, а несколько, связанных про ключам. А дома там указаны только для тех улиц, где есть разбивка индексов до домов, т.е. на одной улице - несколько разных индексов. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 7 Всего: 44 |
Про дома и т.д., я предлагал посмотреть как реализовано, а доделать или создать все заново это выбор ТС -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
lumentek |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 19.11.2009 Репутация: нет Всего: нет |
Данкинг, а если человек проживает в поселке в городе, то поля населенный пункт остаются пустыми?
Добавлено через 6 минут и 34 секунды
Мне это предложение интересно. Хочу уточнить некоторые детали. 1. Таблица районов? На примере допустим Белгородской области. Районы будут считаться Вейделевский, Валуйский, Прохоровский и.т.д.? Так? |
|||
|
||||
Данкинг |
|
||||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Конечно, в одной, а почему нет? В данном случае с одной таблицей работать куда удобнее, чем с несколькими. Несколько таблиц для хранения адресной информации физических лиц я вообще не рассматриваю. ![]()
Как понять "в посёлке в городе"? ![]()
Так. ![]() Это сообщение отредактировал(а) Данкинг - 19.11.2009, 15:59 -------------------- There's nothing left but silent epitaphs. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Общие вопросы по базам данных" | |
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |