dantist72 писал(а):Вот тут сталкнулся с такой ситуацией. был объект номер пусть будет 1, находилась там фирма ИП Иванов, договор прекратили, и теперь там Петров.
Объект переименовал дабы оставить события которые могут позже пригодиться. Почему в отчетах везде стал Петров? Чего тогда с БД грузится? если в базу подставляется то что в названии. А не то что было записано. Нафига в событиях поле название объекта если там данные не актуальны.
То же самое касается и остальных полей типа название шлейфа, ФИО, Адрес. Хотелось бы что бы данные отоброжались на момент времени такие какие были и не подрисовывались непонятно откуда.
Это сделано для оптимизации базы, чтобы через месяц она не разбухла до небывалых ГБ. БД быстрее всего работает с числовыми типами, тут завязка вся на id (Int). Поэтому, перед заменой объекта, нам приходится проделывать следующее: создаётся карточка объекта (Word, Excel), куда переписываются шлейфы, название объекта, адрес и список ответственных лиц, выдирается вся история с момента монтажа объекта и до его демонтажа. С точки зрения организации базы данных у Стелс всё сделано правильно и скорость сохранили и по полочкам всё лежит.
НО, всё это решаемо, подкину идейку для Стелс, которой я пользуюсь при программировании БД. Как можно решить этот вопрос и чтобы скорость не пострадала. Всё дело в создании архивной БД. Дать пользователю кнопку, при нажатии которой он отправляет все данные объекта в базу "Архив". Объект чистится. Условие: объект должен быть откреплён от списка устройств. Сделать отдельно Форму для работы с этим архивом и возможностью восстановления на свободный объектовый номер.
P.S.: Так как это будет реализовано не скоро, у меня давно уже крутится идея в голове, написать самому "выдиральщик" из PostgreSQL всей информации касаемо объекта (список лиц, шлейфы, название и адрес объекта, история) и её формировании в Excel или кодировании в свою БД MySQL, что перспективнее, т.к. если что-то надо будет сформировать можно дописать и выкинуть в Excel. Ввёл номер объекта, ввёл даты от и до - выдрал всё что касается этого объекта и поместил в специальную папку Архив.