![](/user_photo/2706_HbeT2.jpg)
- •Введение.
- •Информация и данные.
- •Выч. Система
- •Админ-р
- •Жизненный цикл БнД.
- •Классификация БнД.
- •Преимущества организации субд.
- •Недостатки организации бд.
- •Проектирование бд. (общий подход)
- •Независимость данных (2 уровня).
- •Концептуальное проектирование. Модели данных. Модель сущность-связь.
- •Инфологические мд.
- •Модель результ.
- •Объединение локальных моделей в глобальные.
- •Логическое проектирование.
- •Сетевая модель данных.
- •Правила построения сетевой модели.
- •Реляционная модель данных.
- •Плоский файл.
- •Хронологическая модель данных.
- •Операции над данными.
- •Операции реляционной алгебры.
- •Операторы обновления:
- •Реляционные сравнения:
- •Реляционное исчисление с переменными-кортежами.
- •Реляционное исчисление с переменными на доменах.
- •Реляционные ямд.
- •Язык запросов в sql.
- •Защита баз данных.
- •Функциональные зависимости.
- •Покрытие множества зависимостей.
- •Вычисление замыканий.
- •Декомпозиция схем отношений.
- •Нормализация отношений.
- •Алгоритм1: пополняющий декомпозицию схем отношений, которая обладает свойством соединения без потерь и приводит к отношениям находящимся в нфбк.
- •Алгоритм 2: приведения отношения к 3нф, использующей декомпозицию, сохраняющую функциональные зависимости.
- •Многозначные зависимости.
- •Правила вывода (аксиомы) для многозначных зависимостей.
- •Аксиомы, связывающие функциональные зависимости и многозначные зависимости.
- •Правила вывода:
- •Алгоритм вычисления базиса:
- •Секретность данных.
- •Физическая организация бд.
- •Методы доступа к данным.
- •Оптимизация запросов.
- •Общие стратегии оптимизации:
- •Законы оптимизации.
- •Алгоритм оптимизации выражений ра.
- •Точная оптимизация для подмножества реляционных запросов.
- •Минимизация конъюнктивных запросов.
- •Правила построения табло запросов:
- •Метод нахождения min-го запроса для простого тз.
- •Параллельные операции над бд.
- •Основные понятия.
- •Бесконечные ожидания и тупики.
- •Протоколы и расписание.
- •Простая модель транзакции.
- •Метод, позволяющий определить сериализуемость расписания.
- •Модель с блокировками для чтения и записи.
- •Параллельный доступ к иерархически структурированным элементам.
- •Алгоритм проверки сериализуемости расписания.
- •Защита от отказов.
- •Меры для восстановления бд.
- •Модификация запросов в распределенных бд.
- •Фрагменты отношений.
Операции реляционной алгебры.
Т.к. отношение – это множество, то к нему применяются операции над множествами. Введем отношения одной арности R и S. Они заданы с какими-то схемами: R( ), S( ).
;
;
\
;
R – арность n1
S – арность n2
;
операция селекции (выбора) – унарная операция над отношениями. Результатом ее применения к отношению является другое отношение, которое представляет собой подмножество кортежей отношения .
;
F
– формула, в которую входит атрибут,
логические связки
,
константы, арифметические операторы
сравнения
,
а также могут быть использованы скобки.
Пример: Студент(ФИО; год рождения; группа; № зач. книжки)
A1 A2 A3 A4
A3 = 644 & A2 = 1979
Свойства селекции:
операторы выбора коммутативны относительно операции композиции:
,
где
–
отношение со схемой
.
Т.к. порядок выбора не важен, то
может быть записано как:
(
не обязательно различны).
Доказательство:
оператор выбора дистрибутивен относительно бинарных булевых операций:
Доказательство:
3. Выбор и дополнение не коммутируются.
Проекция – унарная операция на отношении. Определим ее.
Пусть
– отношение со схемой
и
– подмножество из
.
Проекция
на
,
записанная как
есть отношение
,
полученное вычеркиванием столбцов,
соответствующих атрибутам в
,
и исключением из оставшегося отношения
повторяющихся строк.
;
Пример:
(студент)
(студент))
Свойства:
Операции проекции и выбора коммутативны, если атрибуты, на которые проводится операция выбора, принадлежат множеству атрибутов, на которые осуществляется проекция. Если
,
и – отношение со схемой , то:
.
Доказательство:
Если две проекции выполняются последовательно и вторая из них – собственная, то она поглощает первую: если
применимо к , то результат будет тем же самым, как при применении непосредственно к , если первоначальное применение было собственным.
.
Связь между проекцией и булевскими операциями:
.
Соединение – бинарный оператор для комбинирования двух отношений. Пусть заданы отношение со схемой , арности
, и отношение
со схемой
, арности
:
Если
декартово произведение (
).
операция соединения по общим атрибутам (естественное соединение; )
Пример:
R(A
B C)
S(B
C D)
(A
B C D)
a b c b c d a b c d
d b c b c e a b c e
b b f a d b d b c d
c a d d b c e
c a d b
Свойства соединения (естественного):
Операцию соединения можно использовать для определения операции выбора.
Операция соединения коммутативна и ассоциативна:
Операции соединения и проекции образуют дополняющие друг друга функции, хотя и не являются взаимно-обратными.
Операция соединения дистрибутивна относительно операции объединения:
.
Пример:
R(A
B C)
S(D
E)
(A
B C D E)
a1 b1 c1 d1 e1 a1 b1 c1 d1 e1
a1 b2 c2 d2 e2 a1 b1 c1 d2 e2
a2 b1 c2 a1 b2 c2 d1 e1
a1 b2 c2 d2 e2
a2 b1 c2 d1 e1
a2 b1 c2 d2 e2
Операция Θ – соединения.
Пусть
и
– два отношения со схемами
,
,
для которых
,
и пусть
и
-сравнимы
(
- арифметический оператор сравнения:
).
Тогда
для
и для
таких, что
является комбинацией кортежей
и
при условии
и
.
–
арность отношения
.
Пример:
R(A
B C)
S(D
E)
(A
B C D E)
a1 b1 c1 a1 e1 a1 b1 c1 a1 e1
a1 b2 c2 a2 e2 a1 b2 c2 a1 e1
a2 b1 c2
Если в операции Θ – соединения присутствует знак “=”, то операцию называют эквисоединением. Если присутствуют другие операции – это Θ – соединение.
Свойства эквисоединения:
а) Пусть для отношения надо найти
. Определим новое отношение
с единственным кортежем таким, что
. Тогда
есть то же самое, что :
такие,
что
и
.
б)
Используя соединения можно сконструировать
обобщенную
операцию выбора.
Введем отношение
с
кортежами
,
где
и
.
Тогда
.
в)
Если выбрать 2 атрибута
и
из
и взять в качестве
отношение
с единственным кортежем
таким, что
и
,
то
.
Оператор соединения коммутативен и ассоциативен:
.
Пусть и – отношения.
со схемой
. Пусть
,
.
и , при этом лежит в или
, а . Если , то
. Если
, то
. Тем самым показано, что
. Докажем
. Выберем
или
. В обоих случаях
.
Дополнение отношения R со схемой R( ) можно определить как разность
,
dom(R) – это отношение, состоящее из кортежей декартова произведения доменов отношения R.
Пример:
R(A
B C)
dom(R)(A
B C)
(A
B C)
a1 b1 c1 a1 b1 c1 a1 b2 c1
a1 b2 c2 a1 b2 c1 a1 b3 c1
a2 b2 c2 a1 b3 c1 ………
……… a2 b3 c2
a2 b3 c2
Однако,
если какой-либо атрибут Ai
имеет бесконечный домен,
также будет бесконечным и не будет
отношением в обычном понимании.
Модифицированная версия дополнения,
называемая активным дополнением
отношения, всегда дает отношение.
Определим его. Если
– отношение, и
, то активным доменом Ai
относительно
R
называется множество
.
Пусть
– множество всех кортежей надатрибутами
из
и их активными доменами относительно
.
Активным
дополнением
является
.
Пример: R(A B C) adom(R)(A B C )
a1 b1 c1 a1 b1 c1
a1 b2 c2 a1 b2 c1
a2 b2 c2 a1 b1 c2
a1 b2 c2
В действительности, трудно себе представить ситуацию, где бы дополнение отношения полностью имело бы смысл, за исключением быть может унарного отношения (отношения с одним атрибутом). Активное дополнение может возникнуть естественно.
Операция деления.
Пусть
и
отношения арности
и
соответственно,
и
.
Тогда
есть множество кортежей
длины
таких, что для любых кортежей
:
:
Пример:
R(A
B)
S(B)
T(B)
(A)
(A)
a1 b1 b1 b1 a1 a1
a1 b2 b2 a3 a2
a1 b3 b3 a3
a2 b1
a2 b2
a3 b1
a3 b2
a3 b3
Операция переименования.
Пусть
задано отношение
,
является атрибутом отношения
,
а
не является атрибутом
.
Тогда отношение
с
,
переименованным в
,
обозначенное
есть отношение:
.
и должны иметь один и тот же домен.
Одновременное переименование:
Пусть имеем отношение
;
– различные атрибуты, принадлежащие
,
а
– различные атрибуты, не принадлежащие
,
причем
.
Обозначим одновременное переименование
атрибутов
в
соответственно в отношении
как
.
Замечание: Одновременное переименование
атрибутов не всегда можно представить
в виде последовательности переименований
отдельных атрибутов:
.
В этом случае нужно вводить дополнительный
атрибутный символ.
РЕЛЯЦИОННАЯ АЛГЕБРА.
Реляционную алгебру определим как:
РА=<U, D, F, Rсх, O>,
где U – множество всех возможных атрибутов, называемое универсумом;
D – множество доменов;
F: U → D;
Rсх – множество всех возможных схем отношений, заданных на данном множестве атрибутов;
О – множество операций, заданных на отношениях со схемами из Rсх :
↓
РА
с операцией дополнения.
Операции
РА определил Кодд (за исключением
операции переименования). Min
OРА<
O,
т.к.
можем
определить через другие операции.
Цель
РА – описать выражение для получения
нового отношения (это выражение РА).
Выражением РА называется любое выражение,
правильно построенное (согласующееся
с ограничениями, наложенными на операторы)
из отношений, использующих операторы
из О. В выражении могут быть круглые
скобки, именно они определяют порядок
выполнения операций, т.к. все операции,
за исключением
,
равноправны.
Отсюда следует свойство замкнутости: т.к. результатом каждой реляционной операции является одно отношение, то каждое выражение РА определяет функцию, которая отображает множество отношений, входящих в выражение РА, в одно отношение.
Схема
полученного отношения будет зависеть
от схем множества отношений, составляющих
алгебру выражения
.
– схема алгебраического выражения
.
Схему алгебраического выражения можно
определить рекурсивно:
Если выражение Е состоит из одного отношения Ri, то
;
Если выражение
, где
– некоторое множество условий, то
;
Если
, то
;
Если
, то
;
Если
, то
;
Если
, то
.
Реляционная алгебра с дополнением: если к множеству операций О добавить дополнение. Алгебраические выражения, содержащие дополнение, отображают множество отношений в бесконечное отношение.
Восемь операторов Кодда не представляют минимального набора операторов, т.к. не все из них примитивны. Например, естественное соединение – это проекция выборки декартового произведения. Фактически 3 операции из этого набора (соединение, пересечение, деление) можно определить через оставшиеся 5. Следовательно, эти 5 операций можно рассматривать как примитивные и составляющие минимальный набор.
РА представляет собой в явном виде набор операций, которые можно использовать, чтобы сообщить системе, как в БД из заданных отношений реально построить новое отношение.
РИ представляет собой систему обозначений для определения нового отношения в терминах данных отношений.
Возможные применения выражений РА:
определение области выборки, т.е. определение данных для их выбора как результата операции выборки;
определение области обновления, т.е. определение данных для их вставки, изменения или удаления, как результата операции обновления;
определение именованных (виртуальных) отношений, т.е. определение данных для их визуализации через представления;
определение снимка, т.е. определение данных для сохранения их в виде мгновенного снимка отношения;
определение правил безопасности, т.е. определение данных, для которых осуществляется контроль доступа;
определение требований устойчивости, т.е. определение данных, которые входят в область для некоторых операций управления одновременным доступом;
определение правил целостности, т.е. некоторых особых правил, которым должна удовлетворять БД.
Выражения РА служат для символического высокоуровневого представления намерений пользователя.
Дейт, ссылаясь на работы Тодда и Дарвена, предложил новые алгебраические операторы: расширение и подведение итогов. Оператор расширения обеспечивает возможность горизонтального или построчного вычисления в алгебре. Оператор подведения итогов выполняет аналогичную функцию для вертикальных вычислений.
В описанной алгебре нет средств для скалярных вычислений. На практике это часто используется. Для этих целей и вводится оператор расширения:
Расш.(R)
– арифметическое
выражение, операндами которого являются
атрибуты отношения
.
Новое
отношение
похоже на исходное
,
но содержит дополнительный атрибут,
значения которого получены посредством
некоторых скалярных вычислений. В
качестве
может быть взята функция:
Операция подведения итогов: