Решения по базе данных для комплекса задач
База данных представлена в виде реляционной модели и реализована с помощью утилиты Database Desktop, которая входит в состав Delphi. Применение этой утилиты позволяет создавать таблицы в интерактивном режиме и сразу же просмотреть их содержимое. В процессе эксплуатации программного продукта существует возможность обращения к базе данных пользователей, не владеющих иностранным языком. Поэтому наименования реквизитов написаны с применением транслитерации. База данных состоит из следующих таблиц: doljn.dbf, fam.dbf, fam_pokaz.dbf, mes.dbf, ntf.dbf, otdel.dbf, pokaz.dbf и pokaz_graf.dbf. Связи между таблицами реализуются через SQL-запросы, используя поля таблиц содержащих одинаковые значения.
Проектирование структуры базы данных представлено на рис. 2.4
| | | |
| | fam.DBF
| fam
| name
| otc
| otdel
| doljnosti
| b
| tf
| tn
| Ktu
| kpr
| premiya
| ian
| …
|
| |
| doljn.DBF
| otdel
| doljnosti
|
| |
|
Pokaz.DBF
| otdel
| doljnosti
| namepokaz
| pokaz_str
| max_ball
|
| |
Рис.2.4 «Структура базы данных»
Таблица doljn.dbf предназначена для хранения информации об отделах с должностями. Структура полей таблицы:
Таблица 2.1
Должность
Наименования поля
| Тип данных
| Размер
| Описание
|
otdel
| С (строковые)
|
| Наименование отдела
|
doljnosti
| С (строковые)
|
| Наименование должности
|
Таблица fam.dbf предназначена для хранения данных для расчета премий сотрудников по месяцам. Структура полей таблицы:
Таблица 2.2
Фамилии
Наименования поля
| Тип данных
| Размер
| Описание
|
fam
| С (строковые)
|
| Фамилия
|
name
| С (строковые)
|
| Имя
|
otc
| С (строковые)
|
| Отчество
|
otdel
| С (строковые)
|
| Наименование отдела
|
doljnosti
| С (строковые)
|
| Наименование должности
|
b
| F (с плавающей запятой)
|
| Общая сумма баллов
|
tf
| F (с плавающей запятой)
|
| Коэффициент трудового участия фактический
|
tn
| F (с плавающей запятой)
|
| Коэффициент трудового участия по нормативу
|
Продолжение таблицы 2.2
Наименования поля
| Тип данных
| Размер
| Описание
|
Ktu
| F (с плавающей запятой)
|
| Коэффициент трудового участия
|
kpr
| F (с плавающей запятой)
|
| Коэффициент премирования
|
premiya
| F (с плавающей запятой)
|
| Премия
|
ian
| N (числовые)
|
| Сумма баллов за январь
|
fevr
| N (числовые)
|
| Сумма баллов за февраль
|
mart
| N (числовые)
|
| Сумма баллов за март
|
apreli
| N (числовые)
|
| Сумма баллов за апрель
|
mai
| N (числовые)
|
| Сумма баллов за май
|
iuni
| N (числовые)
|
| Сумма баллов за июнь
|
iuli
| N (числовые)
|
| Сумма баллов за июль
|
avg
| N (числовые)
|
| Сумма баллов за август
|
sent
| N (числовые)
|
| Сумма баллов за сентябрь
|
okt
| N (числовые)
|
| Сумма баллов за октябрь
|
noiabri
| N (числовые)
|
| Сумма баллов за ноябрь
|
decabri
| N (числовые)
|
| Сумма баллов за декабрь
|
Продолжение таблицы 2.2
Наименования поля
| Тип данных
| Размер
| Описание
|
ian_pr
| F (с плавающей запятой)
|
| Премия за январь
|
fev_pr
| F (с плавающей запятой)
|
| Премия за февраль
|
mart_pr
| F (с плавающей запятой)
|
| Премия за март
|
apr_rp
| F (с плавающей запятой)
|
| Премия за апрель
|
mai_pr
| F (с плавающей запятой)
|
| Премия за май
|
iuni_pr
| F (с плавающей запятой)
|
| Премия за июнь
|
iuli_pr
| F (с плавающей запятой)
|
| Премия за июль
|
avg_pr
| F (с плавающей запятой)
|
| Премия за август
|
set_pr
| F (с плавающей запятой)
|
| Премия за сентябрь
|
okt_pr
| F (с плавающей запятой)
|
| Премия за октябрь
|
no_pr
| F (с плавающей запятой)
|
| Премия за ноябрь
|
dec_pr
| F (с плавающей запятой)
|
| Премия за декабрь
|
Таблица fam_pokaz.dbf предназначена для хранения информации о показателях сотрудников по месяцам. Структура полей таблицы:
Таблица 2.3
Показатели работников
Наименования поля
| Тип данных
| Размер
| Описание
|
fam
| С (строковые)
|
| Фамилия
|
name
| С (строковые)
|
| Имя
|
otc
| С (строковые)
|
| Отчество
|
otdel
| С (строковые)
|
| Наименование отдела
|
doljnosti
| С (строковые)
|
| Наименование должности
|
namepokaz
| M (неограниченной длины)
|
| Наименование показателей
|
Продолжение таблицы 2.3
Наименования поля
| Тип данных
| Размер
| Описание
|
pokaz_str
| С (строковые)
|
| Наименование показателей
|
max_ball
| N (числовые)
|
| Максимальный балл
|
mes
| С (строковые)
|
| Месяц
|
god
| N (числовые)
|
| Год
|
ian
| N (числовые)
|
| Сумма баллов за январь
|
fevr
| N (числовые)
|
| Сумма баллов за февраль
|
mart
| N (числовые)
|
| Сумма баллов за март
|
apreli
| N (числовые)
|
| Сумма баллов за апрель
|
mai
| N (числовые)
|
| Сумма баллов за май
|
iuni
| N (числовые)
|
| Сумма баллов за июнь
|
iuli
| N (числовые)
|
| Сумма баллов за июль
|
avg
| N (числовые)
|
| Сумма баллов за август
|
sent
| N (числовые)
|
| Сумма баллов за сентябрь
|
okt
| N (числовые)
|
| Сумма баллов за октябрь
|
noiabri
| N (числовые)
|
| Сумма баллов за ноябрь
|
decabri
| N (числовые)
|
| Сумма баллов за декабрь
|
Значение суммы надтарифного фонда необходимое для премирования сотрудников будет храниться в таблице ntf.dbf. Структура полей таблицы:
Таблица 2.4
Надтарифный фонд
Наименования поля
| Тип данных
| Размер
| Описание
|
ntf
| F (с плавающей запятой)
|
| Сумма надтарифного фонда
|
Информация об отделах в учреждении будет храниться в таблице otdel.dbf. Структура полей таблицы:
Таблица 2.5
Отделы
Наименования поля
| Тип данных
| Размер
| Описание
|
otdel
| С (строковые)
|
| Наименование отдела
|
fntf
| F (с плавающей запятой)
|
| Сумма денежных средств выделяемых на отдел
|
procent
| F (с плавающей запятой)
|
| Процент от надтарифного фонда
|
kp
| F (с плавающей запятой)
|
| Суммарный коэффициент премирования
|
d
| F (с плавающей запятой)
|
| Денежная сумма, приходящаяся на единицу коэффициента премий
|
Таблица pokaz.dbf предназначена для хранения информации о показателях деятельности работников. Структура полей таблицы:
Таблица 2.6
Показатели
Наименования поля
| Тип данных
| Размер
| Описание
|
otdel
| С (строковые)
|
| Наименование отдела
|
doljnosti
| С (строковые)
|
| Наименование должности
|
namepokaz
| M (неограниченной длины)
|
| Наименование показателей
|
pokaz_str
| С (строковые)
|
| Наименование показателей
|
max_ball
| N (числовые)
|
| Максимальный балл
|
Таблица pokaz_graf.dbf предназначена для построения гистограммы на согласно выбранным условиям. Структура полей таблицы:
Таблица 2.7
Показатели работников
Наименования поля
| Тип данных
| Размер
| Описание
|
fam
| С (строковые)
|
| Фамилия
|
name
| С (строковые)
|
| Имя
|
otc
| С (строковые)
|
| Отчество
|
otdel
| С (строковые)
|
| Наименование отдела
|
doljnosti
| С (строковые)
|
| Наименование должности
|
Продолжение таблицы 2.7
Наименования поля
| Тип данных
| Размер
| Описание
|
pokaz_str
| С (строковые)
|
| Наименование показателей
|
max_ball
| N (числовые)
|
| Максимальный балл
|
mes
| С (строковые)
|
| Месяц
|
god
| N (числовые)
|
| Год
|
mes_ball
| N (числовые)
|
| Количество баллов за выбранный месяц
|
С помощью таблицы mes.dbf пользователь сможет выводить на экран статистические данные по месяцам. Структура полей таблицы:
Таблица 2.8
Выбор месяца
Наименования поля
| Тип данных
| Размер
| Описание
|
mes
| С (строковые)
|
| Месяц
|
sel
| L (логические)
|
| Выбор месяца
|
Популярное: