Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД ЭКЗАМЕН.docx
Скачиваний:
8
Добавлен:
24.09.2019
Размер:
94.22 Кб
Скачать
  1. Нормализация баз данных. 1-ая, 2-ая и 3-я нормальные формы.

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

1 нормальная форма – отношение находится в первой нормальной форме. Если значения всех его атрибутов не являются ни множеством, ни группой значений. Что бы привести таблицу в первую нормальную форму достаточно вынести все поля содержащие списка в отдельную таблицу. Данные таблицы соответствуют требованием 1НФ однако они подвержены ряду аномалий: обновление, добавление удаление. 1. (№ счёта, наименование тов., цена, кол-во, дата поставки, адрес поставщика, название поставщика.) это уже 1НФ- 2. (№ счёта, наименование тов., цена тов., кол-во.) 3. (№ счёта, дата, адрес, название поставщика.) Что бы избавится от части аномалий то приводим таблицу к 2НФ. 2 нормальная форма – отношения находятся во 2НФ, если оно находится в 1НФ и каждый не ключевой атрибут функционально полно зависит от ключевого атрибута. 4. (наименование тов., цена тов.) 5. (№ счёта, наименование тов., кол-во). В этих таблицах аномалий нет, однако в таблице с поставщиками присутствует транзитивная зависимость, которая является источником аномалий. Транзитивная зависимость – это зависимость между не ключевыми атрибутами. 3 нормальная форма – отношения находятся в 3НФ, если оно находится во 2НФ и каждый не ключевой атрибут не транзитивно зависит от первичного ключа. Опр. Полное функциональная зависимость – в некотором отношении атрибут В называется полностью функциональной зависимомтью от атрибута Х, если атрибут В функционально зависит от полного значения атрибута Х и не зависит ни от какого подмножества полного значения атрибута Х. Лечение (ФИО врача, ФИО пациента, дата назначения, лекарства) – это полная функциональная зависимость. Покупка (№ счёта, товар, кол-во, цена тов.) цена зависит только от части ключевого ключа поле товар – это неполная функциональная зависимость. Опр. Транзитивная зависимость – если для атрибутов Х,У и Z некоторого отношения существуют зависимости вида Х – У, У – В, то говорят, что атрибут В транзитно зависит от атрибута Х через атрибут У. Зачёт (табельный № препод., дата зачёта, время зачёта, аудитория, вместимость). ((№ счёта название постав., дата поставки, адрес)). Рассмотренные выше таблицы не содержат явных аномалий модификации и удовлетворяют 2НФ, однако таблицы №3 содержит транзитивную зависимость, поэтому необходимо выполнить её декомпозицию и привести к 3НФ: 6. (название постав., адрес) 7. (№ счёта, дата постав., название поставщика). Таким образом итоговая БД будет включать в себя № таблицы 4, 5, 6, 7 которые удовлетворяют требованием 3НФ.

  1. Нормализация баз данных. Нормальная форма Бойса – Кодда.

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

Опр. Для 3НФ было дано кодом для ситуаций с упрощающей картиной допущения того, что отношение имеет только 1 потенциальный ключ, который является первичным. Естественно отношения могут соответствовать этим жестким требованиям более обобщающими являются случи когда в наличии, когда могут быть выявлены следующие условия: 1) имеются 2 или более составных потенциальных ключа. 2) потенциальные ключи перекрываются т.е. имеют хотя бы 1 общий атрибут. (№ сотрудника, № клиента, дата, время, Комната). 1) дата, время, комната - - № сотруд., № клиента. 2) № сотруд., дата, время - - № клиента. 3) № клиента, дата - - определяют № сотруд., время, комната.

Детерминант – это атрибут или совокупность атрибутов от которых зависят другие атрибуты. Опр. Отношение находится в НФБойса-Кода тогда и только тогда, когда каждый его детерминант является потенциальным ключом. 1. (№ сотр., № клиента, дата, Время) 2. (№ сотр., дата, комната). Для того что бы привести отношение к НФБойса-Кода необходимо вынести его детерминант в отдельную таблицу. Пример – задача. Поставка ( код поставщика, имя поставщика, код товара, кол-во товара). 1. Код постав., код товара. 2. Имя пост., код товара. 1 вариант: Код постав. - - Имя поставщика – детерминант. 2. Поставщик: (код постав., имя поставщика). 1. Поставка: (код постав., код товара, кол-во). 2 вариант: Имя постав. - - код поставщика. Поставка (имя пост., код товара, кол-во). Поставщик (имя пост, код поставщика).