Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
4 Теоретические основы реляционных баз данных
Основными понятиями реляционных баз данных являются тип данных, домен, атрибут,
кортеж, первичный ключ и отношение.
А
А1
а
e
k
В
B1
b
f
l
B2
c
g
m
С
C1
d
h
n
(домены)
(атрибуты)
(кортежи)
4 Теоретические основы реляционных баз данных
Домен – допустимое потенциальное множество значений данного типа.
Домен – множество элементов, которое может описывать некоторые свойства объекта.
Схема отношения - это именованное множество пар {имя атрибута, имя домена (или типа,
если понятие домена не поддерживается)}. Степень или "арность" схемы отношения - мощность этого множества.
Схема БД (в структурном смысле) - это набор именованных схем отношений.
Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута,
значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего
схеме отношения. Степень или "арность" кортежа, т.е. число элементов в нем, совпадает с
"арностью" соответствующей схемы отношения. Кортеж - это набор именованных значений
заданного типа.
Декартовым произведением доменов называется множество всех кортежей длины k, состоящих из k элементов – по одному из каждого домена:
D D1 u D2 u ... u Dk .
Отношение – представляет собой подмножество декартова произведения доменов.
Отношение - это множество кортежей, соответствующих одной схеме отношения.
4 Теоретические основы реляционных баз данных
Реляционная база данных - это набор отношений, имена которых совпадают с именами
схем отношений в схеме БД.
Фундаментальные свойства отношений
x Отсутствие кортежей-дубликатов
o Из этого свойства вытекает наличие у каждого отношения так называемого первичного ключа - набора атрибутов, значения которых однозначно определяют кортеж
отношения
x Отсутствие упорядоченности кортежей
o Отсутствие требования к поддержанию порядка на множестве кортежей отношения
дает дополнительную гибкость СУБД при хранении баз данных во внешней памяти
и при выполнении запросов к базе данных
x Отсутствие упорядоченности атрибутов
o Атрибуты отношений не упорядочены, поскольку по определению схема отношения есть множество пар {имя атрибута, имя домена}
x Атомарность значений атрибутов
o среди значений домена не могут содержаться множества значений (отношения)
В реляционных базах данных допускаются только нормализованные отношения или отношения, представленные в первой нормальной форме.
5 Проектирование реляционных БД
Проблема проектирования реляционной базы данных состоит в обоснованном принятии
решений:
x из каких отношений должна состоять БД
x какие атрибуты должны быть у этих отношений.
Проектирование реляционных баз данных с использованием нормализации
Процесс проектирования представляет собой процесс нормализации схем отношений,
причем каждая следующая нормальная форма обладает свойствами лучшими, чем предыдущая.
Каждой нормальной форме соответствует некоторый определенный набор ограничений, и отношение находится в некоторой нормальной форме, если удовлетворяет свойственному ей набору ограничений.
Последовательность нормальных форм:
первая нормальная форма (1NF);
вторая нормальная форма (2NF);
третья нормальная форма (3NF);
нормальная форма Бойса-Кодда (BCNF);
четвертая нормальная форма (4NF);
пятая нормальная форма, нормальная форма проекции-соединения (5NF или PJ/NF).
5 Проектирование реляционных БД
Основные свойства нормальных форм:
x каждая следующая нормальная форма в некотором смысле лучше предыдущей;
x при переходе к следующей нормальной форме свойства предыдущих нормальных
свойств сохраняются.
В основе процесса проектирования лежит метод нормализации, декомпозиция отношения,
находящегося в предыдущей нормальной форме, в два или более отношения, удовлетворяющих требованиям следующей нормальной формы.
Функциональная зависимость. В отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y: R.X (r) R.Y.
Полная функциональная зависимость. Функциональная зависимость R.X (r) R.Y называется полной, если атрибут Y не зависит функционально от любого точного подмножества
X.
Транзитивная функциональная зависимость. Функциональная зависимость R.X -> R.Y
называется транзитивной, если существует такой атрибут Z, что имеются функциональные
зависимости R.X -> R.Z и R.Z -> R.Y и отсутствует функциональная зависимость R.Z --> R.X.
(При отсутствии последнего требования мы имели бы "неинтересные" транзитивные зависимости в любом отношении, обладающем несколькими ключами.)
5 Проектирование реляционных БД
Неключевой атрибут. Неключевым атрибутом называется любой атрибут отношения, не
входящий в состав первичного ключа.
Взаимно независимые атрибуты. Два или более атрибута взаимно независимы, если
ни один из этих атрибутов не является функционально зависимым от других.
ПЕРВАЯ НОРМАЛЬНАЯ ФОРМА (1НФ)
Ограничение первой нормальной формы - значения всех атрибутов отношения атомарны.
Требование первой нормальной формы является базовым требованием классической
реляционной модели данных.
ВТОРАЯ НОРМАЛЬНАЯ ФОРМА (2НФ)
Отношение R находится во второй нормальной форме (2NF) в том и только в том случае, когда находится в 1NF, и каждый неключевой атрибут полностью зависит от первичного
ключа. (в определении предполагается, что единственным ключом отношения является
первичный ключ)
Отношение R находится во второй нормальной форме (2NF) в том и только в том случае, когда оно находится в 1NF, и каждый неключевой атрибут полностью зависит от каждого ключа R.
5 Проектирование реляционных БД
ТРЕТЬЯ НОРМАЛЬНАЯ ФОРМА (3НФ) (в определении предполагается, что единственным ключом отношения является первичный ключ)
Отношение R находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 2NF и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Отношение R находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 2NF, и каждый неключевой атрибут не является транзитивно зависимым от какого-либо ключа R.
Детерминант - любой атрибут, от которого полностью функционально зависит некоторый другой атрибут.
НОРМАЛЬНАЯ ФОРМА БОЙСА-КОДДА (БКНФ)
Отношение R находится в нормальной форме Бойса-Кодда (BCNF) в том и только в том
случае, если каждый детерминант является возможным ключом.
5 Проектирование реляционных БД
В отношении R (A, B, C) существует многозначная зависимость R.A -> -> R.B в том и
только в том случае, если множество значений B, соответствующее паре значений A и C,
зависит только от A и не зависит от С.
Теорема Фейджина
Отношение R (A, B, C) можно спроецировать без потерь в отношения R1 (A, B) и R2 (A,
C) в том и только в том случае, когда существует MVD A -> -> B | C.
Под проецированием без потерь понимается такой способ декомпозиции отношения,
при котором исходное отношение полностью и без избыточности восстанавливается путем
естественного соединения полученных отношений.
ЧЕТВЕРТАЯ НОРМАЛЬНАЯ ФОРМА (4НФ)
Отношение R находится в четвертой нормальной форме (4NF) в том и только в том
случае, если в случае существования многозначной зависимости A -> -> B все остальные
атрибуты R функционально зависят от A.
Отношение R (X, Y, ..., Z) удовлетворяет зависимости соединения * (X, Y, ..., Z) в том
и только в том случае, когда R восстанавливается без потерь путем соединения своих проекций на X, Y, ..., Z.
5 Проектирование реляционных БД
ПЯТАЯ НОРМАЛЬНАЯ ФОРМА (5НФ)
Отношение R находится в пятой нормальной форме (нормальной форме проекциисоединения - PJ/NF) в том и только в том случае, когда любая зависимость соединения в R
следует из существования некоторого возможного ключа в R.
ПОНЯТИЕ НОРМАЛЬНЫХ ФОРМ В ДИАГРАММАХ СУЩНОСТЬ-СВЯЗЬ
В первой нормальной форме ER-схемы устраняются повторяющиеся атрибуты или
группы атрибутов, т.е. производится выявление неявных сущностей, "замаскированных"
под атрибуты.
Во второй нормальной форме устраняются атрибуты, зависящие только от части уникального идентификатора. Эта часть уникального идентификатора определяет отдельную
сущность.
В третьей нормальной форме устраняются атрибуты, зависящие от атрибутов, не входящих в уникальный идентификатор. Эти атрибуты являются основой отдельной сущности.
5 Проектирование реляционных БД
ПРЕОБРАЗОВАНИЕ ИНФОЛОГИЧЕСКОЙ МОДЕЛИ В РЕЛЯЦИОННЫЕ ОТНОШЕНИЯ
Правило № 1
Если имеется связь степени 1 : 1 и класс принадлежности обеих сущностей обязательный, то требуется всего одна таблица. Первичным ключом этой таблицы может быть любой
из ключей сущностей.
Правило № 2
Если имеется связь степени 1 : 1 и класс принадлежности одной сущности является
обязательным, а другой - необязательным, то требуется две таблицы. Для каждой сущности необходимо создать свою таблицу, первичным ключом которой будет ключ этой сущности. Кроме того, первичный ключ сущности с необязательным классом принадлежности
должен быть добавлен в качестве атрибута в таблицу, созданную для сущности с обязательным классом принадлежности.
Правило № 3
Если имеется связь степени 1 : 1 и класс принадлежности обеих сущностей является
необязательным, то требуется три таблицы. Для каждой сущности необходимо создать
свою таблицу, первичным ключом которой будет ключ этой сущности. Кроме того, связующая таблица должна содержать в себе ключи связываемых таблиц в качестве атрибутов.
5 Проектирование реляционных БД
Правило № 4
Если имеется связь степени 1 : М и класс принадлежности М-связанной сущности является обязательным, то требуется две таблицы. Для каждой сущности необходимо создать свою таблицу, первичным ключом которой будет ключ этой сущности. Кроме того,
первичный ключ 1-связанной сущности должен быть добавлен в качестве атрибута в Мсвязанную таблицу.
Правило № 5
Если имеется связь степени 1 : М и класс принадлежности М-связанной сущности является необязательным, то требуются три таблицы. Для каждой сущности необходимо создать свою таблицу, первичным ключом которой будет ключ этой сущности. Кроме того,
связующая таблица должна содержать в себе ключи связываемых таблиц в качестве атрибутов.
Правило № 6
Если имеется связь степени М : N, то требуется три таблицы. Для каждой сущности
необходимо создать свою таблицу, первичным ключом которой будет ключ этой сущности.
Кроме того, связующая таблица должна содержать в себе ключи связываемых таблиц в
качестве ее атрибутов.