Весь окружающий нас мир состоит из предметов. Любое событие в нашей жизни можно рассматривать как результат взаимодействия различных объектов, обладающих определенным набором свойств.
Решение многих задач связано с большими объемами информации. Не все из этих задач решаются алгоритмическим путем. Большинство информационных массивов можно представить в виде таблиц, скрытых или явных, будь то письмо, страница книги, кассовый чек или накладная. Все наши знания – это данные, которые мы получаем от различных объектов и систематизируем их в своей памяти. Поэтому можно сказать, что наша память это огромная база данных, содержащая различные сведения об окружающем нас мире. Для удобного и надежного хранения и манипулирования большими объемами информации в настоящее время не обойтись без средств автоматизированной обработки данных – систем управления данными. Это обуславливает актуальность данной области исследования.
Цель проекта состояла разработке системы управления данными и организации защиты данных предметной области «Водительские курсы».
Были поставлены следующие задачи:
– провести анализ предметной области;
– выполнить основные этапы проектирования системы управления данными (разработка модели предметной области, проектирование структуры базы данных, организация поиска и управления данными);
– осуществить разработку пользовательского интерфейса системы управления данными;
– разработать систему защиты данных;
– систематизировать обрабатываемые данные;
– автоматизировать процесс выборки данных.
Рис. 1. Логическая модель предметной области
При разработке БД был использован ряд механизмов, который представляют собой средства поддержки целостности, которые поддерживают программный продукт в устойчивом состоянии. Так же для структурирования данных и удобного обращения с ними были применены принципы нормализации форм.
При использовании форм вводится ряд ограничений, суть которых заключается в том, что каждый факт, хранимый в БД, должен храниться один единственный раз, поскольку дублирование может привести к несогласованности между копиями одной и той же информации. Следует избегать любых неоднозначностей, а также избыточности хранимой информации. С учетом вышеизложенного, логическая модель исследуемой предметной области имеет вид, представленный на рис. 1.
В качестве платформы разработки была выбрана СУБД Access, так как она проста в изучении и эксплуатации и поэтому доступна для широкого круга пользователей, снабжена обширными средствами по созданию отчетов различной степени сложности, создаваемых на основе таблиц различных форматов.
В разработанной системе управления данными интерфейс пользователя представлен четырьмя формами, три из которых разработаны для рядовых пользователей. Администратору предоставлен пароль для формы изменения данных, где он может производить изменения: добавление, удаление и изменение данных. Для удобства представления и работы с базой данных разработана Главная форма, на которой размещены кнопки для перехода на дочерние формы: Просмотр обучающихся, Поиск информации, Операции с данными, Выход и Показать/скрыть объекты Access. При выборе первых трех пунктов будет задействован макрос, который открывает выбранный элемент и закрывает Главную форму. В кнопку Выход заложен макрос, для выхода из базы данных с сохранением. Для пункта Показать/скрыть объекты Access был выбран модуль. Окно формы представлено на рис. 2.
Данная форма является навигационной. На ней находятся кнопки для перехода на другие уровни БД. Кнопки расположены в табличной модели представления данных. На форме присутствуют кнопки для просмотра информации, поиска по данным, операциями над объектами действия над объектами Access и выхода.
Для более подробного ознакомления с базой данных рассмотрим дочернюю форму Поиск информации. На данной форме представлено множество кнопок, при нажатии на которые осуществляется выбор основных запросов.
Рис. 2. Главная форма
Рис. 3. Форма поиска данных
Примеры запросов для манипулирования данными:
1. Добавление записи в таблицу Обучающиеся
INSERT INTO Обучающиеся (Фамилия, Имя, Отчество, Контактный_телефон, Паспортные_данные, Категория, Код_лектора, Код_инструктора )
VALUES ([Введите фамилию], [Введите имя], [Введите отчество], [Введите телефон], [Введите паспортные данные], [Введите категорию], [Введите код лектора], [Введите код инструктора]);
2. Добавление записи в таблицу Инструкторы
INSERT INTO Инструкторы (Код_инструктора, Фамилия, Имя, Отчество, Код_автомобиля )
VALUES ([Введите код инструктора], [Введите фамилию], [Введите имя], [Введите отчество], [Введите код автомобиля]);
3. Изменение марки автомобиля
UPDATE Автомобили SET Марка = [Введите новую марку автомобиля]
WHERE [Марка]=[Введите заменяемую марку автомобиля];
4. Удаление записи из таблицы Лекторы по его коду
DELETE *
FROM Лекторы
WHERE Код_лектора=[Введите код лектора];
5. Добавление поля Стоимость_обучения в таблицу Категория
ALTER TABLE Категория ADD Стоимость_обучения integer
Для организации работы с данными необходимо обеспечить возможность оперирования информацией, поэтому в запросах применяются различные операторы SQL: SELECT – для выбора нужной информации, LIKE – для поиска данных по некой части, для сортировки и группировки данных были использованы команды ORDER BY и GROUP BY. Ниже показаны примеры кода запросов.
Поиск информации об обучающихся по дате поступления:
SELECT Обучение.Код_обучающегося, Обучение.Дата_поступления, Обучение.Дата_выпуска, [Обучающиеся].Фамилия, [Обучающиеся].Имя, [Обучающиеся].Отчество, [Обучающиеся].Код_лектора, [Обучающиеся].Код_инструктора
FROM Обучение, Обучающиеся
WHERE (((Year([Дата_поступления]))=[Введите год]) And ((Month([Дата_поступления]))=[Введите месяц]) And ((Day([Дата_поступления]))=[Введите день])) And [Обучающиеся].[Код_обучающегося]=Обучение.Код_обучающегося;
Поиск информации о сроках обучения:
SELECT [Обучающиеся].[Код_обучающегося], Обучение.Дата_поступления, Обучение.Дата_выпуска, Экзамен.Сдача_теории, Экзамен.Сдача_площадки, Экзамен.Сдача_города
FROM Обучающиеся, Обучение, Экзамен WHERE [Обучающиеся].[Код_обучающегося] = Обучение.Код_обучающегося And [Обучающиеся].[Код_обучающегося] = Экзамен.Код_обучающегося;
Для обеспечения безопасности программного продукта была выбрана защита данных с помощью пароля. Так же был поставлен пароль на кнопку, открывающую форму Изменение данных, с помощью модуля. Это создано для того, чтобы только администратор мог изменять данные. Обычные пользователи могут только просматривать и искать информацию в режиме чтения.
В ходе выполнения проекта в соответствие с заданием была изучена предметная область «Водительские курсы», определены используемые сущности и их основные свойства. Была разработана модель данных, определены ключевые поля и обязательные поля, установлены связи между таблицами. Так же были созданы экранные формы, с кнопками для манипулирования записями, а также отчеты для просмотра и печати информации. Для автоматизации обработки данных были созданы макросы и модули. В соответствии с заданием составлены операторы на языке SQL, осуществляющие выбор из базы определенной информации. Помимо этих запросов также составлены запросы на добавление, удаление и изменение записей в таблицах, а так же добавление новых полей.
Это позволило решить поставленные задачи, реализовать алгоритмы поиска и обработки данных, осуществить защиту информации. Данный программный продукт был разработан по заказу ООО «КотовскТрансАвто» и получил одобрение заказчика и рекомендации для дальнейшего практического применения.
Библиографическая ссылка
Машкова А.О. ПРОЕКТИРОВАНИЕ СИСТЕМЫ УПРАВЛЕНИЯ ДАННЫМИ «ВОДИТЕЛЬСКИЕ КУРСЫ» // Международный школьный научный вестник. – 2017. – № 6. ;URL: https://school-herald.ru/ru/article/view?id=455 (дата обращения: 21.11.2024).