Файл: Создание программы обработки финансовых данных работы сотрудников нии, в визуальной системе программирования.doc

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.10.2023

Просмотров: 54

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
[2].

1.2 Реляционные базы данных

Базы данных (далее БД) создаются для систематизирования и структурирования больших объемов информации, чтобы потом извлекать необходимые данные быстро и в любых сочетаниях. Реляционная база данных – это связанная информация, хранящаяся в двумерных таблицах. Ячейки таблицы являются пересечением строк и столбцов. В БД каждый столбец имеет свое ключевое имя, по которому и происходит обращение к нужному столбцу или элементу в столбце.

Системы управления базами данных (СУБД) это программное обеспечение для создания, поддержки БД и доступа к ней. В данной работе будет использоваться СУБД SQLite3, так как язык программирования Python имеет встроенный модуль для работы с SQLite3 и она является наиболее удобной для знакомства с программированием баз данных. SQLite3 поддерживает следующие типы данных: целые числа (integer), вещественные числа (real), строковый тип (text), бинарные данные (blob).

Доступ к БД осуществляется с помощью объекта-соединения. Объект-соединение получают путем вызова функции connect( ). Если указанной БД для него не существует, то она будет создана. Объект-соединение имеет следующие методы:

  • close( );

  • commit( );

  • rollback( );

  • cursor( ).

Метод close( ) закрывает соединение с текущей БД [4].

Метод commit( ) завершает транзакцию и сохраняет изменения. Транзакция – это одна или несколько операций, изменяющих БД [4].

Метод rollback( ) откатывает начатую транзакцию и восстанавливает исходное состояние БД
[4].

Метод cursor( ) возвращает объект-курсор, использующий данное соединение. Курсор хранит информацию о текущей таблице и записи, может быть связан с выполнением только одного SQL-запроса в текущий момент времени, служит для работы с результатами запроса [4].

Для работы с БД в программе будет использован атрибут объекта курсора execute( ), который преобразовывает SQL-команду в строке в исполняемый код.

Основные SQL-команды:

  • создание таблицы в БД – CREATE TABLE <имя таблицы> (<имя поля 1 тип поля>, <имя поля 2 тип поля>, …);

  • добавление записи в таблицу БД – INSERT INTO <имя таблицы> VALUES (‘<значение 1>’, ‘<значение 2>’, …);

  • выборка из таблицы БД по условию – SELECT (список полей, включенных в выборку) FROM <имя таблицы> WHERE <имя поля > = <значение>;

  • выборка из таблицы БД с сортировкой – SELECT (список полей, включенных в выборку) FROM <имя таблицы> ORDER BY <имя поля, по которому производится сортировка>;

  • удаление записей из таблицы БД по условию – DELETE FROM <имя таблицы> WHERE <имя поля> = <значение>;

  • изменение записей в таблице БД по условию – UPDATE <имя таблицы> SET <имя изменяемого поля> = <новое значение> WHERE <имя поля> = <значение>.


Результаты выборок передаются в виде кортежей.


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

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

Для языка Python существует много различных GUI-библиотек, их полный список представлен на официальном сайте. Наиболее проверенными и популярными кросс-платформенными библиотеками являются PyQt и Tkinter. PyQt является привязкой Qt к языку Python. Qt помимо классов графического интерфейса содержит много различных модулей, Tkinter – исключительно GUI. Tkinter более старая и ограниченная библиотека, чем Qt. PyQt более универсален, чем Tkinter, подходит для проектов высокой сложности, имеет более широкую базу компонентов и более красивый их внешний вид, по нему легче найти документацию примеры использования. По результатам сравнения для разработки визуального интерфейса было решено использовать в данной программе PyQt [11].

В работе были использованы следующие компоненты PyQt:

  • окно;

  • надпись;

  • командная кнопка;

  • однострочное текстовое поле;

  • раскрывающийся список;

  • менеджер компоновки;

  • таблица.


Создание и управление окном производится посредством класса QWidjet. QWidjet является базовым классом для всех компонентов, поэтому любой компонент, не имеющий родителя будет обладать собственным окном[5].

Надпись – элемент, содержащий текст, может применяться для информирования, вывода подсказок, содержания html-текста и т.д., реализуется классом QLabel. В данной программе используется для подписей полей в окне добавления записи в БД.

Командная кнопка реализуется с помощью класса QPushButton. При нажатии на командную кнопку создается сигнал, при получении которого указанная в методе connect( ) функция выполняет содержащиеся в ней инструкции. В данной программе используется для запуска функций удаления, добавления, редактирования записей и поиска.

Однострочное текстовое поле предназначено для ввода и редактирования текста небольшого объема, реализуется классом QLineEdit[5]. В данной программе используется для ввода строки, по которой будет осуществляться поиск и для ввода значений новой записи.

С помощью класса QComboBox реализуется раскрывающийся список, предоставляющий возможность выбора элемента. В данной программе используется для выбора условий поиска по диапазону.

Класс QGridLayout позволяет выровнять элементы в окне по сетке. В данной программе используется для расположения элементов в обоих окнах.

Таблица реализуется с помощью класса QTableView. Позволяет отобразить данные из БД, не нарушая их структуры. В данной программе используется для визуализации данных БД и их редактирования путем ввода нового значения в ячейку.