
- •Инфологическое моделирование в виде er – моделей. Основные понятия, характеристики, свойства и связи.
- •1.Сущность.
- •2.Атрибут.
- •3. Ключ
- •4. Связь
- •2.3.2. Язык инфологического моделирования (яим) "Сущность-связь". Классификация сущностей.
- •2.3.2. Язык инфологического моделирования "Таблица-связь".
- •2.4. Пример построения инфологической модели базы данных "Питание"
- •Операции агрегации, обобщения, ассоциации над единицами информации, их отображение в e-r – моделях.
- •Даталогическая модель данных
- •1.3.1. Иерархическая даталогическая модель
- •1.3.3. Даталогическая модель на основе инвертированных списков
- •1.3.4. Реляционная даталогическая модель
- •1.3.5. Объектно- реляционная даталогическая модель
- •Основные понятия реляционных баз данных: отношения, атрибуты, домены, кортежи, ключи.
- •2.1.1. Тип данных
- •2.1.2. Домен
- •2.1.3. Схема отношения, схема базы данных
- •2.1.4. Кортеж, отношение
- •Основные свойства отношений реляционных баз данных
- •2.3.1 . Отсутствие кортежей-дубликатов
- •2.3.2 . Отсутствие упорядоченности кортежей
- •2.3.3 . Отсутствие упорядоченности атрибутов
- •2.3.4 . Атомарность значений атрибутов
- •Нормализация отношений
- •3.2.1. Пример декомпозиции исходной «универсальной» таблицы на простые отношения.
- •3.2.2. Проблемы, возникающие при использовании универсального отношения
- •3.2.3. Первая нормальная форма (1nf).
- •3.2.4. Вторая нормальная форма (2nf)
- •3.2.5. Третья нормальная форма (3nf)
- •3.2.6. Нормальная форма Бойса-Кодда (bcnf)
- •3.2.7. Четвертая нормальная форма (4nf). Пятая нормальная форма, или нормальная форма проекции-соединения (5nf или pj/nf)
3.2.6. Нормальная форма Бойса-Кодда (bcnf)
Рассмотрим внимательно таблицы, представленные на рис. 3.2.2.1.Среди них таблицы «Блюда» и «Продукты» не удовлетворяют определению 3НФ. Действительно, в этих таблицах имеются функциональные зависимости между неключевыми полями: Блюдо->Вид и Продукт->Калорийность. Следовательно, для приведения таблиц «Блюда» и «Продукты» к 3НФ их надо разбить на ^ Блюда(Код блюда, Блюдо), Вид_блюда(Код блюда, Вид); Продукты(Код продукта, Продукт); Калор_прод(Код продукта,Калорийносить), хотя интуиция подсказывает, что это лишнее разбиение, совсем не улучшающее проекта базы данных. Столкнувшись с подобными несуразностями, которые могут возникать не только из-за введения кодированных первичных ключей, теоретики реляционных систем Кодд и Бойс обосновали и предложили более строгое определение для 3НФ, которое учитывает, что в таблице может быть несколько возможных ключей. ^ Таблица находится в нормальной форме Бойса-Кодда, если и только если любая функциональная зависимость между его полями сводится к полной функциональной зависимости от возможного ключа. В соответствие с этой формулировкой таблицы «Блюда» и «Продукты» рис. 3.2.2.1, имеющие по паре возможных ключей (Код блюда, Блюдо) и (Код продукта, Продукт) находятся в НФБК или в 3НФ. ^
3.2.7. Четвертая нормальная форма (4nf). Пятая нормальная форма, или нормальная форма проекции-соединения (5nf или pj/nf)
В следующих нормальных формах (4НФ и 5НФ) учитываются не только функциональные, но и многозначные зависимости между полями таблицы. Для их описания познакомимся с понятием полной декомпозиции таблицы. Полной декомпозицией таблицы называют такую совокупность произвольного числа ее проекций, соединение которых полностью совпадает с содержимым таблицы. Например, естественным соединением таблиц рис. 3.2.2.1 можно образовать исходную таблицу, приведенную на рис. 3.2.1.2. Следовательно, таблицы рис. 3.2.2.1 являются полными декомпозициями таблицы Питание рис. 3.2.1.2. Теперь можно дать определения высших нормальных форм. И сначала будет дано определение для последней из предложенных – 5НФ. ^ Таблица находится в пятой нормальной форме (5НФ) тогда и только тогда, когда в каждой ее полной декомпозиции все проекции содержат возможный ключ. Таблица, не имеющая ни одной полной декомпозиции, также находится в 5НФ. ^ Четвертая нормальная форма является частным случаем 5НФ, когда полная декомпозиция должна быть соединением ровно двух проекций. Весьма не просто подобрать реальную таблицу, которая находилась бы в 4НФ, но не была бы в 5НФ.