Файл: Разработка регламента выполнения процесса «Расчет заработной платы».pdf
Добавлен: 28.03.2023
Просмотров: 119
Скачиваний: 2
Delphi 2010 поддерживает RTTI (Run-time type information, Run-time type identification - динамическую идентификацию типов данных) и предоставляет новые возможности компилятора. Отметим следующие новые возможности:
- поддержка RTTI позволяет предоставлять информацию о методах, полях и свойствах, необходимую для поддержки динамических вызовов и других средств мета программирования;
- предусмотрены объектно-ориентированные классы ввода-вывода для работы с файлами и каталогами;
- обеспечена поддержка пользовательских атрибутов для большинства элементов кода - типов, полей, свойств, методов и параметров;
- реализован усовершенствованный класс TStringBuilder, упрощающий и ускоряющий сцепление строк и управление ими;
- реализован усовершенствованные родовые классы с полной поддержкой коллекций и списков RTL;
- обеспечена более эффективная поддержка локализованных ресурсов;
- предусмотрена компиляция проекта в фоновом режиме.
В качестве системой управления базами данных была выбрана система Firebird 2.5. Данная система является высокопроизводительным, кроссплатформенным (поддерживает Linux, Microsoft Windows, Unix и Solaris), с возможностью встраивания, сервером баз данных, который используется миллионами пользователей в мире. Комбинация легкости установки, автоматического восстановления после сбоев, и минимального сопровождения делают Firebird 2.5 наиболее подходящим для встраивания в тиражируемые приложения.
Основными достоинствами последней версии Firebird 2.5 являются низкие требования к системе, с одновременной масштабируемостью на несколько процессоров, плюс развитая система мониторинга, временные таблицы,
Firebird используется в различных промышленных системах с 2001 г. Это коммерчески независимый проект программистов C и C++, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25 июля 2000 года в виде свободной версии Interbase 6.0. Применение Firebird не требует лицензионных отчислений даже в случае коммерческого использования.
Основные характеристики системы управления базами данных:
- Соответствие требованиям ACID (Atomicity, Consistency, Isolation and Durability) - атомарности, целостности, изоляции и надёжности транзакций.
- Версионная архитектура, позволяющая серверу обрабатывать различные версии одной и той же записи в любое время таким образом, что каждая транзакция видит свою версию данных, не мешая соседним. Это позволяет использовать одновременно OLTP и OLAP запросы.
- Хранимые процедуры, создаваемые на языке PSQL (процедурный SQL) Firebird, позволяют обрабатывать данные на сервере. Для генерации отчётов особенно удобны хранимые процедуры с возможностью выборки, возвращающие данные в виде набора записей. Данные процедуры можно использовать в запросах как обычные таблицы.
- События, генерируемые хранимыми процедурами и триггерами, автоматически доводятся клиенту по «подписке». После успешного завершения транзакции (COMMIT) клиент извещается о произошедших событиях и их количестве.
- Генераторы, являющиеся 64-битными работающими независимо от транзакций, хранимыми в базе данных счётчиками, делают возможной простую реализацию автоинкрементных полей и могут использоваться для различных целей, таких как генерация первичных ключей, управление длительными запросами в соседних транзакциях и т.д.
Базы данных только для чтения могут распространять на носителях. Это упрощает распространение данных и их использование в комбинации со встраиваемой версией сервера Firebird (Firebird Embedded).
Полный контроль за транзакциями посредством протокола двухфазного подтверждения обеспечивает гарантированную устойчивость при работе с несколькими базами данных, а также с транзакциями, использующими различные уровни изоляции. Также доступны «оптимистическое» блокирование данных и точки сохранения транзакций.
Резервное копирование «на лету» без необходимости остановки сервера. Процесс резервного копирования сохраняет состояние базы данных на момент своего старта, не мешая работе с ней, предусмотрена возможность инкрементального резервного копирования БД.
Триггеры, срабатывающие до или после вставки, обновления или удаления записей. Для триггеров используется язык PSQL, позволяя вносить начальные значения, проверять целостность данных, вызывать исключения и т.д. В Firebird 1.5 появились «универсальные» триггеры, позволяющие обрабатывать вставки, обновления и удаления записей.
Внешние функции (библиотеки с UDF - User Defined Function) могут быть написаны на любом языке и легко подключены к серверу в виде DLL/SO, что позволяет расширять возможности сервера «изнутри».
Декларативное описание ссылочной целостности обеспечивает непротиворечивость и целостность многоуровневых отношений «master-detail» между таблицами.
Международные наборы символов (включая Unicode) поддерживают множество вариантов сортировки.
Firebird поддерживает полностью SQL 92 Entry Level 1 и реализует большую часть стандарта SQL-99 c некоторыми дополнениями, включая выражения DML/DDL, синтаксис объединений FULL/LEFT/RIGHT [OUTER] JOIN, выражения UNION, DISTINCT, подзапросы (IN, EXISTS), встроенные функции (AVG, SUM, MIN, MAX, COALESCE, CASE), ограничения целостности (PRIMARY KEY, UNIQUE, FOREIGN KEY), и все общие типы данных SQL. Firebird также реализует ограничения проверки (check constraints) на уровне доменов и полей, отображения (views), исключения, роли и управление правами доступа.
Наиболее распотраненно используемыми операционными системами для серверов Firebird являются GNU/Linux и Microsoft Windows (включая NT, а также терминальные сервисы MS и Citrix). Другие поддерживаемые платформы - Mac OS X, Solaris, FreeBSD и HP-UX. Переход между ОС осуществляется достаточно просто - в одной системе формируется резервная копия базы данных в переносимом формате, которая затем восстанавливается на другой системе.
FirebirdSQL -свободная кроссплатформенная реляционная система управления базами данных (Реляционная системой управления базами данных), работающая на macOS, Linux, Microsoft Windows и разнообразных Unix платформах.
Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников.
Также Firebird поддерживает крупные по объему базы данных, которые могут быть расположены в нескольких файлах, предельный размер которых зависит от операционной системы. Теоретический предел в настоящее время составляет 64TB для одного файла базы данных, поэтому главные ограничения накладываются файловой системой и местом на жёстком диске.
С учетом выбора конкретной системой управления базами данных для редактирования данных используется редактор IBExpert - GUI-оболочка, предназначенная для разработки и администрирования баз данных Firebird, т.е. реляционная система управления базами данных.
Как основные достоинства IBExpert разработчики указывают:
- поддержка InterBase версий 4.х, 5.х, 6.х, 7.х; Firebird 1.х, 2.x; Yaffil 1.х;
- работа одновременно с несколькими базами данных;
- отдельные редакторы для всех объектов БД с синтаксической подсветкой;
- мощный SQL редактор с историей запросов и возможностью фонового выполнения запросов;
- отладчик хранимых процедур и триггеров;
- поиск в метаданных;
- полное и частичное извлечение данных и метаданных;
- анализатор зависимостей объектов баз данных;
- отчеты по метаданным;
- менеджеры пользователей и пользовательских привилегий;
- экспорт данных в различные форматы.
IBExpert обладает множеством облегчающих работу компонентов: визуальный редактор для всех объектов базы данных, редактор SQL и исполнитель скриптов, отладчик для хранимых процедур и триггеров, построитель области, собственный скриптовый язык, а также дизайнер баз данных и т. д. На следующем рисунке продемонстрировано главное окно редактора.
Рис.5 - Рабочее окно редактора баз данных IBExpert
Следовательно таким образом, данный редактор даёт разработчику все необходимые возможности для создания полноценной базы данных Firebird, а именно: возможность создания таблиц, доменов, представлений, триггеров, встроенных процедур, генераторов и т.д. При этом создание элементов базы данных возможно при помощи языка SQL, а также при помощи визуальных компонентов, что сильно облегчает работу разработчику.
2.2 Описание реализации БД
База данных программного комплекса для экономической информационной системы расчета заработной платы в бюджетных организациях работает под управлением системой управления базами данных Firebird. Доступ к базе осуществляется при помощи языка структурированных запросов SQL. Для построения базы данных необходимо определить тип реквизитов для всех объектов на основании информации о содержании соответствующих реквизитов.
Изображенная на схеме база данных состоит из связанных между собой таблиц. Представленная модель является моделью реляционной базы данных и представляет собой набор взаимосвязанных таблиц. В данном случае применяется только один тип связи - один ко многим, т.е. одной записи в родительской таблице соответствуют несколько записей в дочерней таблице.
Рис.6 - Физическая схема организации базы данных
Структура таблиц и связей между ними определяется содержанием ER модели разработанной информационной системы. Рассмотрим атрибуты указанных на схеме (Таблица с 1 - 6).
№ пп |
Наименование |
Тип данных |
Размер |
Описание |
Примечания |
|
1 |
id |
uniqueidentifier |
Идентификатор |
Первичный ключ |
||
2 |
dolName |
varchar |
50 |
Наименование должности |
||
3 |
oklad |
numeric |
(18, 2) |
Оклад |
||
Таблица 1 - Таблица t_Doljnosti:
№ пп |
Наименование |
Тип данных |
Размер |
Описание |
Примечания |
|
1 |
id |
uniqueidentifier |
Идентификатор; |
Первичный ключ |
||
2 |
tabNum |
varchar |
10 |
Табельный номер |
||
3 |
FIO |
varchar |
200 |
ФИО; |
||
4 |
idDol |
uniqueidentifier |
Должность; |
Внешний ключ |
||
5 |
dateBirth |
date |
Возраст; |
|||
6 |
starWork |
date |
Общее начало работы; |
|||
7 |
child |
int |
Сведения о детях. |
|||
Таблица 2 - Таблица t_Sotr:
№ пп |
Наименование |
Тип данных |
Размер |
Описание |
Примечания |
|
1 |
id |
uniqueidentifier |
Идентификатор; |
Первичный ключ |
||
2 |
idTab |
uniqueidentifier |
идентификатор соответствующего табеля; |
Внешний ключ |
||
3 |
idSotr |
uniqueidentifier |
сотрудник; |
Внешний ключ |
||
4 |
fdate |
date |
дата; |
|||
5 |
kol |
int |
отработано часов; |
|||
6 |
kolDop |
int |
дополнительное количество часов; |
|||
7 |
flag |
varchar |
5 |
коды отработки. |
||
Таблица 3 - Таблица t_tab_str:
№ пп |
Наименование |
Тип данных |
Размер |
Описание |
Примечания |
|
1 |
id |
uniqueidentifier |
идентификатор; |
Первичный ключ |
||
2 |
num |
varchar |
10 |
номер; |
||
3 |
fDate |
date |
дата составления; |
|||
4 |
per |
varchar |
30 |
период; |
||
5 |
descr |
varchar |
300 |
примечания |
||
Таблица 4 - Таблица t_tab:
№ пп |
Наименование |
Тип данных |
Размер |
Описание |
Примечания |
|
1 |
id |
uniqueidentifier |
Идентификатор; |
Первичный ключ |
||
2 |
idRasch |
uniqueidentifier |
идентификатор соответствующего табеля; |
Внешний ключ |
||
3 |
idSotr |
uniqueidentifier |
сотрудник; |
Внешний ключ |
||
4 |
kol |
int |
количество отработанных часов; |
|||
5 |
kolSV |
int |
количество сверхурочных часов; |
|||
6 |
kolN |
int |
количество ночных часов; |
|||
7 |
kolV |
int |
количество часов, отработанных в выходные дни; |
|||
8 |
sumNach |
numeric |
(18, 2) |
начисленная сумма; |
||
9 |
sumNadb |
numeric |
(18, 2) |
надбавки; |
||
10 |
sumTotal |
numeric |
(18, 2) |
общая сумма; |
||
11 |
sumMinus |
numeric |
(18, 2) |
удержания из заработной платы; |
||
12 |
sumItog |
numeric |
(18, 2) |
сумма к выдаче |
||