- •Задание
- •Уточнение задания
- •Проектирование бд и по
- •Проектирование базы данных
- •Логическая модель базы данных
- •Проектирование программного обеспечения
- •Проектирование архитектуры
- •Рассмотрение базового класса редактирования таблиц
- •Реализация
- •Реализация базы данных
- •Физическая модель базы данных
- •Соединение с сервером
- •Реализация базы данных средствами Visual Studio
- •Редактирование данных в бд средствами Visual Studio
- •Реализация отображения базы данных
- •Реализация программного обеспечения
- •Интерфейс программы
- •Окно редактирования таблиц бд
- •Дополнительная возможность – консоль
- •Реализация создания отчетов
- •Создание sql запроса для отчета
- •Интерфейс отчета
- •Приложение
Проектирование архитектуры
Покажем схематично архитектуру программного обеспечения.















Здесь схематично изображены классы программного обеспечения, которые отвечают за редактирование данных в базе данных, и их назначения. Кроме того, имеется главная форма (класс MainForm), которая является MDI приложением и вызывает все классы (при необходимости, т.е. их можно вызвать при нажатии на соответствующую кнопку – компонент формы), редактирующие таблицы базы данных (Примечание: из главной формы нельзя вызвать базовый класс. Он предназначен только для его наследников).
С
вязь
означает наследование, т.е.
«класс А наследуется от класса В».
Рассмотрение базового класса редактирования таблиц
Базовый класс BaseFormEditor имеет следующие методы:
Виртуальный метод getDataTable()
Данный метод возвращает данные таблицы. Как и все виртуальные методы, он должен быть перекрыт в классе-наследнике.
Виртуальный метод getFormCaption()
Этот метод возвращает название заголовка формы.
Виртуальный метод updateTables()
Предназначен для сохранения данных в таблице. Также перекрывается в потомках.
На форме имеется кнопка для применения произведенных действий с данными таблицы, при нажатии на которую вызывается этот метод (функция), которая изменяет все данные таблицы в базе данных.
Виртуальный метод fillTables()
Заполняет таблицу нужными данными – данными из таблицы базы данных
Виртуальный метод initDataTable()
Предназначен для инициализации таблицы (тут значение слова таблица означает компонент формы, куда выводятся данные для отображения их пользователю и изменения/редактирования)
Виртуальный метод getTableColumns()
Возвращает колонки таблицы (компонент формы).
В этом методе можно указать нужные названия для каждой колонки таблицы, а также тип колонки и ее содержимое. Содержимое в смысле отображение той или иной информации. Понятно, что содержимым будут являться данные из таблицы базы данных, однако информация, выводимая в компоненты формы представляет из себя только значения – идентификаторы. Например, если нужно вывести список дисциплин в каком-то сложном запросе (где используется от двух таблиц и больше), то этот список будет представлять из себя не названия дисциплин, а их уникальные идентификаторы. Чтобы упростить жизнь пользователю программы и вообще, для красивого/информационного вида, необходимо указать в полях таблицы (компонента), какую информацию стоит выводить.
А также другие методы (init(), saveToXML())
Прочие методы (функции) предназначены для инициализации компонентов формы, обработки событий нажатия на компоненты формы, сохранения данных таблицы в XML файл (кстати в дальнейшем, этот XML файл возможно использовать для отображения отчета, а также экспортирования отчета в Excel средствами MS Visual Studio 2005)
Вывод
Вышеизложенный подход к реализации программного обеспечения и базы данных предоставляет гибкость в создании дополнительных «наворотов» в структуре базы данных, а также удобство редактирования данных возможностями программы. Если посмотреть с точки зрения программирования, то любое добавление или улучшение программного кода не преподнесет больших сложностей разработчику.
