Разработка программного приложения для синхронизации базы данных справочника материалов и сортаментов
Характеристика проблемы синхронизации электронных данных для поддержания их в актуальном и достоверном состоянии в различных подразделениях предприятий. Разработка программного приложения, позволяющего сравнивать содержимое двух баз данных организации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 30.05.2017 |
Размер файла | 1,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Разработка программного приложения для синхронизации базы данных справочника материалов и сортаментов
Д.Е. Баранов, В.А. Давыденко, А.В. Цупранков, А.Г. Янишевская, В.Б. Василевский, В.В. Соседко
В настоящее время проблема синхронизации электронных данных для поддержания их в актуальном и достоверном состоянии в различных подразделениях предприятий очень актуальна, особенно в условиях отсутствия возможности проведения локальной вычислительной сети вследствие их удаленного расположения друг от друга [1, 2]. Частично проблему можно решить с помощью внешних носителей информации путем копирования и доставки между отделами. Однако здесь возникает другая проблема: как быть с более объёмными и динамически изменяющимися структурами данных - базами данных. Простое копирование с одной вычислительной машины на другую проблему не решает, так как будут сохранены лишь изменения, внесенные только в одной из баз данных, изменения же второй базы будут утеряны либо неизбежно возникнет дублирование части данных [3].
Целью работы являлась разработка программного приложения, позволяющего сравнивать содержимое двух баз данных.
Задача работы заключалась в автоматизированном добавлении новых элементов в базу данных корпоративного справочника материалов и сортаментов компании АСКОН [4], расположенную в любом из подразделений предприятия, из баз данных других подразделений, для возможной работы с ними, причем базы данных в подразделениях имеют полностью идентичные структуры. При этом имеется возможность переносить копии баз данных между подразделениями на внешнем носителе информации. синхронизация электронный данные достоверный
Актуальность работы в том, что база данных справочника достаточно объёмная, может пополняться новыми элементами различными пользователями сразу, вследствие чего исключается какая либо ручная обработка и контроль новых элементов. Разработанное приложение должно позволить в автоматизированном порядке находить различия двух баз данных, дополнять базу данных любого из подразделений элементами, которые отсутствуют в ней и имеются в базах данных других подразделений. Это упростит процесс синхронизации данных о материалах и сортаментов в подразделениях предприятия и обеспечит единую работу с ними.
Выполнение задачи проводилось в несколько этапов:
изучение структуры базы данных;
выбор алгоритма синхронизации баз данных;
выбор среды разработки и кодирование приложения;
отладка и тестирование приложения в реальных условиях.
На первом этапе была изучена структура базы данных справочника.
Анализ проводился в два подэтапа:
нахождение первичных ключей;
определение таблиц, требуемых выполнения синхронизации.
Первичный ключ представляет собой один из примеров уникальных индексов и применяется для уникальной идентификации записей таблицы. Никакие из двух записей таблицы не могут иметь одинаковых значений первичного ключа. Другими словами первичный ключ это идентификационный номер, уникальный для каждого материала или изделия [5, 6].
В таблицах BOLD_OBJECT и BOLD_TYPE другой первичный ключ - BOLD_TYPE. В данном случае это пример реализации отношений «один к множеству», который связывает идентификационные номера с их типами. Типы нужны для сортировки в справочнике материалов и сортаментов АСКОН объектов по различным категориям. Так как перечень типов не изменяется со временем работы программы, BOLD_TYPE не является необходимым ключом для синхронизации. Поле BOLD_ID присутствует в нескольких таблицах - это первичный ключ в этих таблицах. Это идентификатор многих основных объектов в базе данных программы (материалов, изделий, дополнительных свойств и других). Все таблицы содержащие BOLD_ID необходимо синхронизировать.
Вторым этапом был выбор возможных путей анализа и сравнения элементов баз данных. По первичному ключу BOLD_ID из таблиц выбирались параметры материалов и сортаментов, по которым было возможно сопоставление для выявления различий в двух материалах или сортаментах. На их основе строились временные объекты, собираемые в два динамических массива (по одному для каждой из сравниваемых баз данных). Эти массивы и подлежали дальнейшему по-объектному сравнению. Объекты с равными параметрами, имеющиеся в обоих массивах удалялись из них. В результате сравнения оставались массивы, содержащие только различающиеся объекты. Необходимым было пополнение новыми элементами только первой базы данных (производится пополнение базы данных одного подразделения из копии базы данных другого подразделения). Следовательно, по первичному ключу объектов, оставшихся во втором массиве, находились записи материалов и сортаментов во второй базе данных и добавлялись в первую (включая параметры, не используемые для создания объекта сравнения).
На третьем этапе языком программирования был выбран язык С++, для реализации программы использовалось объектно-ориентированное программирование, а средой разработки - C++Builder производства корпорации Borland, предназначенный для операционных систем платформы Win32. C++Builder - это законченный, гибкий инструмент RAD, сочетающий мощь современного компилятора языка C++, удобство средств визуальной разработки приложений, достоинства компонентного подхода к проектированию с открытыми возможностями пополнения имеющихся в распоряжении разработчика компонент [7, 8].
Поскольку данное приложение разрабатывается для работы в среде операционной системы Windows, то для его реализации был использован стандартный подход при написании приложения с использованием графического интерфейса. Была создана форма с визуальными компонентами, для которых были сопоставлены функции-обработчики. После того как происходит событие на каком-то из визуальных компонент, (щелчок мыши, нажатие на кнопку или пункт меню), операционная система посылает приложению соответствующее сообщение, и запускается соответствующий обработчик именно для этого события. При разработке приложения было выделено два подэтапа:
1) Разработка визуального интерфейса пользователя, на основе экранных форм среды C++ Builder, визуальных и невизуальных компонентов, предназначенных для подключения к исходным данным, запуска действий по обработке исходных данных, вывода результата обработки, вывода результатов на экранную форму [9].
2) Разработка обработчиков событий от элементов экранных форм, разработка программных кодов действий обработки содержимого баз данных [10].
Интерфейс был разработан таким образом, чтобы созданное приложение автоматически подключалось к базам данных, при этом пользователем заранее должна быть восстановлена копия второй базы данных, с которой, собственно, и будет сравниваться исходная база данных.
На следующем шаге обработчики событий от объектов экранных форм были реализованы как функции. Функции в свою очередь могут вызывать функции более низкого уровня и так далее. Таким образом, программа имеет иерархическую структуру.
В разработанном приложении содержится описание 7 функций обработчиков событий:
datasynch - сравнение текущей даты и дат последних синхронизации и изменений баз данных;
readobject - чтение новых объектов (материалов или сортаментов) с базы данных;
bdsort - поиск отличий, описание структур;
SpeedButton1Click - запуск поиска изменений;
SpeedButton2Click - сохранение найденных объектов (если таковые были);
FormCreate - установка формы по центру;
FormShow - определение даты.
Заключительным этапом была разработка самого приложения и его отладка. При отладке приложения нужно было проверить соответствие разработанного приложения исходному заданию, проверить его на отсутствие ошибок, провести несколько тестовых сравнений с заранее подготовленными наборами баз данных с небольшим количеством элементов.
Главное меню содержит пункты (см. рис. 1):
Рис. 1 - Главное меню программы
«Поиск изменений» (при нажатии выполняется поиск отличий объектов в базах данных);
«Найдено новых материалов» (отображает количество материалов, добавленных только во вторую базу данных);
«Найдено новых сортаментов» (отображает количество сортаментов, добавленных только во вторую базу данных);
«Добавление новых компонентов» (активируется при наличии компонентов, добавленных только во вторую базу данных, при нажатии добавляет найденные компоненты в первую базу данных).
Для поиска и добавления новых элементов в базу данных справочника на одном из подразделений предприятия необходимо:
на сервере в отдельную базу данных восстановить резервную копию, созданную из базы данных справочника;
запустить исполняемый файл приложения «BDSort.exe», при появлении диалогового окна с указанной ошибкой устранить её и перезапустить приложение;
запустить работу приложения нажатием кнопки «Поиск изменений» (см. рис. 2);
Рис. 2 - Ход работы программы
информация об успешном завершении работы отобразится в диалоговом окне (см. рис. 3);
Рис. 3 - Результат работы программы
в главном меню программы будет указано количество новых материалов и сортаментов;
нажатием кнопки «добавление новых компонентов» они будут внесены в базу данных.
Разработанное приложение было апробировано и внедрено на одном из омских предприятий. Оно также может быть модернизировано для работы в автоматическом режиме и подключения к удалённым базам данных, при объединении подразделений предприятия в локальную вычислительную сеть.
Литература
1. Галушка, В.В. Формирование обучающей выборки при использовании искусственных нейронных сетей в задачах поиска ошибок баз данных [Электронный ресурс] / В.В. Галушка, В.А. Фатхи // Инженерный вестник дона. Электронный журнал. - 2013. - № 2. - Режим доступа: http://ivdon.ru/magazine/archive/n2y2013/1597.
2. Jagadish, H.V. Integrity Maintenance in an Object-Oriented Database / H.V. Jagadish, Qian Xiaolei - AT&T Bell Laboratories Murray Hill, New Jersey 07974. Proceedings of the 18th VLDB Conference Vancouver, British Columbia, Canada, 1992.
3. Целигорова, E.H. Современные информационные технологии и их использование для исследования систем автоматического управления [Электронный ресурс] / Е.Н. Целигорова // Инженерный вестник дона. Электронный журнал. - 2010. - № 3. - Режим доступа: http://ivdon.ru/magazine/archive/n3y2010/222.
4. Корпоративный справочник Материалы и Сортаменты 2.1 - Электронное справочное руководство. - ЗАО Аскон, 2009.
5. Хомоненко, А. Д. Базы данных / А.Д. Хомоненко, В.М. Цыганков, М.Г. Мальцев - Санкт -Петербург: БХВ-Петербург, 2004. - 747 с.: ил.
6. Wiederhold, G. Views, Objects, and Databases / G. Wiederhold - IEEE Computer, 19 (12), December 1986. 37-44.
7. Архангельский, А.Я. Программирование в C++ Builder 6 и 2006 / А.Я. Архангельский, М.А. Тагин - Москва: ООО «Бином-Пресс», 2007. - 1184 с.: ил.
8. Холингворт, Дж. Borland C++Builder 6. Руководство разработчика. / Дж. Холингворт, Б. Сворт, М. Кэшмэн, П. Густавсон П.: Пер. с англ. - Москва: Издательский дом «Вильяме», 2004. - 976 с.: ил.
9. Волоха, А.Н. Microsoft SQL Server 2005. Новые возможности. Санкт -Петербург: Издательство Питер, 2006. - 304 с.: ил.
10. Хомоненко, А.Д. Работа с базами данных в C++ Builder / А.Д. Хомоненко, С.Е. Ададуров. - Санкт-Петербург: БХВ-Петербург, 2006. - 496 с.: ил.
Размещено на Allbest.ru
...Подобные документы
Формирование входных и выходных данных, SQL–скрипт генерации таблиц базы данных. Создание интерфейса программного приложения и проектирование форм базы данных. Требования к аппаратно–программному обеспечению. Инструкции по установке и эксплуатации.
курсовая работа [1,6 M], добавлен 08.02.2013Разработка приложения, позволяющего автоматизировать документооборот предприятия по списанию основных средств. Мероприятия по защите и обеспечению целостности базы данных. Разработка клиентского приложения. Запросы к базе данных, руководство пользователя.
курсовая работа [700,0 K], добавлен 14.01.2015Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Рассмотрение инфологической и даталогической модели базы данных кинотеатров города. Разработка базы данных в программе MS Access. Описание структуры приложения и интерфейса пользователя. Изучение SQL-запросов на вывод информации о кинотеатре и о фильме.
курсовая работа [1,1 M], добавлен 04.09.2014Разработка базы данных, позволяющей определять месторасположение на полке и код товаров в магазинных складах, количество и качество товаров. Концепция баз данных. Модели данных, описание данных проектирования. Разработка программного приложения.
курсовая работа [1,1 M], добавлен 13.06.2014Определение функциональных зависимостей. Разработка структуры базы данных. Организация запросов к базе данных. Использование триггеров для поддержки данных в актуальном состоянии. Разработка хранимых процедур и функций. Ограничения ведения базы данных.
курсовая работа [113,2 K], добавлен 17.06.2014Разработка программного приложения WindowsForms для работы с базой данных на языке высокого уровня C# в автономном режиме с использованием ADO.NET. Проектирование реляционной модели базы данных, интерфейса приложения, основных функций и возможностей.
курсовая работа [4,3 M], добавлен 30.06.2015Разработка программного продукта - приложения, позволяющего заносить данные анкетирования в базу данных MS SQL. Описание логики работы приложения, особенности пользовательского интерфейса. Формы просмотра анкет, описание процедур и функций программы.
курсовая работа [1,2 M], добавлен 16.08.2012Разработка приложений баз данных Delphi. Построение концептуальной модели, атрибуты сущностей и связей. Проектирование приложения для ведения базы данных телефонных номеров с возможностью поиска по всем имеющимся полям. Тестирование программного средства.
курсовая работа [641,7 K], добавлен 17.08.2013Создание программного приложения для осуществления основных функций по заказу мебели, регистрации клиентов, сотрудничеству с поставщиками. Разработка интерфейса прикладной программы. Логическое проектирование базы данных и SQL-скрипт генерации таблиц.
курсовая работа [2,4 M], добавлен 11.02.2013Разработка информационного обеспечения для формирования базы данных для государственной итоговой аттестации 9 классов. Обзор методов репликации и синхронизации баз данных. Преимущества алгоритма шифрования Rijndael. СУБД Microsoft SQL Server и Firebird.
дипломная работа [3,3 M], добавлен 27.06.2012Цели и проблемы оценки качества экспедиционных услуг. Разработка экономически эффективного и конкурентоспособного программного продукта, позволяющего автоматизировать деятельность предприятия. Создание базы данных и основных модулей системы "Фрахт".
дипломная работа [1,1 M], добавлен 24.05.2014Проектирование логической схемы данных для предметной области, физической модели базы данных. Разработка алгоритмов функциональных модулей программного приложения. Принципы тестирования спроектированного программного обеспечения, анализ эффективности.
курсовая работа [926,7 K], добавлен 20.05.2015Разработка базы данных для автоматизации учета и хранения сведений о заявках от работодателей. Проектирование приложения в СУБД Access. Описание запросов, отчетов и представлений данных. Интерфейс, условия выполнения и тестирование программного продукта.
курсовая работа [3,7 M], добавлен 05.04.2012Логическая и физическая модели базы данных. Запрет на содержание неопределенных значений. Размещение базы данных на сервере. Реализация клиентского приложения управления базой данных. Модульная структура приложения. Основные экранные формы приложения.
курсовая работа [1,4 M], добавлен 13.06.2012Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения и выбор средств программной реализации. Программная реализация Web-приложения. Структура базы данных.
дипломная работа [1,4 M], добавлен 03.06.2014Разработка базы данных и прикладного программного приложения с целью обеспечения хранения, накопления и предоставления информации об учащихся МБОУ "Средняя общеобразовательная школа №18" г. Грозный. Методы обеспечения информационной безопасности.
дипломная работа [2,9 M], добавлен 25.06.2015Разработка приложения для осуществления работы с медицинскими данными с последующей их визуализацией. Изучение типов данных и свойств полей Access. Компоненты наборов данных. Структура базы данных для клиники. Экранные формы для отображения справочников.
курсовая работа [1,5 M], добавлен 14.08.2014Реляционная модель базы данных в текстовом виде. Код, с помощью которого были созданы и заполнены таблицы. Разработка схемы базы данных справочника селекционера. Создание запросов, их основные виды. Процедуры на выбор данных, добавление и удаление.
методичка [1,1 M], добавлен 20.05.2014Назначение программного модуля (базы данных). Разработка информационной базы данных для колледжа. Поиск пользователями информации о преподавателях и дисциплинах. Анализ входной и выходной информации. Разработка алгоритма работы программы-приложения.
реферат [513,1 K], добавлен 22.10.2012