|
|
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
Есть база данных о выполнении работ для клиентов. Клиенты - физлица. Адрес клиента должен браться из КЛАДР. Он в принципе и берется,но как его лучше хранить? Варианты 1. Отдельная сущность Адрес с атрибутами КОДРегиона char(2), КОДРайона char(3), КОДГорода char(3), КОДНасПункта char(3), КОДУлицы char(4), Дом char(5), Корпус char(5), Кв char(5) Со связью 1-1 с сущностью "Клиент" 2. Отдельная сущность Адрес с атрибутами КОДУлицы char(17), -- Включает в себя все коды вышестоящих по иерархии объектов Дом char(5), Корпус char(5), Кв char(5) Со связью 1-1 с сущностью "Клиент" 3. 4 атрибута сущности "Клиент" КОДУлицы char(17), -- Включает в себя все коды вышестоящих по иерархии объектов Дом char(5), Корпус char(5), Кв char(5) 4. 1 атрибут сущности "Клиент" КодАдреса char(32) -- Включает в себя код улицы + Дом+Корп+Квартира И вообще, поделитесь опытом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 13:00 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
можно так: Регион Район принадлежит Региону Город-НасПункт принадлежит Району Улица принадлежит Город-НасПункт Клиент принадлежит Улица + Дом+Корпус+Кв причем Дом+Корпус+Кв можно одним полем итого 5 таблиц по Клиент вытаскиваем по ссылкам полный адрес по любому уровню вытаскиваем подуровни + всех клиентов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 15:18 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
1. Медитируй в сторону деревьев. 2. Познакомься с КЛАДР. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 16:03 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
С КЛАДР знаком. Сделано 5 вьюшек к его таблицам: РЕГИОНЫ РАЙОНЫ ГОРОДА НАСПУНКТЫ УЛИЦЫ В результате последовательного выбора на форме, я получаю 17-ти значный код улицы, которы включает в себя и код региона, и района и города и наспункта. Дополнительно ввожу Дом, Корпус, Квартиру. А теперь вопрос см пост (1). Пока решил хранить как 37-символьную строку - 2_ 3__ 3__ 3__ 4___ 5____ 5____ 5____ 6_____ (символов) Код Код Код Код Код Дом Корп Кв Почт Региона Района Города НП Улицы Индекс Какие минусы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 06:38 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
Адресат Какие минусы? Минусы - трудозатраты по отношению к хранению в одной строке. А какие +? Что ты будешь делать с адресом ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 11:10 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
Адресат. Пока решил хранить как 37-символьную строку - Какие минусы? 1) Понадобится выбрать всех клиентов из Питера, будет шаманство с substring? 2) Как отобразить такой адрес в списке? 3) Бывают еще нерезиденты из Белоруссии ;) как сохранить адрес для такого лица? 4) Как бы часто не обновлялся КЛАДР всегда есть возможность наткнуться на улицу которой в КЛАДР нет, что делать в таком случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 14:55 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
KGPМинусы - трудозатраты по отношению к хранению в одной строке. А какие +? Что ты будешь делать с адресом ? Адрес часто нужно быстро подбирать . Т.е. набрал три буквы от области - нашел область, набрал пару букв города - нашел город, нашел улицу, нашел дом и при этом не опечатался, не ошибся, получил почтовый индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 11:03 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
А что мешает хранить в "деревянной" таблице дополнительное поле с "полным" адресом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 16:38 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
У Клиента бывает много адресов. Как минимум, регистрации и фактического проживания, а также рабочий, и т.п. Если в постановке этого сейчас нет, то потом точно появится - заложите сразу, не пожалеете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2005, 16:55 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
Чего-то я не пойму - какие проблемы сделать ссылку на КОД (улицы, города - хоть на все сразу, хоть на одно) и держать это в отдельной таблице? Велосипед хочется изобрести безколесный? -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 09:28 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
tygraЧего-то я не пойму - какие проблемы сделать ссылку на КОД (улицы, города - хоть на все сразу, хоть на одно) и держать это в отдельной таблице? Велосипед хочется изобрести безколесный? -- Tygra's -- Тогда уж с квадратными колесами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 10:59 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
Идти нужно от потребностей. Адреса вносятся из документов, записаны могут быть там в произвольном виде. Более того, если тот же паспорт был выдан несколько лет назад, в нем м.б. старое название нас. пункта. В принципе, в КЛАДР есть некая таблица соотв., но что-то подсказывает мне что она далеко не полная. Плюс к этому, в этой красивой деревянной структуре - Регион, город и пр. может быть опущен любой уровень. Город м.б. на месте региона (Москва и Питер), а м.б. на месте населенного пункта. Потому, учитывая размеры КЛАДРа, подбор его частей из списка может оказаться куда неудобней простого прямого ввода. А вытаскивание всех клиентов из Питера через substring не настолько менее эффективно, чтобы городить для него эту структуру. Я храню в структуре КЛАДР + полный текстовый адрес. На клиенте для резидентов выбирается из справочников и записывается в поле адреса. Есть возможность прямого ввода адреса без КЛАДРа. Но у меня была необходимость в сохранении именно самого КЛАДРа, точнее в возможности формировании адреса для налоговой и пр. А если бы не это, он нафиг не нужен. Ибо поступающие данные слишком энтропийны Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2005, 19:06 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
nik_x2. Познакомься с КЛАДР. imho, КЛАДР - образец того, как НЕ НАДО проектировать базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 09:02 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
freebeer nik_x2. Познакомься с КЛАДР. imho, КЛАДР - образец того, как НЕ НАДО проектировать базы. Если не затруднит, обоснуйте, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 11:20 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
aagИдти нужно от потребностей. Абсолютно! Например - нужно определять почтовый индекс :) Или, как в вашем случае - определять коды именно по КЛАДР. Адреса вносятся из документов У вас? Но не у всех. Плюс к этому, в этой красивой деревянной структуре - Регион, город и пр. может быть опущен любой уровень И какие проблемы? Потому, учитывая размеры КЛАДРа, подбор его частей из списка может оказаться куда неудобней простого прямого ввода. [quot] Размеры КЛАДРА никак не сказываются напрямую на УДОБСТВЕ ввода ;) Просто надо УДОБНО делать. Поскольку именованные части разнесены там, то индексы получаются весьма эффективные. [quot]А вытаскивание всех клиентов из Питера через substring не настолько менее эффективно, чтобы городить для него эту структуру. Почему только из Питера?? А если по всей РФ? А если клиентов 500 000? (Это не с потолка взятое число). substring, хм.. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 13:02 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
2 iamhere Почтовый индекс в КЛАДРе присутствует только где-то в 30-40% адресов. Кроме того, одна улица может иметь два разных индекса. И наоборот, один индекс может покрывать всю какую-нить Удмуртию целиком. Указывая, что адреса вносятся из документов, я имел в виду, что в формате КЛАДРа они встречаются только в некоторых программах ЦБ или МНС. Если вы имеет дело с адресами именно из них - вам повезло. А в реальной жизни все их пишут в др. виде - хоть в договорах, хоть в паспортах, хоть в свидетельствах. Распарсить который в формат КЛАДР практически невозможно. Это же относилось и к деревянной структуре. Пример про Питер был приведен в ответ на пост Estets А для вытаскивания всех из РФ, КЛАДР не нужен. Нужен код страны, на худой конец, признак резиденства. 2 freebeer На самом деле реальная система адресации в жизни довольно запутана, противоречива и имеет множество нюансов. На этом фоне предьявлять претензии самому КЛАДРу... сложно. Особенно если учесть необходимую ориентацию на dbf. Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 13:26 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
aag 2 freebeer На самом деле реальная система адресации в жизни довольно запутана, противоречива и имеет множество нюансов. С этим не спорю ни разу. aag На этом фоне предьявлять претензии самому КЛАДРу... сложно. Особенно если учесть необходимую ориентацию на dbf. Как раз к проектировщикам кладра и нужно предъявлять. Уровней всего - кот наплакал(7), а сгородили геморой. Лучше бы они просто разнесли их по отдельным таблицам, а так.... И dbf здесь совсем не причем. файл Kladr.dbf – содержит записи с объектами первых четырех уровней классификации (регионы; районы (улусы); города, поселки городского типа, сельсоветы; сельские населенные пункты); файл Street.dbf – содержит записи с объектами пятого уровня классификации (улицы городов и населенных пунктов); файл Doma.dbf – содержит записи с объектами шестого уровня классификации (номера домов улиц городов и населенных пунктов); файл Flat.dbf – содержит записи с объектами седьмого уровня классификации (номера квартир домов); Для выборки и увязки нужных адресов необходимо генерить или анализировать СИМВОЛЬНУЮ строку немерянной длины(13-19 символов в разных таблица ). НА ХРЕНА!!!!!!!!!. Все цифирьки из этой строки замечательно кладутся в поля типа нумерик(в dbf причем весьма коротенький), которое в дальнейшем замечательно и однозначно портируется в любой подходящий целый тип и изумительно работает, не требуя больших вычислительных затрат. Места в конечном итоге это занимает не больше. Нормализация хромает на обе ноги... Все поля - символьные (или это религия такая) И вообще, когда мне приходится использовать Кладр, я тихо матерюсь и сжимаю зубы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 15:34 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
2 freebeer Ну, вы скорее всего правы и относительно таблиц и - безусловно по кодам. Только что-то мне подсказывает, что и в таком виде это КЛАДР особо не улучшит... Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 17:07 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
aag Почтовый индекс в КЛАДРе присутствует только где-то в 30-40% адресов. Хм.. Я вообще не мерил... Это вы сами посчитали или как? На практике редко, когда не находится. Кроме того, одна улица может иметь два разных индекса. И наоборот, один индекс может покрывать всю какую-нить Удмуртию целиком. И.. и что, простите, с того? Ну да, так и устроены почтовые индексы. Почему из этого следует, что не стоит использовать КЛАДР??? Указывая, что адреса вносятся из документов...распарсить который в формат КЛАДР практически невозможно. Еще раз. Если У ВАС основным источником являются документы и электронный вид - это ваши проблемы, сочувствую. Есть и другой частый источник данных - живые клиенты и обученные операторы, которые со слов подбирают адрес. На самом деле реальная система адресации в жизни довольно запутана, противоречива и имеет множество нюансов. На этом фоне предьявлять претензии самому КЛАДРу... сложно. Согласен. Хорошо, что хоть это есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 11:25 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
2 iamhere У вас пример был - нужно определять почтовый индекс. Я вам отвечаю - как вы будете определять почтовый индекс по улице, если там их два? С моей точки зрения, для этих целей КЛАДР не слишком подходит. Только по принципу "на безрыбье и рак..." и если наличие индекса обязательно... автордругой частый источник данных - живые клиенты и обученные операторы, которые со слов подбирают адрес А слова эти, их на ходу по вашему придумывают? Или они все-таки тоже беруться из неких документов? Я ведь упирал не на то, откуда берутся адреса, а на то в каком виде они берутся. Вот, к примеру, мой адрес рождения - г.Совгавань, Хабаровский край. Ну-ка, не делая селектов-поиска по всем названиям - найдите его по КЛАДРу? Сколько времени у вас уйдет на это? А вообще же я писал не о том, что КЛАДР нельзя использовать ни в коем случае. А о том, что его реальное применение связано с кучей нюансов, которые сильно нивелируют его информационную ценность. В каких-то областях он, разумеется, лучше с ним, чем без него. Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 14:23 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
aag2 iamhere У вас пример был - нужно определять почтовый индекс. Я вам отвечаю - как вы будете определять почтовый индекс по улице, если там их два? На входе - "Московская обл, Ленинский р-н, г. Видное, ул. Школьная, д.15". Для улицы может и два индекса (для четныйх, например, и для нечетных), а для конкретного дома индекс определяется однозначно по КЛАДР. aagА слова эти, их на ходу по вашему придумывают? Или они все-таки тоже беруться из неких документов? Просто в этой ситуации стоит не задача автоматического разбора строки, вбитой неизвестно кем неизхвестно как, неизвестно когда и неизвестно на основании чего, а стоит задача быстро подобрать адрес со слов живого человека, который называет этот адрес и подскажет в какой области этот город (если одноименный в двух областях встречается) и как он раньше назывался. Т.е. СОВСЕМ другая задача. aagг.Совгавань, Хабаровский край. Несколько секунд уйдет. В поле "город" вобьешь "Совгав.." и скорее всего ровно один город такой и найдется. В чем проблема-то? Автоматом подставится край и (если индекс один на весь город) индекс. aag А вообще же я писал не о том, что КЛАДР нельзя использовать ни в коем случае. ... В каких-то областях он, разумеется, лучше с ним, чем без него. Точно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 17:16 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
авторВ поле "город" вобьешь "Совгав.." и скорее всего ровно один город такой и найдется. В чем проблема-то? В том, что не найдется. Потому как в КЛАДРе такого города нет. А есть город Советская Гавань. Но находится он не в крае, а в р-не (данного края). Однако во всех документах написано именно так как я вам написал. Вот и остается только подбор. Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2005, 13:36 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
aagв КЛАДРе такого города нет. А есть город Советская Гавань Ну вот в случае работы с живым человеком он сразу и подскажет. И манагер еще через 5 сек найдет Советскую гавань. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2006, 13:03 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
iamhere aagв КЛАДРе такого города нет. А есть город Советская Гавань Ну вот в случае работы с живым человеком он сразу и подскажет. И манагер еще через 5 сек найдет Советскую гавань. Живо представляю себе "живого человека" - рядового жителя Совгавани. Который стоя перед менеджером произносит "Так ничего не найдется. Потому как в КЛАДРе такого города нет. А есть город Советская Гавань. Но находится он не в крае, а в р-не (данного края). Однако во всех документах написано именно так как я вам написал."... Это будет эпическая картина!!!!!! Увы - при работе "с живыми людьми" далеко не все в состоянии вспомнить свой адрес именно в том порядке, в каком он определен в КЛАДРе... Особенно если система захватывает не один город, а область/край... Тут даже самый квалифицированный менеджер не поможет (а если и поможет, то процесс затянется в десятки раз...). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 18:46 |
|
||
|
Как правильно хранить адрес
|
|||
|---|---|---|---|
|
#18+
Да с чего вы взяли, что в определенном порядке надо вводить??? ;) Городов не так много а уж с названием Совгавань или Советская гавань - так и вообще раз, два и обчелся ;) Подобрал название города - оно само дальше край и область по КЛАДР определит - он для того и сделан. А живой человек говорит всего лишь "Хм.. совгавани нет? Ну посмотрите Советская гавань, бывает...". И все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 22:58 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=143&tid=1545446]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 296ms |

| 0 / 0 |
