Нормализация реляционных баз данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Нормализация реляционных баз данных



Под нормализацией отношения подразумевается процесс приведения отношения к одной из так называемых нормальных форм (или в дальнейшем НФ).

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

Итак, что же представляет собой процесс нормализации? Фактически это не что иное, как последовательное преобразование исходной БД к НФ, при этом каждая следующая НФ обязательно включает в себя предыдущую (что, собственно, и позволяет разбить процесс на этапы и производить его однократно, не возвращаясь к предыдущим этапам). Всего в реляционной теории насчитывается 6 НФ:

1.1-я НФ (обычно обозначается также 1НФ).

2.2НФ.

3.3НФ.

4.НФ Бойса-Кодда (НФБК).

5.4НФ.

6.5НФ.

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

Первая нормальная форма (1НФ) - отношение, в котором на пересечении каждой строки и каждого столбца содержится только одно значение.

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

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

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

Четвертая нормальная форма (4НФ)- отношение в нормальной форме Бойса-Кодда, которое не содержит нетривиальных многозначных зависимостей.

Пятая нормальная форма (5НФ)- отношение без зависимостей соединения. Пятая нормальная форма (5НФ), которая также называется проективно-соединительной нормальной формой, или ПСНФ (project-joinnormalform—PJNF), означает, что отношение в такой форме не имеет зависимостей соединения.

Основные понятия реляционной алгебры

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

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

Основные понятия реляционного исчисления

Если сформулировать тот же запрос с использованием реляционного исчисления, то мы получили бы формулу, которую можно было бы прочитать, например, следующим образом:

-Выдать СОТР_ИМЯ и СОТР_НОМ для сотрудников таких, что существует отдел с таким же значением ОТД_НАЧ и значением ОТД_КОЛ большим 3.

Во второй формулировке мы указали лишь характеристики результирующего отношения, но ничего не сказали о способе его формирования. В этом случае система должна сама решить, какие операции и в каком порядке нужно выполнить над отношениями СОТРУДНИКИ и ОТДЕЛЫ.

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

 

Этапы создания БД в Access

Этапы проектирования РБД:

1. Построение информационно-логической модели данных предметной области

2. Определение структуры РБД

3. Конструирование таблиц БД

4. Создание схемы данных

5. Ввод данных в таблицы

Порядок создания РБД:

1. Создать таблицы в режиме Конструктор

2. Установить связи между таблицами

3. Создать формы для таблиц

4. Заполнить таблицы РБД через формы

Создание таблицы в режиме КОНСТРУКТОР: в режиме КОНСТРУКТОР задаются названия и типы полей таблицы, формат данных.

Устанавливать связь между одноименными полями двух реляционных таблиц, проводя линию связи от КЛЮЧЕВОГО поля ГЛАВНОЙ таблицы к одноименному полю ПОДЧИНЕННОЙ.

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

В процессе создания связей 1:1 и 1:М необходимо задавать ОБЕСПЕЧЕНИЕ ЦЕЛОСТНОСТИ ДАННЫХ

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

Если же установлен только параметр "Обеспечение целостности данных", то при попытке нарушить условие целостности данных Access выдает предупреждение.

 



Поделиться:


Последнее изменение этой страницы: 2017-01-26; просмотров: 109; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.84.155 (0.006 с.)