Алгоритм приведения отношений к третьей нормальной форме

1. Создать универсальное отношение, содержащее все требуемые атрибуты (в отношении не должно быть пустых ячеек);

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

3. Получить минимальное покрытие функциональных зависимостей. Минимальным покрытием называется список тех функциональных зависимостей, которые остаются в общем списке после вычеркивания функциональных зависимостей, являющихся производными. В частности, объединяются все функциональные зависимости с одинаковой левой частью, исключаются транзитивные зависимости.

4. Определить первичный ключ отношения.

5. С помощью операции проекции разбить исходное отношение на части по следующему принципу:

Ri = R [Xi], где Xi - список атрибутов из i -той функциональной зависимости. Количество отношений будет равно числу функциональных зависимостей.

6. Если первичный ключ не вошел ни в одно из полученных отношений, то для него создается отдельное отношение.

7. Атрибуты, входящие во взаимооднозначное соответствие, выделяются в отдельные отношения. Среди них выбирается один, по смыслу являющийся основным. Он будет представлять остальные атрибуты в других отношениях.

Пример:

Приведите отношение к третьей нормальной форме при известном списке атрибутов и функциональных зависимостей:

Табельный номер

ФИО рабочего

Цех

Участок

Дата

Сумма зарплаты

Участок® Цех

Табельный номер® Цех

Табельный номер® Участок

Табельный номер, Дата® Сумма зарплаты

Табельный номер® ФИО рабочего

Табельный номер® ФИО рабочего, Участок

Связывание таблиц. Основные виды связей

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

Между двумя таблицами в общем случае могут устанавливаться следующие четыре основных вида связи:

· один к одному (1:1);

· один ко многим (1:М);

· многие к одному (М:1);

· многие ко многим (М:М);

Связь вида 1:1

Данный вид связи образуется в случае, когда все поля связи основной и дополнительной таблиц являются ключевыми. Поскольку значения в ключевых полях обеих таблиц не повторяются, обеспечивается взаимно-однозначное соответствие записей из этих таблиц. На практике связи вида 1:1 используются достаточно редко, т.к. хранимую в двух таблицах информацию легко объединить в одну таблицу, которая занимает меньше места в памяти ЭВМ. Но существуют случаи, когда удобнее иметь не одну, а две таблицы, например из соображений безопасности

Связь вида 1:М

Этот вид связи имеет место в случае, когда одной записи основной таблицы соответствует несколько записей вспомогательной таблицы. Это наиболее распространенный вид связей в РМД.

Связь вида М:1

Является разновидность связи 1:М.

Связь вида М:М

Самый общий вид связи, возникает в случаях, когда нескольким записям основной таблицы соответствует несколько записей дополнительной таблицы.



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



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