рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Четвертая нормальная форма

Четвертая нормальная форма - раздел Программирование, Среда Delphi широко известна и не вызывает дополнительных трудностей при изучении и использовании   Рассмотрим Таблицу R (Subj, Teach, Book), Где Subj – Учебный ...

 

Рассмотрим таблицу R (Subj, Teach, Book), где Subj – учебный предмет, Teach- преподаватель по этому предмету, Book – книга, рекомендуемая преподавателем Teach для изучения предмета Subj. Приведем пример заполнения таблицы R.

Таблица 1

Записи таблицы R

Subj Teach Book
Математика Иванов Учебник
Математика Иванов Задачник
Математика Иванов Методичка
Математика Петров Учебник
Математика Петров Задачник
Математика Петров Методичка

 

Единственным ключом таблицы R является совокупность всех трех полей. Использование определенным преподавателем некоторой книги может быть показано только наличием соответствующей записи в таблице.

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

Можно избежать этих неудобств, разложив отношение R на два отношения R1 (Subj, Teach) и R2 (Subj, Book), имеющих две и три записи соответственно. Тогда при включении нового преподавателя добавится единственная запись в таблицу R1, а при расширении списка книг потребуется дополнить таблицу R2 одной записью. Такая декомпозиция отношения R называется разложением без потерь.

В этом примере мы имеем дело с многозначными зависимостями атрибутов Teach и Book от атрибута Subj, которые обозначаются двойной стрелкой, то есть Subj » Teach и Subj » Book. При многозначной зависимости совокупностей атрибутов X и Y (X » Y) каждое значение X определяет множество значений Y, которое не зависит от других атрибутов отношения. Пока это только пояснение, а не строгое определение. Непонятно, что значит “не зависит от других атрибутов отношения”. Строгое определение будет дано позже. Функциональная зависимость является частным случаем многозначной зависимости.

Допустим сейчас, что преподавание математики менее стандартизовано. Пусть, например, преподаватель Петров не использует методички, то есть таблица R содержит только первые пять записей. При декомпозиции на отношения R1 и R2 у нас ничего не изменится, то есть окажется невозможным установить потерю одной записи в таблице R. Такая декомпозиция называется разложением c потерей информации, что, естественно, недопустимо. Оказывается, что в этом случае многозначные зависимости отсутствуют, то есть атрибуты Teach и Book взаимозависимы.

Может показаться, что другой вариант разложения отношения R на отношения R1 (Subj, Teach) и R3 (Teach, Book) решает все проблемы. Это не так. Если преподаватель ведет несколько предметов, то невозможно понять связь книг с предметами.

Рассмотрим еще один пример. Пусть сейчас таблица R (City, Day, Model) содержит сведения о самолетных рейсах и имеет следующий вид.

 

Таблица 2

Записи таблицы R

City Day Model
Йошкар-Ола Понедельник
Йошкар-Ола Четверг
Йошкар-Ола Понедельник A380
Йошкар-Ола Четверг A380
Казань Среда
Казань Среда

 

Отношение R разлагается без потерь на два отношения R1 (City, Day) и R2 (City, Model), показанные в таблицах 3 и 4.

 

Таблица 3

Записи таблицы R1

City Day
Йошкар-Ола Понедельник
Йошкар-Ола Четверг
Казань Среда

 

Таблица 4

Записи таблицы R2

City Model
Йошкар-Ола
Йошкар-Ола A380
Казань
Казань

 

Если же удалить рейс (Йошкар-Ола, Понедельник, A380) из таблицы R, то таблицы R2 и R3 не изменятся, но это уже будет разложение с потерями.

Дадим строгое определение многозначной зависимости [4]. Пусть в отношении R имеются два множества атрибутов X и Y. Обозначим через Z оставшиеся атрибуты отношения R, то есть Z = R - (X, Y). Множество атрибутов Y отношения R многозначно зависит от множества атрибутов X ( X » Y), если для любых двух кортежей (x1, y1, z1) и (x1, y2, z2) в отношении существуют также кортежи (x1, y1, z2) и (x1, y2, z1).

Для практики важны случаи, когда возможно разложение отношения без потерь, поэтому из рассмотрения исключают так называемые тривиальные многозначные зависимости. Многозначную зависимость называют тривиальной, если множество атрибутов X включает в себя множество атрибутов Y либо X и Y охватывают все атрибуты отношения. Функциональная зависимость также относится к тривиальным многозначным зависимостям

Доказано, что нетривиальные многозначные зависимости от одного и того же множества атрибутов всегда бывают парными, то есть если X » Y, то и X » Z. Поэтому их часто представляют вместе в виде X »Y | Z. Разложение отношения R (X, Y, Z) без потерь на R1 (X, Y) и R2 (X, Z) возможно только в случае наличия многозначных зависимостей X » Y и X » Z.

В первом примере с отношением R (Subj, Teach, Book) имелись многозначные зависимости Subj » Teach и Subj » Book. После удаления последней записи многозначных зависимостей не осталось.

Действительно, рассмотрим кортежи (Математика, Иванов, Методичка) и (Математика, Петров, Учебник). Кортежа (Математика, Петров, Методичка) в отношении уже нет, что показывает отсутствие многозначной зависимости.

