Міністерство освіти і науки України
Чернігівський державний технологічний університет
Кафедра прикладної інформатики
ПОЯСНЮВАЛЬНА ЗАПИСКА
до курсової роботі на тему:
“Розробка автоматизованої інформаційної системи обліку заробітної плати”
за дисципліною
“Інформатика і комп’ютерна техніка”
Виконав:
Студент групи
№ залікової книжки
Перевірив:
Викладач
Чернігів ЧДТУ 2008
Текст завдання
Облік заробітної плати
Система повинна забезпечити збереження й обробку даних про:
табельний номер працівника; прізвище, ім’я, по батькові; дату прийняття на роботу; посаду; розмір окладу (залежить від посади); штатну кількість робітників для посади; місяць нарахування, рік нарахування (при перерахунку зарплати, у базі не повинна повторюватися інформація за один і той саме місяць і рік); суму до виплати; фактичну суму податку (13% від окладу).
Прикладна система повинна відповідати на наступні запити:
1) вивести дані про сумарну зарплату за минулий місяць;
2) визначити працівника з максимальною сумою податку.
Прикладна система повинна формувати наступні звіти:
1) розрахункові листки працівників, у яких вказати нарахування, утримання і суму до виплати;
2) платіжну відомість (із указівкою суми виплати) для кожного працівника.
Введення даних в усі таблиці та робота з ними, а також запуск запитів та звітів повинні виконуватися через форми, створенні користувачем.
Зміст
Проектування таблиць
Призначення системи
Система призначена для ведення обліку заробітної плати. Вона може бути застосована в роботі будь-якого підприємства.
Така система вимагає ведення довідників працівників та посад, а також даних про: табельний номер працівника; прізвище, ім’я, по батькові; дату прийняття на роботу; посаду; розмір окладу; штатну кількість робітників для посади; місяць нарахування, рік нарахування; суму до виплати; фактичну суму податку (13% від окладу).
Опис даних системи
В процесі проектування системи мною був визначений склад даних, які будуть вестися в системі. Їх загальний вигляд розміщено в таблиці.
Дані (поля) | Пояснення |
Табельний № | Табельний номер працівника |
Прізвище | Прізвище |
Ім’я | Ім’я |
По батькові | По батькові |
Дата прийняття на роботу | Дата прийняття на роботу |
Посада | Посада |
Розмір окладу | Розмір окладу |
Штатна кількість | Штатна кількість робітників для посади |
Місяць нарахування | Місяць нарахування |
Рік нарахування | Рік нарахування |
Сума до виплати | Сума до виплати |
Податок (13% від окладу) | Фактична суму податку (13% від окладу) |
Проектування таблиць
Базу даних розбиваємо на 3 таблиці.
Довідник посад – “ Посада ”
Довідник працівників – “ Працівник”
Основна таблиця – “ Облік заробітної плати”
Поля в головній таблиці “ Облік заробітної плати” «Працівник» та «Посада» в таблиці “ Працівник” замінимо на числові коди «Код посади» та «Код працівника» відповідно. Для зв’язку таблиць такі ж поля додаємо в довідники працівників та посад.
Для прискорення операцій пошуку та сортування даних необхідні індекси. В кожній з таблиць визначаємо унікальні дані, які повторюватися не будуть.
У таблиці “ Працівник” - “Код працівника” – ключове поле, яке бере участь у зв’язках, первинний унікальний ключ.
У таблиці “ Посада” - “ Код посади ” – ключове поле, яке бере участь у зв’язках, первинний унікальний ключ.
У таблиці “ Облік заробітної плати ” - “ № нарахування ЗП ” – ключове поле, яке бере участь у зв’язках, первинний унікальний ключ.
В результаті проектування отримуємо такі таблиці з полями в них:
таблиця “ Працівник ” - поля “ Табельний № ”, “ Прізвище ”; “ Имя ”, “По-батькові”, “ Код посади ”; “ Дата прийняття ”.
таблиця “Посада” - поля “ Код посади”, “ Посада”, “ Оклад”, “ Штатна кількість”.
таблиця “ Облік заробітної плати ” - поля “ № нарахування ЗП ”, “Табельний №”, “ Місяць нарахування ”, “Рік нарахування ”, “ Сума до виплати”, “Податок (13%) ”.
Між таблицями встановлюю зв’язки типу “один-до-багатьох”, зв’язуючи таблиці по полям “ Табельний №” (“Працівник ” – “ Облік заробітної плати ”), та “ Код посади ” (“Посада ” – “ Працівник ”).
Концептуальна модель бази даних.
Концептуальна модель бази даних має такий опис.
Назва бази даних: “ Облік заробітної плати ”.
Таблиця “ Облік заробітної плати ”
Властивості | ||
Порядок сортировки | ||
Поля | ||
Ім’я | Властивість | Значення |
№ нарахування ЗП | Тип | Счетчик |
Размер | Длинное целое | |
Ключевое поле | Да | |
Тип элемента управления | Поле | |
Табельний № | Тип | Числовой |
Размер | Длинное целое | |
Присоединенный столбец | 1 | |
Подпись | Працівник | |
Тип элемента управления | Поле со списком | |
Источник строк | SELECT Працівник. [Табельний №], Працівник. Прізвище, Працівник. Имя, Працівник. [По-батькові], Посада. Посада FROM Посада INNER JOIN Працівник ON Посада. [Код посади] =Працівник. [Код посади] ; | |
Тип источника строк | Таблица или запрос | |
Місяць нарахування | Тип | Числовой |
Размер | Длинное целое | |
Условие на значение | <=12 | |
Рік нарахування | Тип | Числовой |
Размер | Длинное целое | |
Сума до виплати | Тип | Денежный |
Условие на значение | >0 | |
Податок (13%) | Тип | Денежный |
Условие на значение | >0 | |
Індекси | ||
№ нарахування ЗП | Имя | № нарахування ЗП |
Ключевое поле | Да | |
Составной | Нет | |
Уникальный индекс | Да |
Таблиця “ Посада ”
Поля | ||
Ім’я | Властивість | Значення |
Код посади | Тип | Счетчик |
Размер | Длинное целое | |
Ключевое поле | Да | |
Тип элемента управления | Поле | |
Посада | Тип | Текстовый |
Размер поля | 20 | |
Тип элемента управления | Поле | |
Оклад | Тип | Денежный |
Условие на значение | >0 | |
Штатна кількість | Тип | Числовой |
Размер | Длинное целое | |
Індекси | ||
Код документа | Имя | Код документа |
Ключевое поле | Да | |
Составной | Нет | |
Уникальный индекс | Да |
Таблиця “ Працівник”
Поля | ||
Ім’я | Властивість | Значення |
Табельний № | Тип | Счетчик |
Размер | Длинное целое | |
Ключевое поле | Да | |
Тип элемента управления | Поле | |
Прізвище | Тип | Текстовый |
Размер поля | 25 | |
Имя | Тип | Текстовый |
Размер поля | 25 | |
По-батькові | Тип | Текстовый |
Размер поля | 20 | |
Код посади | Тип | Числовой |
Размер | Длинное целое | |
Присоединенный столбец | 1 | |
Подпись | Посада | |
Тип элемента управления | Поле со списком | |
Источник строк | SELECT Посада. [Код посади], Посада. Посада, Посада. Оклад FROM Посада; | |
Тип источника строк | Таблица или запрос | |
Дата прийняття | Тип | Дата/время |
Формат поля | Краткий формат даты | |
Маска ввода | 00.00.0000; 0; _ | |
Условие на значение | <=Date() | |
Індекси | ||
Табельний № | Имя | Табельний № |
Ключевое поле | Да | |
Составной | Нет | |
Уникальный индекс | Да |
Схема зв’язків між таблицями:
Розробка форм
В системі мною спроектовано 8 форм: дві з них використовується для висвітлення інформації про завдання та автора системи – “Автор” та “Завдання”, ще дві форми застосовуються для роботи з довідниками – “Працівник”, “Посада”, форма для роботи з головними даними - “ Облік заробітної плати”. Форми для додавання та коригування даних “Додати” та “Коригувати”. Кнопочна форма «Switchboard». Зовнішній вигляд всіх форм представлений в додатку.
Форма “Автор” вміщує відомості про автора роботи. В ній використовуються надписи та кнопка “Вихід” з стандартною командою закриття форми. Проста форма.
Форма “Завдання” містить завдання для роботи. В ній використовуються свободна рамка об’єкту з текстом у форматі MS WORD та кнопка “Вихід” з стандартною командою закриття форми. Проста форма.
Форма “Працівник” вміщує відомості про працівників. В ній використовуються надписи, поля та кнопки «Додати», “Видалити”, ”Пошук”, “Вихід” з стандартними командами додавання, видалення, пошуку та закриття форми. Стрічкова форма.
Форма “ Посада” вміщує відомості про посади. В ній використовуються надписи, поля та кнопки «Додати», “Видалити”, ”Пошук”, “Вихід” з стандартними командами додавання, видалення, пошуку та закриття форми. Стрічкова форма.
Форма “ Облік заробітної плати ” вміщує відомості про облік заробітної плати. В ній використовуються надписи, поля, кнопки “Пошук” (кнопка зі стандартною командою пошуку), ”Видалити” (кнопка зі стандартною командою видалення), Додати (макрос «Додати»), Коригувати (кнопка зі стандартною командою відкриття форми) “Вихід” (макрос «Макрос закриття форми»), поле зі списком, яке відображає дані про працівників з таблиці “Працівник”. Стрічкова форма.
Видалення даних проводиться у головній формі. Додавання даних проводиться у формі «Додати», зміна даних проводиться у формі «Коригувати».
Форма «Додати» – це форма на додавання даних про облік заробітної плати. В ній використовуються надписи, поля та кнопки “Видалити” (стандартна команда видалення), “Вихід” (макрос Додати збер), стрічкова форма.
Форма «Коригувати» – це форма для коригування даних про облік заробітної плати. Має кнопки “Зберегти” (макрос Кор зберегти) та “Вихід без збереження” (макрос Вих без збереження), стрічкова форма.
Зміст макросу “Вих без збереження”
Макрокоманда | Аргументи | Пояснення |
ВыполнитьКоманду | Отменить | Відміняє зміни |
Закрыть |
Тип обьекта Форма Имя обьекта Коригувати |
Закриває форму |
Зміст макросу “дод вимога”
Макрокоманда | Аргументи | Пояснення |
ЗадатьЗначение |
Елемент [Формы] ! [Додати] ! [Податок (13%)] Виражение [Формы] ! [Додати] ! [Сума до виплати] *0,13 |
Зміст макросу “Додати”
Макрокоманда | Аргументи | Пояснення |
ОткрытьФорму |
Имя формы Додати Режим Форма Режим даних Добавление Режим окна Обычное |
Відкриває форму |
Зміст макросу “Додати збер”
Макрокоманда | Аргументи | Пояснення |
Сохранить |
Тип обьекта Форма Имя обьекта Додати |
Зберігає дані |
Закрыть |
Тип обьекта Форма Имя обьекта Додати |
Закриває форму |
Зміст макросу “ Кор зберегти”
Макрокоманда | Аргументи | Пояснення |
ВыполнитьКоманду | Отменить | Відміняє зміни |
Закрыть |
Тип обьекта Форма Имя обьекта Коригувати Сохранить Да |
Закриває форму |
Зміст макросу “Макрос закриття форми”
Макрокоманда | Аргументи | Пояснення |
Сообщение |
Сообщение: Зараз закриємо форму! Сигнал: Да Тип: Информационное Заголовок: Попереджую! |
Показує сообщение |
Закрыть |
Тип обьекта: Форма Имя: Облік документів у нотаріальній конторі |
Закриває форму |
Зміст макросу “ Місяць”
Макрокоманда | Аргументи | Пояснення |
ПрименитьФильтр | Условие отбора: [Облік заробітної плати] ! [Місяць нарахування] Like [Формы] ! [Облік заробітної плати] ! [Пол_міс] | Фідьтрує дані |
Обновление | Оновлення. |
Зміст макросу “Перегляд по групам”
Макрокоманда | Аргументи |
[Формы] ! [Облік заробітної плати] ! [Груп_пер] =1 |
ЗадатьЗначение Элемент [Формы] ! [Облік заробітної плати] ! [ПолеСоСпис_прац]. [Visible] Выражение: Ложь |
[Формы] ! [Облік заробітної плати] ! [Груп_пер] =1 |
ЗадатьЗначение Элемент: [Формы] ! [Облік заробітної плати] ! [Пол_міс]. [Visible] Выражение: Ложь |
[Формы] ! [Облік заробітної плати] ! [Груп_пер] =1 |
ЗадатьЗначение Элемент: [Формы] ! [Облік заробітної плати] ! [Пол_рік]. [Visible] Выражение: Ложь |
[Формы] ! [Облік заробітної плати] ! [Груп_пер] =1 | ПоказатьВсеЗаписи |
[Формы] ! [Облік заробітної плати] ! [Груп_пер] =2 |
ЗадатьЗначение Элемент [Формы] ! [Облік заробітної плати] ! [ПолеСоСпис_прац]. [Visible] Выражение: Истина |
[Формы] ! [Облік заробітної плати] ! [Груп_пер] =2 |
ЗадатьЗначение Элемент: [Формы] ! [Облік заробітної плати] ! [Пол_міс]. [Visible] Выражение: Ложь |
[Формы] ! [Облік заробітної плати] ! [Груп_пер] =2 |
ЗадатьЗначение Элемент: [Формы] ! [Облік заробітної плати] ! [Пол_рік]. [Visible] Выражение: Ложь |
[Формы] ! [Облік заробітної плати] ! [Груп_пер] =3 |
ЗадатьЗначение Элемент: [Формы] ! [Облік заробітної плати] ! [ПолеСоСпис_прац]. [Visible] Выражение: Ложь |
[Формы] ! [Облік заробітної плати] ! [Груп_пер] =3 |
ЗадатьЗначение Элемент [Формы] ! [Облік заробітної плати] ! [Пол_міс]. [Visible] Выражение: Истина |
[Формы] ! [Облік заробітної плати] ! [Груп_пер] =3 |
ЗадатьЗначение Элемент: [Формы] ! [Облік заробітної плати] ! [Пол_рік]. [Visible] Выражение: Ложь |
[Формы] ! [Облік заробітної плати] ! [Груп_пер] =4 |
ЗадатьЗначение Элемент: [Формы] ! [Облік заробітної плати] ! [ПолеСоСпис_прац]. [Visible] Выражение: Ложь |
[Формы] ! [Облік заробітної плати] ! [Груп_пер] =4 |
ЗадатьЗначение Элемент: [Формы] ! [Облік заробітної плати] ! [Пол_міс]. [Visible] Выражение: Ложь |
[Формы] ! [Облік заробітної плати] ! [Груп_пер] =4 |
ЗадатьЗначение Элемент: [Формы] ! [Облік заробітної плати] ! [Пол_рік]. [Visible] Выражение: Истина |
Обновление |
Зміст макросу “Працівник”
Макрокоманда | Аргументи | Пояснення |
ПрименитьФильтр | Условие отбора: [Облік заробітної плати] ! [Табельний №] Like [Формы] ! [Облік заробітної плати] ! [ПолеСоСпис_прац] | Фідьтрує дані |
Обновление | Оновлення. |
Зміст макросу “ Працівник з максимальною сумою податку”
Макрокоманда | Аргументи | Пояснення |
ОткрытьЗапрос |
Имя запроса Працівник з максимальною сумою податку Режим Таблица Режим даних Только чтение |
Відкриває запит |
Зміст макросу “ Рік”
Макрокоманда | Аргументи | Пояснення |
ПрименитьФильтр | Условие отбора: [Облік заробітної плати] ! [Рік нарахування] Like [Формы] ! [Облік заробітної плати] ! [Пол_рік] | Фідьтрує дані |
Обновление | Оновлення. |
Зміст макросу “ Сумарна зарплата за минулий місяць”
Макрокоманда | Аргументи | Пояснення |
ОткрытьЗапрос |
Имя запроса Сумарна зарплата за минулий місяць Режим Таблица Режим даних Только чтение |
Відкриває запит |
Документи, що формуються системою:
В системі формується 2 звіти та 2 запити.
Запит “ Працівник з максимальною сумою податку”. Він є конвеєрним.
«Податки працівників». SQL-текст запиту:
SELECT [Облік заробітної плати]. [Табельний №], Sum([Облік заробітної плати]. [Податок (13%)]) AS [Сумарний податок]
FROM [Облік заробітної плати]
GROUP BY [Облік заробітної плати]. [Табельний №] ;
Запит “ мах податок”. SQL-текст запиту:
SELECT Max([Податки працівників]. [Сумарний податок]) AS [Max-Сумарний податок]
FROM [Податки працівників] ;
«Працівник з максимальною сумою податку». SQL-текст запиту:
SELECT [Податки працівників]. [Табельний №], [мах податок]. [Max-Сумарний податок]
FROM [мах податок] INNER JOIN [Податки працівників] ON [мах податок]. [Max-Сумарний податок] = [Податки працівників]. [Сумарний податок] ;
Запит “ Сумарна зарплата за минулий місяць”. SQL-текст запиту:
SELECT Sum([Облік заробітної плати]. [Сума до виплати]) AS [Sum-Сума до виплати]
FROM [Облік заробітної плати]
WHERE (((Month([Облік заробітної плати] ! [Місяць нарахування])) =Month(Date()) - 1) AND ((Year([Облік заробітної плати] ! [Рік нарахування])) =Year(Date())));
Звіт “ Платіжна відомість” відображає дані про заробітну плату працівників.
Звіт “ Розрахункові листки працівників” відображає дані про розрахункові листки працівників.
Роздруківки звітів та результатів запитів представлено в додатку.
Перелік посилань
Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. М.: Финансы и статистика, 1989
Єрьоміна Н.В. Проектування баз даних: Навч. Посібник / Київський національнийекономічний університет. –К., 1998. –205с.
Пономаренко В.С., Павленко Л.А., Максименко І.О. Проектування баз даних: Навч. Посібник /Харківський держ. економічний ун-т. – К., 1997. -172с.
Методичні вказівки до вивчення системи управління базами даних Mіcrosoft Access 2000 (для студентів економічних спеціальностей) / Укл. Крєпкий Ю.О., Атрощенко І.Т., Дрозд О.П., Клименко Ю.М., Прищеп С.І. – Чернігів: ЧДТУ – 2002. – 176с.
Методичні вказівки до виконання курсової роботи за дисциплінами «Комп’ютерна техніка та програмування», «Інформатика та комп’ютерна техніка» / Укл. Дрозд О.П., Прищеп С.І., Шемет В.П. – Чернігів: ЧДТУ – 2002. – 52с.