Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кошмар [D5, MSSQL]


Страницы:   1 2 3

Vikuksa ©   (2002-09-20 15:22:00) 

Поможите кто может!!!!!!!

В базе есть текстовое поле - адрес.
А нужно посчитать кол-во людей проживающих по одному адресу, НО
этот (пакостный) адрес могли забивать разные (пакостные)люди в следствии чего он и написан по разному!!!

Записей порядка 60 000!
Прям не знаю че делать!


AlexanderB   (2002-09-21 10:27:00) [21]

1. Разбить по полям все равно нужно.
Исходя из свой БД:
индекс
нас. пункт
улица
назв. улицы
дом
корпус/строение
кв., офис
примечание
Полную структуру для адреса не привожу, иначе "поплохеет"
Хуже, когда в адресе присутствуют слова "озеро", "остров", "25-км" и т.д. Приходится приводить все к единому стандарту.
Была такая же проблема как и у нас. Пришлось ввести промежуточную таблицу и написать "анализатор". Все адреса программа разложила по полочкам. Если что-то он не понимала, то выдавала сообщение "..." и правку вносил вручную. После "нормализации" обновил структуру, заполнил новыми данными. Никого не спрашивал и не упрашивал. А сейчас все работает и ни у кого вопросов не возникает.
2. Далее следовало бы вводить автоматом (из списка) назв. улицы, а исходя из полного адреса присваивать почт. индекс. И т.д.

Под лежачий камень вода не течет


VAleksey   (2002-09-21 07:54:00) [22]

ну и еще
SELECT COUNT(*) FROM dbo.PeopleBase WHERE Upper(StreetName) LIKE %КОШЕВОГО.
так все - таки поудобнее будет


xxxXXXXXX   (2002-09-20 20:04:00) [23]

праверь почту


Wolf226   (2002-09-20 18:10:00) [24]

Да, я подразумевал в п.1. переделку существующего программного обеспечения, но забыл указать. Ведь только после этого можно приступать к п.2.

Vikuksa, кстати, за сколько можно одну запись будет ввести?
Я исходил из 2 минут.


Anatoly Podgoretsky   (2002-09-20 17:51:00) [25]

К пункту 1 и 2 возможно потребуется добавить пункт 3 - переделка существующего программного обеспечения


Anatoly Podgoretsky   (2002-09-20 17:46:00) [26]

Vikuksa © (20.09.02 15:52)
Делай запрос по существующей, и пусть думают, что с такой базой делать, а бумажку на стол обязательно, иначе задача решения не имеет


Wolf226   (2002-09-20 17:33:00) [27]

На стол начальника начальника бумажку. Тип такой:

Вследствии недостаточной нормализации таблицы БД "Место проживания" при проектировке, а также отсутствия строго стандарта ввода поля "Адресс", не существует автоматизированного
решения поставленной задача.

Для нормализации БД требуется.
1. Модификация таблицы "...."
2. Ручная Нормализация Информационной Сущности "Адресс".

Вследствии большого объема работ по п.2. (60 000) порядка
2000 чел*час, Прошу привлечь, после выполнения мною п.1. в помощь ...

:-(

Не пройдет. Увидев 2000 чел*ч. Начальник поубивает вас.
Хотя можно попробовать.


sniknik   (2002-09-20 17:24:00) [28]

ну ну вам виднее какой у него... :о))))))
извиняюсь но очень смешно получилось!


Vikuksa   (2002-09-20 16:18:00) [29]

у меня начальник хороший, это у него плохой( т.е. начальник у моего начальника плохой!)


sniknik   (2002-09-20 16:15:00) [30]

запрос в таком виде какая база сейчас решения не имеет проще для шефа килера пригласить. :о))


Vikuksa   (2002-09-20 16:06:00) [31]

потом меня рухнут, это меня не привлекает, из-за одного запроса!


Johnmen   (2002-09-20 16:04:00) [32]

Тогда надо сделать так, чтобы винт с БД рухнул, и рухнул навсегда ! После чего спокойно приступайте к разработке новой БД.
По-другому данная проблема полноценного решения не имеет !


Vikuksa   (2002-09-20 15:52:00) [33]

ЭТО НЕ МОЯ Б/Д! мое дело по ней запросы строить (когда начальство велит).


Johnmen   (2002-09-20 15:50:00) [34]

Дорогая Vikuksa, Вам просто необходимо в корне пересмотреть структуру своей БД ! Предварительно изучив правила нормализации.
Тогда таких вопросов не будет...
:-))))))


Vikuksa   (2002-09-20 15:49:00) [35]

Кто ж мне даст ее реструктуризировать!


sniknik   (2002-09-20 15:47:00) [36]

реструктуризацию базы обязательно!!!


sniknik   (2002-09-20 15:46:00) [37]

а если етот подлый юзер забил английскую о вместо руской? вот и нет олежки :о)). все одно большую часть вручную придется :-((.


Vikuksa   (2002-09-20 15:45:00) [38]

понимаешь в этом поле все и город и улица и дом и кв.!!!


Василич   (2002-09-20 15:39:00) [39]

Ну, предположим, в базу забиты два человека - один на улице О.Кошевого, другой - на ул. Олега Кошевого (то есть, оба на одной улице). Чтобы узнать, сколько народу живет на этой улице, пишем запрос типа
SELECT COUNT(*) FROM dbo.PeopleBase WHERE StreetName LIKE %Кошевого.

А чтобы привести все в нормальный вид, открываем SQL QA и пишем там
UPDATE dbo.PeopleBase
SET Streetname="ул. О.Кошевого" WHERE Streetname LIKE %Кошевого


Vikuksa   (2002-09-20 15:35:00) [40]

Спасибо, но у меня не определенный адрес, а вообще сколько человек на одном адресе.
И потом каким образом привести данные в порядок, если скажишь сделаю, чесн слово!


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо