Нормализация отношений. Важность построения непротиворечивой архитектуры БД.

Приведение к нормальной форме

Отношение, состоящее из всех атрибутов, автоматически находится в 1НФ:

  • (Время начала, Клиент, Название тарифа, Продолжительность, ФИО, Цена в час, Член клуба, № Корта)

Найдем потенциальные ключи:

  • (№ Корта, Время начала)

Чтобы привести эту схему к НФБК, рассмотрим ФЗ, не удовлетворяющие НФБК:

  • Клиент → (ФИО, Член клуба)
  • Название тарифа → Цена в час
  • (Член клуба, № Корта) → Название тарифа

Прочие ФЗ:

  • (№ Корта, Время начала) → (Клиент, Продолжительность)

Выделяя атрибуты каждой из ФЗ в новое отношение:

  • (Клиент, ФИО, Член клуба)
  • (Название тарифа, Цена в час)
  • (Член клуба, № Корта, Название тарифа)

Исключая из исходного отношения все атрибуты, которые входят в правые части ФЗ, не удовлетворающих НФБК, и не входят в левые части других ФЗ, получаем:

  • (Время начала, Клиент, Продолжительность, № Корта)

Получаем:

  • (№ Корта, Время начала, Клиент, Продолжительность)
  • (Название тарифа, Член клуба, № Корта)
  • (Название тарифа, Цена в час)
  • (Клиент, ФИО, Член клуба)

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