
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.01.2003, 13:00
|
|||
|---|---|---|---|
|
|||
По заданной улице и номеру дома найти его почтовый индекс. |
|||
|
#18+
HI ALL! Помогите решить такую задачу: по заданной улице и номеру дома найти его почтовый индекс. Дано: табличка (в смысле бумажная) с полями "Наименование улицы", "Четные", "Нечетные", "Индекс" . Если нужно найти индекс дома X по улице "ABCD", оператор определяет, что X четное, ищет строки с улицей "ABCD" (их обычно >1) и по полю "Четные" смотрит в диапазон какой строки попадает X. В найденной строке искомый индекс. Эту задачу я решил создав табличку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Тоже самое надо сделать для другого региона, НО ТУТ РАЗБИВКА НА ИНДЕКСЫ НЕТРИВИАЛЬНАЯ!!! В поле "Четные"/"Нечетные" может стоять не диапазон, а перечисление (50,62,88), может быть диапазон И перечисление (12-40,50,62,88), часто попадаются дома с индексами (50а-64). Ума не приложу, какая должна быть структура данных и как их обрабатывать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.01.2003, 15:25
|
|||
|---|---|---|---|
По заданной улице и номеру дома найти его почтовый индекс. |
|||
|
#18+
т.е. перечисление - это просто набор записей, у которых начало диапазона совпадает с его концом. И все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.01.2003, 15:30
|
|||
|---|---|---|---|
|
|||
По заданной улице и номеру дома найти его почтовый индекс. |
|||
|
#18+
Нормализовать немедленно. Исходные данные перерабатывать, awk-ом, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.01.2003, 15:54
|
|||
|---|---|---|---|
|
|||
По заданной улице и номеру дома найти его почтовый индекс. |
|||
|
#18+
2scela Это идея! 2Scott Tiger Каким awk? Исходные данные на бумаге. Пусть юзера сами бьют. >Нормализовать немедленно. Как? В этом весь вопрос и заключается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.01.2003, 16:02
|
|||
|---|---|---|---|
|
|||
По заданной улице и номеру дома найти его почтовый индекс. |
|||
|
#18+
Упс... У меня температура, прогдялел :) А задача-то какая? Забить всю информацию с бумажек в БД и дальше работать только с ней, отвечая на вопрос об индексе по адресу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2003, 06:34
|
|||
|---|---|---|---|
|
|||
По заданной улице и номеру дома найти его почтовый индекс. |
|||
|
#18+
2scela Это идея! 2Scott Tiger Каким awk? Исходные данные на бумаге. Пусть юзера сами бьют. >Нормализовать немедленно. Как? В этом весь вопрос и заключается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2003, 06:38
|
|||
|---|---|---|---|
|
|||
По заданной улице и номеру дома найти его почтовый индекс. |
|||
|
#18+
>Забить всю информацию с бумажек в БД и дальше работать только с ней, отвечая на вопрос об индексе по адресу? Именно. Только как это сделать? P.S. Sorry за двойной пост. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2003, 10:14
|
|||
|---|---|---|---|
|
|||
По заданной улице и номеру дома найти его почтовый индекс. |
|||
|
#18+
ТО есть я так понял с перечислением разобрались, остались дома с индексами(50а), тут возникает вопрос: возможна ли ситуация что дом по улице ХХХ с номером 50 на одном индексе а дом ХХХ №50а на другом... если такая ситуация практическине возможна, то просто игнорируй индексы. В противном случае, можно придумывать разные фишки от обработки строк на предмет вычленения только номера, до ввода дополнительных полей под индекс. Было высказано пердложение по нормализации, поддерживаю... Например название улицы выносится в таблицу create table streets (str_id number,str_name varchar2()) - еще и справочник получится... в принципе можно еще и индек вынести в отдельную таблицу, и тогда на пересечении этих таблиц задавать диапазоны... и четные и нечетные... Вот, собственно, какие соображения. я бы даже сказал робкие предложения... я не особо богатый опыт имею в проектировке структур ) P.S. я работал с адресными столами... там у них в системах литеры домов вынесены как отдельные поля... но там не стоит задача диапозонов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2003, 11:40
|
|||
|---|---|---|---|
|
|||
По заданной улице и номеру дома найти его почтовый индекс. |
|||
|
#18+
Если вкратце - не надо хранить диапазоны, надо хранить собственно номера домов. Диапазон преобразуется в список номеров домов в приложении. Что ка сается букв в номерах домов - есть ещё, по меньшей мере, "корпус Н" и "строение Н", из того, что встречается на улицах Москвы. Можно эту часть нормализовать, и мне это больше нравится, можно не нормализовывать и хранить номер+строение+корпус+литера как строку со всеми вытекающими (в первую очередь - ошибками операторов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1992184]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
149ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 429ms |

| 0 / 0 |
