Слайд 1Лекция 10
управление реляционной базой данных. Реляционная алгебра
Общие положения.
Основные операции реляционной
алгебры.
Дополнительные операции реляционной алгебры.
Слайд 2 Операторы реляционной алгебры используют одно или два из существующих отношений
для создания нового отношения, которое затем может быть использовано в
качестве операнда для нового оператора. Реляционная алгебра (или алгебра отношений) представляет собой совокупность операций высокого уровня над отношениями.
Слайд 3Реляционная алгебра определяет следующие операции:
объединение;
пересечение;
разность;
произведение;
выбор;
создание проекций;
соединение;
деление.
Слайд 4Одной из главных операций при работе с БД в реляционной
теории является запрос. И выполнение всех перечисленных операций реляционной алгебры
всегда направлено именно на реализацию запросов. Поэтому в ней отсутствуют любые конструкции, призванные объявлять, создавать или модифицировать данные.
Слайд 5Запрос — операция над отношениями, результатом которой является отношение. Под системой
запросов будем понимать формальную систему для выражения запросов. Запрос с
использованием реляционной алгебры задает алгоритм преобразования отношений, приводящий к требуемому результату.
Слайд 6Основные операции реляционной алгебры
Два отношения с одной и той
же схемой могут быть рассмотрены как множества одного и того
же универсума — множество всех возможных кортежей с этой схемой. К таким двум отношениям могут быть применены булевы операции. К основным операциям относятся следующие булевы операции: объединение, разность, декартово произведение.
Слайд 7Объединение Union
Пусть имеются отношения r и s, тогда отношение t
= r È s называется объединением r и s, если
каждый кортеж, принадлежащий t, принадлежит или r, или s, или им обоим.
Слайд 8Пусть даны отношения:
r — Изделие 1; s— Изделие 2
Слайд 9Результирующее отношение содержит все детали, которые входят в состав обоих
изделий.
Слайд 10Разность
Пусть имеются два отношения r и s, тогда отношение t
= r - s называется разностью r и s, если
каждый кортеж, принадлежащий t, принадлежит r, но не принадлежит s. Операция применяется к отношениям одной арности. Операция разности является несимметричной операцией, и ее результат будет различным для разного порядка аргументов.
Слайд 11Пусть отношение rпредставляет потребности в некоторых видах деталей, а отношение
s — сведения о тех видах деталей, которые фирма может произвести
сама, тогда отношение t = r – s содержит сведения о тех видах деталей, которые нужно приобрести.
Слайд 14Декартово произведение
Под декартовым произведением двух отношений понимается множество упорядоченных пар
кортежей. Пусть имеются два отношения r и s, тогда отношение
t = r * s арности k = k1 + k2, где k1 — арность r, а k2 — арность s, называется декартовым произведением r и s, если оно состоит из кортежей, первые k1 компонент которых образуют кортежи из r, а остальные k2 — из s.
Слайд 15Пусть rСТУДЕНТЫ (Ном_зач_кн, ФИО);
sЭКЗАМЕНЫ (Код_дисц,Назв_дисц, Дата, Оценка),
Тогда r*sЭКЗАМ_ВЕД (Ном_зач_кн, ФИО,
Код_дисц,
Назв_дисц, Дата, Оценка).
Слайд 17t — ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ ПО ВСЕМ ДИСЦИПЛИНАМ
Слайд 18Проекция Project
Оператор проекции (вертикальное подмножество) является унарным оператором на отношениях.
Он осуществляет выбор на множестве столбцов.
Пусть в отношении r выделено
некоторое множество атрибутов Y, тогда отношение t = PY(r) называется проекцией отношения r, если оно является вертикальным подмножеством столбцов отношения r из множества R.
Слайд 19Проекция R на Y есть также отношение, полученное вычеркиванием столбцов,
соответствующих атрибутам R - Y, и исключением, по определению отношения,
из оставшихся столбцов повторяющихся строк.
Операция проектирования чаще всего употребляется как промежуточная операция при выполнении операции выбора.
Слайд 20Выбор (Select)
Выбор или селекция — это одна из важнейших операций обработки информации.
Она также, как и предыдущая, относится к унарным операциям над
отношением. Результатом ее применения к отношению r является другое отношение, которое представляет собой подмножество кортежей отношения r, с определенным значением в выделенном атрибуте.
Слайд 21пересечение
Пусть имеются два отношения r и s, тогда отношение t
= rÇs называется пересечением r и s, если каждый кортеж,
принадлежащий t, одновременно принадлежит r и s. Операция применяется к отношениям одной арности. Справедлива следующая формула: t = rÇs = r - (r - s).
Слайд 24Естественное соединение
Естественное соединение создает новое отношение из двух существующих. Новое
отношение формируется с помощью сцепления кортежей первого отношения с кортежами
второго отношения. При выполнении этой операции указывается, какой атрибут первого отношения, и какой атрибут второго отношения используются для сцепления кортежей.
Слайд 25деление
Деление — это бинарная несимметричная операция для получения некоторого отношения
из двух исходных, причем степень результирующего отношения не совпадает со
степенью ни одного из операндов, а вычисляется как разность между степенью отношения-делимого и степенью отношения-делителя.
Слайд 26Пусть сдача сессии моделируется следующим набором отношений:
rСТУДЕНТЫ (Ном_зач_кн, ФИО, Группа);
s
РЕЗУЛЬТАТЫ_СЕССИИ (Ном_зач_кн, ФИО, Назв_дисц, Оценка);
v ЭКЗАМЕНЫ (Группа,Назв_дисц).
Слайд 27Состав информации в отношениях довольно прозрачен:
r — содержит информацию о составе
групп;
s — содержит сведения о результатах сдачи экзаменов;
v — включает список дисциплин,
экзамены по которым надлежало сдавать каждой группе.
Слайд 28Запрос — получить список тех студентов, кто не явился на экзамен
по БСБД, может быть реализован следующими выражениями:
операция проекции на атрибут
ФИО результата выбора из отношения s при условии Назв_дисц = «БСБД» определит всех, кто сдавал экзамен по БСБД:
w = РФИО(d [Назв_дисц = «БСБД»] (s )).
Слайд 29 операция проекции на атрибут ФИО соединения отношений r и v при
условии, что v. Назв_дисц= «БСБД», определит всех, кто должен был
сдавать экзамен по БСБД:
р = РФИО (rv [v.Назв_дисц= «БСБД»]);
операция нахождения разности отношений р и w определит тех студентов, кто не явился на экзамен по БСБД:
t = р-w.