Реляционная модель БД

 

Реляционная модель баз данных была предложена сотрудником фирмы IBM Э. Кодом в начале 70-х годов. Будучи математиком, он предложил использовать для обработки данных аппарат теории множеств (объединение, пересечение, разность и Декартово произведение). Он показал, что любое представление данных сводится к совокупности двумерных таблиц особого вида, известных в математике как отношения.

Одна из главных идей заключается в том, что связи между данными должны устанавливаться в соответствии с их внутренними логическими взаимоотношениями. В реляционной модели одной командой могут обрабатываться целые файлы.

Реляционная БД представляет собой информацию об объекте, представленную в виде двумерного массива - таблицы объеденных определен
ными связями.

 


Выбор ключей

 

Атрибут значение, которого идентифицируется кортежами (строками таблицы) называется ключом. Отношение может содержать и несколько ключей, один из которых объявляется первичным. Первичные ключи не могут обновляться. Все прочие ключи отношений являются возможными ключами.

Если в отношении кортеж идентифицируется соединением значений нескольких атрибутов, то такой ключ называется составным.

Атрибут представляющие собой копии ключей других отношений называется внешним ключом. Реляционная модель накладывает на внешние ключи ограничения для обеспечения целостности данных. Это означает, что к каждому значению внешнего ключа должны соответствовать строки в связываемых отношениях.

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

Атрибут сотрудники так же имеет уникальные поля, такие как номер паспорта и ИНН, но номер паспорта не может быть ключом, так как номер паспорта может меняться, а ИНН может являться ключевым, но нам удобнее использовать как ключ табельный номер.

Для атрибута табель рабочего времени ключом будет являться две сущности, номер сотрудника и период, то есть ключ будет составным.

 

Нормализация отношений

 

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

Нормализация отношений – формальный аппарат ограничений, на формирование отношений которого позволяет устранить дублирование, обеспечить непротиворечивость хранимых в базе данных, уменьшить трудозатраты на ведение БД.

Кодом выведено три нормальные формы и предложен механизм, позволяющий любое отношение преобразовать к третей нормальной форме. Приведем наши отношения к третей нормальной форме.

Первая НФ: Отношение называется нормализованным или приведенным к первой нормальной форме тогда и только тогда, когда все его атрибуты простые (неделимые). Таблица находится в первой нормальной форме тогда и только тогда, когда ни одна из ее строк не содержит в любом ее поле более одного значения, и не одно из ее ключевых полей не пусто. Для того чтобы привести наши отношения к первой нормальной форме надо сущность ФИО разбить на три отдельные (Фамилия, Имя, Отчество). Так же следует вынести в отдельную таблицу структурное подразделение, должности и наименование фирмы, чтобы не допустить избыточности данных. В отдельную таблицу выносятся приказы по личному составу и производственные приказы, так как нумерация у приказов общая. Атрибуты место проживания по паспорту и фактическое место проживания не требуют разбиения так как используются один раз.

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

Третья НФ: Таблица находится в третей нормальной форме, если она удовлетворяет определению второй нормальной формы и ни одно из ее не ключевых полей не зависит функционально от любого другого не ключевого поля. Отношения, представленные в данной БД приведены к третей нормальной форме.

 



Физическое проектирование БД

 

Проектирование информационных систем, включающих в себя базы данных, осуществляется на физическом и логическом уровнях. Решение проблем проектирования на физическом уровне во многом зависит от используемой СУБД (система управления базами данных – комплекс языковых и программных средств, предназначенных для создания, ведения, и совместного ведения БД многими пользователями), зачастую автоматизировано и скрыто от пользователя. В ряде случаев пользователю предоставляется возможность настройки отдельных параметров системы, которая не составляет большой проблемы. [11. стр.123]

 

Состав таблиц БД

Рассмотрим отношения нашей БД подробнее.

Таблица 1 – Сотрудники

Название Тип данных Тип поля
Фамилия Текстовый  
Имя Текстовый  
Отчество Текстовый  
Табельный № Счетчик Ключевое
Должность Текстовый  
Стаж работы Текстовый  
№ паспорта Числовой Уникальное
ИНН Числовой Уникальное
Состав семьи Числовой  
Дата рождения Дата/Время  
Место проживания по паспорту Текстовый  
Фактическое место проживания Текстовый  
Телефон Числовой  


Таблица 2 – Трудовой договор

Наименование Тип данных Тип поля
Наименование фирмы Текстовый  
Ключ ТД Счетчик Ключевое
Дата составления Дата/Время  
Дата принятия Дата/Время  
Табельный № Числовой  
Оклад Денежный  
Надбавки за совмещение должностей Денежный  
Надбавки за работу на крайнем севере Денежный  
Основание Текстовый  

 

Таблица 3 – Повышение квалификации (перевод)

Наименование Тип данных Тип поля
Ключ перевода Счетчик Ключевое
Табельный № Числовой  
Вид перевода Текстовый  
Прежнее место работы Текстовый  
Новое место работы Текстовый  
Основание перевода Текстовый  

Таблица 4 – Командировка