В примере с рейсами после удаления третьей записи рассмотрим кортежи (Йошкар-Ола, Понедельник, 747) и (Йошкар-Ола, Четверг, A380). Снова запись (Йошкар-Ола, Понедельник, A380) отсутствует. Значит, многозначной зависимости нет, и разложение без потерь невозможно.

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

На практике приведение к четвертой НФ встречается редко. Наличие многозначных зависимостей устанавливаются по смыслу информации, а не формальному определению. Разложение без потерь возможно, если Y и Z в прежних обозначениях не имеют взаимного влияния.

Приведем в заключение некоторые важные аспекты, связанные с нормализацией БД.

1. Наряду с очевидными достоинствами нормализация имеет и нежелательные эффекты. Увеличение числа таблиц уменьшает наглядность восприятия информации, увеличивает трудоемкость запросов за счет установления связи таблиц. Для достижения наглядности разрабатывают программным образом удобные для пользователя формы предъявления информации, а также используют представления (виртуальные таблицы, заполняемые в процессе вычислений). Для снижения трудоемкости большие усилия прилагаются в области оптимизации запросов.

2. Нормализации подлежит логическая структура БД, а не физическое представление данных. Характер зависимостей определяет семантика (смысл) данных.

3. В качестве основного метода нормализации рассмотрена декомпозиция таблиц. При большом количестве атрибутов и неочевидном характере зависимостей процесс декомпозиции отличается высокой трудоемкостью и сложностью. Для преодоления этих недостатков разработан алгоритм синтеза [4]. Этот метод помимо сложности не гарантирует получение НФБК, но приводит к так называемым LTK-нормальным формам.

 

– Конец работы –

Эта тема принадлежит разделу:

Среда Delphi широко известна и не вызывает дополнительных трудностей при изучении и использовании

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Четвертая нормальная форма

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

Модели данных СУБД
  Коцептуальной моделью данных в БД называют глобальное логическое описание данных. Структуры данных коцептуальной модели влияют на все характеристики СУБД, охватывая · языки

Двенадцать правил Кодда для реляционных СУБД
В статье, опубликованной в 1985 году [3], Э. Кодд сформулировал двенадцать правил, которым должна соответствовать настоящая реляционная БД. Они являются полуофициальным определением понятия

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

Нормальная форма Бойса-Кодда
  Пусть в определенном выше отношении SP присутствует еще и имя поставщика Sname. Будем для удобства считать, что имя однозначно определяет поставщика. Тогда в отношении SP (Sn, Sname

Семантическое моделирование данных.
Элементы модели "сущность-связь" Семантическое моделирование данных на основе ER-диаграмм компактно и доступно изложено в [5], и мы будем следовать этому источни

В реляционной СУБД
  Одним из главных достоинств иерархических и сетевых СУБД считают естественность представления данных иерархической и сетевой природы. А как представлять такие данные в реляционных С

Основы реляционной алгебры
  Реляционная алгебра представляет собой совокупность операций над отношениями. Операндами и результатами операций являются отношения. Рассмотрим основные операции реляционной алгебры

Основы реляционного исчисления
  Реляционное исчисление это математический аппарат, который позволяет путем использования исчисления предикатов, кванторов и переменных описывать отношения и операции над ними в виде

Общая характеристика и стандарты языка SQL
  Язык SQL (Structered Query Language) впервые появился в рамках проекта разработки экспериментальной реляционной СУБД System R в исследовательской лаборатории фирмы IBM в 1975-1979 г

Многотабличные запросы SQL. Соединения таблиц. Самосоединения. Псевдонимы
  Запросы могут выбирать данные изнескольких таблиц. Эти таблицы должны быть перечислены после слова FROM. Если таблицы не связаны между собой, то результатом запроса будут всевозможн

Внешнее соединение таблиц
  Рассмотренные соединения называют внутренними (INNER JOIN). В некоторых случаях требуются соединения другого вида – внешние соединения (OUTER JOIN). Рассмотрим две таблицы A (Stud,

Для реализации итоговых запросов в SQL имеются следующие стандартные функции, которые называют агрегатными
· MAX (поле) – максимальное значение поля; · MIN (поле) – минимальное значение поля; · AVG (поле) – среднее значение поля; · SUM (поле) – сумма значений поля; ·

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

Целостность данных
  Термин “целостность данных” относится к правильности и полноте информации, содержащейся в БД. Вероятно, корректнее говорить о непротиворечивости данных, поскольку невозможно предотв

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

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

Представления и работа с ними
  Представлением (VIEW) называется SQL-запрос на чтение, которому присвоили имя и сохранили в БД. Представление является виртуальной таблицей, то есть обеспечивает доступ к результата

Обеспечение безопасности баз данных в SQL
  Под безопасностью БД понимают защиту данных от несанкционированного чтения, изменения или уничтожения. Язык SQL позволяет индивидуально защищать как целые таблицы, так и отдельные и

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

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

Элементы языка QBE
  Язык QBE (Query By Example – запрос по образцу) был разработан в компании IBM в 1975 году. Это язык реляционного исчисления с переменными на доменах, рассчитанный на работу в интера

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

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги