Курсовая работа: База данных отдела кадров
2. Между атрибутами сотрудники и командировка будет связь 1:М, так как сотрудник может сколько угодно раз ездить в командировки.
3. Между атрибутами сотрудники и больничный будет связь 1:М, так как сотрудник может сколько угодно раз уходить на больничный.
4. Меж атрибутами сотрудники и отпуск будет связь 1:М, так как сотрудник может сколько угодно раз ходить в отпуск.
5. Между атрибутами сотрудники и курсы повышения квалификации (перевод) будет связь 1:М, так как сотрудник может проходить курсы повышения квалификации сколько угодно раз.
6. Между атрибутами сотрудники и увольнение будет связь 1:1, так сотрудник может уволиться только один раз.
7. Между атрибутами сотрудники и табель рабочего времени будет связь 1:1, так как одному сотруднику соответствует только одна запись каждого месяца в табеле.
4 Реляционная модель БД
Реляционная модель баз данных была предложена сотрудником фирмы IBM Э. Кодом в начале 70-х годов. Будучи математиком, он предложил использовать для обработки данных аппарат теории множеств (объединение, пересечение, разность и Декартово произведение). Он показал, что любое представление данных сводится к совокупности двумерных таблиц особого вида, известных в математике как отношения.
Одна из главных идей заключается в том, что связи между данными должны устанавливаться в соответствии с их внутренними логическими взаимоотношениями. В реляционной модели одной командой могут обрабатываться целые файлы.
Реляционная БД представляет собой информацию об объекте, представленную в виде двумерного массива - таблицы объеденных определен
ными связями.
4.1 Выбор ключей
Атрибут значение, которого идентифицируется кортежами (строками таблицы) называется ключом. Отношение может содержать и несколько ключей, один из которых объявляется первичным. Первичные ключи не могут обновляться. Все прочие ключи отношений являются возможными ключами.
Если в отношении кортеж идентифицируется соединением значений нескольких атрибутов, то такой ключ называется составным.
Атрибут представляющие собой копии ключей других отношений называется внешним ключом. Реляционная модель накладывает на внешние ключи ограничения для обеспечения целостности данных. Это означает, что к каждому значению внешнего ключа должны соответствовать строки в связываемых отношениях.
В разрабатываемой БД сущность табельный номер сотрудника будет являться ключом для атрибутов сотрудники, отпуск, увольнение, командировка, трудовой договор и повышение квалификации (перевод).
Атрибут сотрудники так же имеет уникальные поля, такие как номер паспорта и ИНН, но номер паспорта не может быть ключом, так как номер паспорта может меняться, а ИНН может являться ключевым, но нам удобнее использовать как ключ табельный номер.
Для атрибута табель рабочего времени ключом будет являться две сущности, номер сотрудника и период, то есть ключ будет составным.
4.2 Нормализация отношений
Нормализация – разбиение таблицы на две или более, обладающие лучшими свойствами включении, изменении или удалении данных. окончательная цель нормализации сводится к получению такого проекта БД в котором каждый факт появляется лишь в одном месте, то есть исключена избыточность информации.
Нормализация отношений – формальный аппарат ограничений, на формирование отношений которого позволяет устранить дублирование, обеспечить непротиворечивость хранимых в базе данных, уменьшить трудозатраты на ведение БД.
Кодом выведено три нормальные формы и предложен механизм, позволяющий любое отношение преобразовать к третей нормальной форме. Приведем наши отношения к третей нормальной форме.
Первая НФ: Отношение называется нормализованным или приведенным к первой нормальной форме тогда и только тогда, когда все его атрибуты простые (неделимые). Таблица находится в первой нормальной форме тогда и только тогда, когда ни одна из ее строк не содержит в любом ее поле более одного значения, и не одно из ее ключевых полей не пусто. Для того чтобы привести наши отношения к первой нормальной форме надо сущность ФИО разбить на три отдельные (Фамилия, Имя, Отчество). Так же следует вынести в отдельную таблицу структурное подразделение, должности и наименование фирмы, чтобы не допустить избыточности данных. В отдельную таблицу выносятся приказы по личному составу и производственные приказы, так как нумерация у приказов общая. Атрибуты место проживания по паспорту и фактическое место проживания не требуют разбиения так как используются один раз.
Вторая НФ: Таблица находится во второй нормальной форме, если она удовлетворяет определению первой нормальной формы и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом. Для того чтобы наши отношения привести во вторую нормальную форму надо вынести все начальников отдела в отдельную таблицу.
Третья НФ: Таблица находится в третей нормальной форме, если она удовлетворяет определению второй нормальной формы и ни одно из ее не ключевых полей не зависит функционально от любого другого не ключевого поля. Отношения, представленные в данной БД приведены к третей нормальной форме.
5 Физическое проектирование БД
Проектирование информационных систем, включающих в себя базы данных, осуществляется на физическом и логическом уровнях. Решение проблем проектирования на физическом уровне во многом зависит от используемой СУБД (система управления базами данных – комплекс языковых и программных средств, предназначенных для создания, ведения, и совместного ведения БД многими пользователями), зачастую автоматизировано и скрыто от пользователя. В ряде случаев пользователю предоставляется возможность настройки отдельных параметров системы, которая не составляет большой проблемы. [11. стр.123]
5.1 Состав таблиц БД
Рассмотрим отношения нашей БД подробнее.
Таблица 1 – Сотрудники
Название | Тип данных | Тип поля |
Фамилия | Текстовый | |
Имя | Текстовый | |
Отчество | Текстовый | |
Табельный № | Счетчик | Ключевое |
Должность | Текстовый | |
Стаж работы | Текстовый | |
№ паспорта | Числовой | Уникальное |
ИНН | Числовой | Уникальное |
Состав семьи | Числовой | |
Дата рождения | Дата/Время | |
Место проживания по паспорту | Текстовый | |
Фактическое место проживания | Текстовый | |
Телефон | Числовой |
Таблица 2 – Трудовой договор
Наименование | Тип данных | Тип поля |
Наименование фирмы | Текстовый | |
Ключ ТД | Счетчик | Ключевое |
Дата составления | Дата/Время | |
Дата принятия | Дата/Время | |
Табельный № | Числовой | |
Оклад | Денежный | |
Надбавки за совмещение должностей | Денежный | |
Надбавки за работу на крайнем севере | Денежный | |
Основание | Текстовый |
Таблица 3 – Повышение квалификации ( перевод)
Наименование | Тип данных | Тип поля |
Ключ перевода | Счетчик | Ключевое |
Табельный № | Числовой | |
Вид перевода | Текстовый | |
Прежнее место работы | Текстовый | |
Новое место работы | Текстовый | |
Основание перевода | Текстовый |
Таблица 4 – Командировка
Наименование | Тип данных | Тип поля |
Ключ К-ка | Счетчик | Ключевое |
Табельный № | Числовой | |
Место назначения | Текстовый | |
Срок | Числовой | |
Цель | Текстовый | |
За счет средств | Числовой |
Таблица 5 – Отпуск
Наименование | Тип данных | Тип поля |
Ключ Отпуск | Счетчик | Ключевое |
Дата составления | Дата/Время | |
Табельный № | Числовой | |
Период работы | Дата/Время | |
Основной отпуск | Дата/Время | |
Дополнительный отпуск | Дата/Время | |
Количество дней | Числовой | |
Период к оплате | Денежный |
Таблица 6 – Больничный
Наименование | Тип данных | Тип поля |
Ключ Б | Счетчик | Ключевое |
Табельный № | Числовой | |
Основной отпуск | Дата/Время | |
Дополнительный отпуск в связи с болезнью | Дата/Время | |
Отпуск исчислять | Дата/Время | |
Все отпуск | Числовой |
Таблица 7 – Увольнение
Наименование | Тип данных | Тип поля |
Ключ Ув | Счетчик | Ключевое |
Дата составления | Дата/Время | |
Дата увольнения | Дата/Время | |
Табельный № | Числовой | |
Основание | Текстовый | |
К оплате | Денежный |
Таблица 8 – Табель рабочего времени
Наименование | Тип данных | Тип поля |
№ сотрудника | Счетчик | Ключевое |
За период | Текстовый | Ключевое |
Фамилия | Текстовый | |
Имя | Текстовый | |
Отчество | Текстовый | |
Кол-во отработанных дней | Числовой | |
Кол-во фактически отработанных дней | Числовой | |
Кол-во выходных | Числовой | |
Отпуск | Числовой | |
Командировка | Числовой | |
Больничный | Числовой |
Таблица 9 – Должность
Наименование | Тип данных | Тип поля |
Ключ Долж | Счетчик | Ключевое |
Должность | Текстовый |
Таблица 10 – Структурное подразделение
Наименование | Тип данных | Тип поля |
Ключ СП | Счетчик | Ключевое |
Структурное подразделение | Текстовый |
Таблица 11 – Наименование фирмы
Наименование | Тип данных | Тип поля |
Ключ Фирмы | Счетчик | Ключевое |
Наименование фирмы | Текстовый |
Таблица 12 – Начальники
Наименование | Тип данных | Тип поля |
Ключ Нач | Счетчик | Ключевое |
Табельный № | Числовой | |
Начальник | Логический |
Таблица 13- Приказы по личному составу
Наименование | Тип данных | Тип поля |
№ приказа | Числовой | Ключевое |
Дата | Дата/Время | |
Больничный | Текстовый | |
Отпуск | Текстовый | |
Трудовой договор | Текстовый | |
Увольнение | Текстовый |
Таблица 14 – Производственные приказы
Наименование | Тип данных | Тип поля |
№ приказа | Числовой | Ключевое |
Дата | Дата/Время | |
Повышение квалификации (перевод) | Текстовый | |
Командировка | Текстовый |
5.2 Запросы к БД
Запросы — это объект базы данных, который служит для извлечения данных из таблиц и предоставления их пользователю в удобном виде. Особенность запросов состоит в том, что они черпают данные из базовых таблиц и создают на их основе временную таблицу.
Все запросы делятся на две группы: запросы-выборки, запросы-действия.
Запросы-выборки осуществляют выборку данных из таблиц в соответствии с заданными условиями.
Запросы-действия позволяют модифицировать данные в таблицах: удалять, обновлять, добавлять записи.
В данной БД представлены следующие запросы:
1. Структурное подразделение, – какие и сколько работников работает в данном подразделение. Нужное подразделение будет вводиться с клавиатуры вручную.