Проблем с дублиращото се премахване - Софтуерни продукти
Автор: Виктор Абрамов, ИТ дирекция
Няма да се спираме повече на този проблем, тъй като този аспект изобщо не е темата на тази статия. Освен това темата на статията дори не е намирането на дубликати.
Нашият проблем е премахването на дублиращи се записи, към които има препратки от други таблици. Самите повтарящи се редове са известни предварително.
Много често се оказва, че потребителите не само са въвели един и същи запис в таблицата няколко пъти, но и са успели да се позоват на него няколко пъти от други таблици, за щастие приложението е позволило това. Например, без да види, че определена компания вече е в списъка на контрагентите, потребителят я въведе отново в директорията на контрагентите и направи малка грешка в името, така че не беше възможно да се проследи дубликатът по име. След това той създаде списък с контакти, попълни директория със синоними на име на фирма и регистрира няколко поръчки. По-късно се оказа, че компанията работи с тази компания дълго време и вече е изпълнила няколко десетки поръчки за нея. И сега трябва да изтрием допълнителен запис от директорията на компаниите, като преди това сменихме всички връзки към него към записа в таблицата, който остава.
Разбира се, като се вземе предвид психологията на потребителя при проектирането на интерфейс на приложение, може да се намали броят на такива дубликати, но не знам за абсолютно надежден начин за предотвратяване на подобно поведение на потребителя. Ръчното третиране на проблема отнема твърде много скъпо време на администратора на приложението.
Ако подобен проблем възникне само с една таблица, можете да напишете съхранена процедура специално за нея, но какво да направите, ако има няколко такива таблици?