Наименование Тип данных Тип поля
Ключ К-ка Счетчик Ключевое
Табельный № Числовой  
Место назначения Текстовый  
Срок Числовой  
Цель Текстовый  
За счет средств Числовой  

Таблица 5 – Отпуск

Наименование Тип данных Тип поля
Ключ Отпуск Счетчик Ключевое
Дата составления Дата/Время  
Табельный № Числовой  
Период работы Дата/Время  
Основной отпуск Дата/Время  
Дополнительный отпуск Дата/Время  
Количество дней Числовой  
Период к оплате Денежный  

 

Таблица 6 – Больничный

Наименование Тип данных Тип поля
Ключ Б Счетчик Ключевое
Табельный № Числовой  
Основной отпуск Дата/Время  
Дополнительный отпуск в связи с болезнью Дата/Время  
Отпуск исчислять Дата/Время  
Все отпуск Числовой  

Таблица 7 – Увольнение

Наименование Тип данных Тип поля
Ключ Ув Счетчик Ключевое
Дата составления Дата/Время  
Дата увольнения Дата/Время  
Табельный № Числовой  
Основание Текстовый  
К оплате Денежный  

 

Таблица 8 – Табель рабочего времени

Наименование Тип данных Тип поля
№ сотрудника Счетчик Ключевое
За период Текстовый Ключевое
Фамилия Текстовый  
Имя Текстовый  
Отчество Текстовый  
Кол-во отработанных дней Числовой  
Кол-во фактически отработанных дней Числовой  
Кол-во выходных Числовой  
Отпуск Числовой  
Командировка Числовой  
Больничный Числовой  

 

Таблица 9 – Должность

Наименование Тип данных Тип поля
Ключ Долж Счетчик Ключевое
Должность Текстовый  

Таблица 10 – Структурное подразделение

Наименование Тип данных Тип поля
Ключ СП Счетчик Ключевое
Структурное подразделение Текстовый  

Таблица 11 – Наименование фирмы

Наименование Тип данных Тип поля
Ключ Фирмы Счетчик Ключевое
Наименование фирмы Текстовый  

Таблица 12 – Начальники

Наименование Тип данных Тип поля
Ключ Нач Счетчик Ключевое
Табельный № Числовой  
Начальник Логический  

Таблица 13- Приказы по личному составу

Наименование Тип данных Тип поля
№ приказа Числовой Ключевое
Дата Дата/Время  
Больничный Текстовый  
Отпуск Текстовый  
Трудовой договор Текстовый  
Увольнение Текстовый  

 



Таблица 14 – Производственные приказы

Наименование Тип данных Тип поля
№ приказа Числовой Ключевое
Дата Дата/Время  
Повышение квалификации (перевод) Текстовый  
Командировка Текстовый  

Запросы к БД

Запросы — это объект базы данных, который служит для извлечения данных из таблиц и предоставления их пользователю в удобном виде. Особенность запросов состоит в том, что они черпают данные из базовых таблиц и создают на их основе временную таблицу.

Все запросы делятся на две группы: запросы-выборки, запросы-действия.

Запросы-выборки осуществляют выборку данных из таблиц в соответствии с заданными условиями.

Запросы-действия позволяют модифицировать данные в таблицах: удалять, обновлять, добавлять записи.

В данной БД представлены следующие запросы:

1. Структурное подразделение, – какие и сколько работников работает в данном подразделение. Нужное подразделение будет вводиться с клавиатуры вручную.

2. Текучесть кадров – какие сотрудники какого числа были приняты и уволены.

3. Отпуск – в данном запросе будет просматриваться, какие сотрудники уже были в отпуске.

4. Список сотрудников с номерами телефонов.

5. Список сотрудников по должностям.

6. Список сотрудников по структурному подразделению.

7. Поиск сотрудников по табельному номеру.

8. Поиск сотрудников по фамилии.

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

 

Экранные формы

 

Форма в БД - это структурированное окно, которое можно представить так, чтобы оно повторяло форму бланка. Формы создаются из набора отдельных элементов управления. Источником данных для формы являются записи таблицы или запроса.

Форма предоставляет возможности для:

1. Ввода и просмотра информации базы данных

2. Изменения данных

3. Печати

4. Создания сообщений.

В данной БД представлены следующие формы:

1. Сотрудники

2. Трудовой договор

3. Больничный

4. Увольнение

5. Командировка

6. Перевод

7. Увольнение.

Формы 2-7 являются подчиненными для формы 1.

 



Отчеты

 

Отчет - это объект базы данных, который предназначен для вывода информации из баз данных, прежде всего на печать.

Отчеты позволяют выбрать из баз данных нужную пользователю информацию, оформить ее в виде документа, перед выводом на печать просмотреть на экране.

Источником данных для отчета может служить таблица или запрос. Кроме данных, полученных из таблиц, в отчете могут отображаться вычисляемые поля, например, итоговые суммы.

В данной БД представлены следующие отчеты:

1. Сотрудники с телефонами - показывает список сотрудников (их фамилию, имя и отчество) с номерами телефонов.

2. Текучесть кадров - показывает какие сотрудники какого числа были приняты и уволены.

 




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: