Разработка переносимого графического интерфейса пользователя для работы со встраиваемой реляционной БД на примере СУБД SQLite

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ации работы с БД в разработанном интерфейсе.

 

.1.Реляционная модель данных

 

Реляционная модель данных (РМД) - логическая модель данных, характеризующаяся характерной структурой с возможностью представления этих данных в табличном виде, а также возможностью использовать для обработки этих данных формального языка реляционной алгебры и реляционного исчисления.

РМД ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:

каждый элемент таблицы - один элемент данных;

все ячейки в столбце таблицы однородные, то есть все элементы в столбце имеют одинаковый тип;

каждый столбец имеет уникальное имя;

одинаковые строки в таблице отсутствуют;

порядок следования строк и столбцов может быть произвольным.

Принципы РМД были сформулированы в 1969-1970 годах Э. Ф. Коддом (E. F. Codd).

 

1.2.Система управления базами данных

 

Система управления базами данных (СУБД) - совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление (создание, чтение, изменение, сохранение) БД.

Основные функции СУБД:

управление данными во внешней памяти;

управление данными в оперативной памяти;

поддержка языков управления БД.

Возможная классификация СУБД:

Файл-серверные (Access, Paradox, dBase, FoxPro, Visual FoxPro и др.)

Клиент-серверные (Oracle, Firebird, MS SQL Server, PostgreSQL, MySQL и др.)

Встраиваемые (SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact и др.)

 

1.3.Встраиваемая СУБД SQLite

 

Локальная или встраиваемая СУБД (англ. embedded DBMS) - СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы.является неотъемлемой частью (подключаемая библиотека sqlite3.dll) клиентского приложения и не функционирует вне его. Каждая база данных SQLite представляет собой один файл в пользовательской файловой системе, содержащий все таблицы и служебную информацию внутри себя. При использовании СУБД SQLite процесс, желающий получить доступ к базе данных, с помощью вызываемых функций библиотеки читает и пишет данные напрямую в файл, хранящийся на диске.

 

.4.Организация запросов к БД через использование библиотеки sqlite3.dll (решение задачи 1, часть 1)

 

..SQLiteProvider,-.:">Как было сказано выше, реализация SQLite представляет собой СУБД, расположенную внутри отдельной программной библиотеки, написанной на языке C. Библиотека самой последней на текущий момент версии SQLite3 занимает всего около 300 килобайт и может быть использована в большинстве современных языков программирования. Для использования на платформе .Net (Mono) на сайте www.sqlite.org была скачана реализация СУБД для этой платформы. Далее библиотека была загружена и подключена к проекту. Для обращения к этой библиотеке было решено разработать отдельный статичный класс SQLiteProvider, так как это соответствует принятым нормам объектно-ориентированного программирования. Этот класс содержит следующие поля:

ExecuteNonQuery(string appPath, string sSql) - обрабатывает запрос sSql по отношению к файлу БД appPath и возвращает количество затронутых полей. Например, запрос update.

Query(string appPath, string sSql) - обрабатывает запрос sSql по отношению к файлу БД appPath и возвращает запрошенные данные. Например, запрос select.

GetTablesNames(string appPath) - возвращает имена всех таблиц, содержащихся в файле БД appPath.

Обработка запросов заключается в создании так называемого коннектора (объекта класса SQLiteConnection) и вызове соответствующих методов. А коннектор, в свою очередь, уже физически работает с файлом БД.

Полный код класса SQLiteProvider находится в Приложении 1.

 

 

2.Графический интерфейс пользователя, неявное построение запросов

 

Как было заявлено во Введении, целью работы является не просто создать приложение по управлению БД, но сделать это управление удобным для не знакомого с техническими моментами пользователя. Данная задача обычно решается через создание GUI(Graphical user interface) - графический интерфейс пользователя.

Практически во всех современных клиент-ориентированных приложениях графичес?/p>