Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 3.docx
Скачиваний:
211
Добавлен:
17.11.2019
Размер:
50.73 Кб
Скачать

Практическое занятие №3 нормализация базы данных

1. Цель работы:

1.1 Закрепить на практике теоретические знания по нормализации баз данных.

1.2 Усовершенствовать практические навыки по преобразованию таблиц баз данных к первой, второй, третьей нормальной форме, а при возможности и к нормальной форме Бойса-Кодда.

2 Теоретические сведения

Нормализация — это процесс, позволяющий гарантировать эффек­тивность структур данных в реляционной базе данных.

Реляционная база данных считается эффективной, если она обладает следующими характеристиками.

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

2. Минимальное использование null-значений. Существует множе­ство корректных представлений базы данных, но в некоторых из них может оказаться много кортежей, содержащих неопределен­ные значения (null).

3. Предотвращение потери информации.

Теория нор­мализации состоит из ряда определений нормальных форм. Исходной является первая нормальная форма (1NF).

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

Основополагающее понятие теории нормализации — понятие функ­циональной зависимости.

Функциональная зависимость — это понятие, которое отражает определенную связь между атрибутами отноше­ния. Пусть в отношении существует множество атрибутов X. Некий ат­рибут или множество атрибутов А является функционально зависимым от X тогда и только тогда, когда каждой комбинации значений X соот­ветствует одно и только одно значение А. Это обозначается следующим образом: X—>А.

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

Определив первичный ключ для каждого отношения, можно улучшить проект нашей базы данных, преобразовав ее во вторую нормальную форму (2NF). По определению, отношение находится во второй нормальной форме (2NF), если оно, во-первых, находится в 1NF; и, во-вторых, не содержит неключевых атрибутов, находящихся в частичной функцио­нальной зависимости от первичного ключа.

Неключевые атрибуты— это те, которые не являются частью потенци­ального ключа.

Эта функциональная зависимость между неключевыми атрибутами называется транзитивной зависимостью. Отношение в третьей нормаль­ной форме (3NF) не должно иметь транзитивных зависимостей. По опре­делению, отношение находится в 3NF, если оно, во-первых, находится в 2NF, и, во-вторых, не содержит транзитивных зависимостей.

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

Нормальная форма Бойса-Кодда

При приведении к 3NF рассматриваются функциональные зависимо­сти между первичным ключом и неключевыми атрибутами, а также тран­зитивные зависимости. В находящемся в 3NF отношении может по-прежнему оставаться избыточность, так как еще не учтены связи, суще­ствующие между потенциальными ключами или внутри них.

3. ЗАДАНИЕ

3.1 Ознакомиться с порядком работы.

3.2 Закрепить теоретические знания по нормализации баз данных.

3.3 Выполнить практическое задание и зафиксировать выполнение в отчете.

4. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1. Приведите таблицу к первой нормальной форме путем разбиения атрибутов на атомарные. Сформируйте таблицу в первой нормальной форме.

2. Приведите таблицу ко второй нормальной форме путем разбиения таблицы, выделяя ключевые атрибуты.

3. Сформируйте таблицу в третьей нормальной форме.