
- •I) Вопросы по теории
- •Назначение базы данных и субд.
- •Преимущества базы данных по сравнению с файловой системой.
- •Функции администратора базы данных
- •Трехуровневая архитектура ansi/sparc.
- •Назначение концептуального уровня в архитектуре ansi/sparc
- •Назначение внешнего и внутреннего уровней в архитектуре ansi/sparc
- •Что такое логическая и физическая независимость данных? Как она поддерживается с помощью архитектуры ansi/sparc
- •Иерархическая структура данных и ограничения целостности
- •Операции иерархической структуры данных
- •Insert кафедра
- •Insert преподаватель
- •Сетевая структура данных и ограничения целостности
- •Ограничения целостности.
- •Операции сетевой структуры данных
- •Insert [тип-записи] record into [тип-набора] set
- •Недостатки иерархической и сетевой структур данных
- •Реляционная структура данных
- •Ключи в реляционной модели данных
- •Реляционная алгебра. Теоретико-множественные операции. Примеры
- •Реляционная алгебра. Операции проекции и селекции. Примеры
- •Реляционная алгебра. Операции декартового произведения и соединения. Примеры
- •Реляционная алгебра. Операции эквисоединения, естественного соединения и полусоединения. Примеры
- •Реляционная алгебра. Операция деления.
- •Свойства операций реляционной алгебры. Эквивалентные преобразования.
- •Оптимизация вычисления выражений реляционной алгебры.
- •Кортежно-ориентированное реляционное исчисление
- •Реляционная полнота языков запросов реляционной модели данных
Свойства операций реляционной алгебры. Эквивалентные преобразования.
Эквивалентные преобразования выражений
1) Коммутативность селекций: σF(σG(R))=σG(σF(R))=σF&G(R)
2) Коммутативность селекции и проекции:
pG(σF(R))=σF(pG(R))=σF&G(R), если G Ê F
3) Дистрибутивность селекции и произведения
σF(R х S) = σF(R) x σF(S)
4) Дистрибутивность селекции с операциями над множествами:
σF(R È S)=σF(R) È σF(S), σF(R Ç S)=σF(R) Ç σF(S)
5) Дистрибутивность селекции и соединения:
σF(R S) = σF(R) S, если условие F относится к R
6) Дистрибутивность проекции с операциями над множествами:
pF(R È S)=pF(R) È pF(S), pF(R Ç S)=pF(R) Ç pF(S)
Оптимизация вычисления выражений реляционной алгебры.
Общие правила оптимизации выражений РА:
-Селекции вида σF1&...&Fn(E) предоставляются в виде последовательности селекций σF1(... σFn(E))
-Каждая из селекций перемещается вниз по дереву насколько это возможно
-Расположенные рядом селекции и декартовы произведения заменяются на соединения.
-Каждая проекция перемещается по дереву вниз насколько это возможно
-Каскад селекций и проекций заменяются на одну селекцию, одну проекцию или на селекцию с проекцией
Кортежно-ориентированное реляционное исчисление
Кортежное реляционное исчисление (TRC)
Запрос ( в простейшем случае) имеет вид {t | (F(t)}
t - кортежная переменная;
F(t) - формула, в которой присутствует кортежная переменная t
Ответ: Множество всех таких кортежей t, для которых формула F(t) принимает значение true.
Формула: Рекурсивно определяется через атомарные формулы и построением более сложных формул с помощью логических связок и кванторов.
SQL: Является формальной основной языка SQL.
TRC - Базовые составляющие языка
Константы: 7, 'john', 3.14159 и т.д.
Кортежные переменные: t1, t2,... – интерпретируются кортежами отношений.
Срезы кортежных переменных: t.a,… а - имя атрибута, значение которого входит в состав кортежа.
Предикатные символы: P, P1,...,Q, Q1,… Интерпретируются отношениями
Операторы (предикаты) сравнения : = {=, <, <=, >, >=, <>} и т.д.
Логические связки: Ú (или), Ù(&) (и), Ø (не ), ® (влечет)
Кванторы: $(существует), "(для любого)
TRC - Правильно определенные формулы
Атомарные формулы:
P(t) - P - предикатный символ, - t - кортежная переменная. Если Р интерпретируется отношением R, то P(t) означает t Î R
t.a θ t.b - t.a и t.b - срезы
t.a θ с - t.a - срез, с - константа
Правильно построенные формулы (ппф):
Атомарные формулы являются ппф;
Если F ппф, то ппф также являются ØF и (F)
Если F и G ппф, то ппф также являются F Ú G, F Ù G, F ® G
Если F ппф со свободной переменной t, то ппф также являются $tF(t) и "tF(t).
TRC - Свободные и связанные переменные. Запросы.
Говорят, что наличие кванторов $tF(t) и "tF(t). связывает переменную t в формуле F. Переменная, которая не связана, называется свободной.
Запрос - в общем случае это выражение вида: {(t1,t2,...) | (F(t1,t2,...)}
где - t1,t2,... - кортежные переменные или их срезы;
- F(t1,t2,...) - формула, в которой присутствуют свободные кортежные переменные t1,t2,...
ВНИМАНИЕ: Переменные t1,t2,..., расположенные слева от символа ’|’, должны быть единственными свободными переменными в формуле F. Это значит, что если F содержит другие переменные, то они должны быть связанными с помощью кванторов.