Реляционная алгебра

Содержание

Слайд 2

БАЗА ДАННЫХ «БИБЛИОТЕКА»
Книги (НомКниги, Название, Автор, Жанр)
Читатели(НомБилета, ФИО, Адрес)
Выдачи (НомБилета, НомКниги,

БАЗА ДАННЫХ «БИБЛИОТЕКА» Книги (НомКниги, Название, Автор, Жанр) Читатели(НомБилета, ФИО, Адрес) Выдачи (НомБилета, НомКниги, ДатаВыдачи, ДатаВозврата)
ДатаВыдачи, ДатаВозврата)

Слайд 3

ВАРИАНТ 1

Получить ФИО читателей, которые не брали «Детективы»
proj ФИО( Читатели join
proj НомБилета

ВАРИАНТ 1 Получить ФИО читателей, которые не брали «Детективы» proj ФИО( Читатели
(Читатели)
difference
proj НомБилета (Выдачи join
sel Жанр=«Детектив»(Книги)))

Слайд 4

Читатели

Proj НомБилета

Sel Жанр =«Детектив»

Книги

Proj НомБилета

Difference

Proj ФИО

Join

Читатели

Join

Выдачи

Читатели Proj НомБилета Sel Жанр =«Детектив» Книги Proj НомБилета Difference Proj ФИО Join Читатели Join Выдачи

Слайд 5

ВАРИАНТ 2

Получить ФИО читателей, которые брали только «Детективы»
proj ФИО( Читатели join
proj НомБилета

ВАРИАНТ 2 Получить ФИО читателей, которые брали только «Детективы» proj ФИО( Читатели
(Выдачи)
difference
proj НомБилета (Выдачи join
sel Жанр!=«Детектив»(Книги)))

Слайд 6

Выдачи

Proj НомБилета

Sel Жанр !=«Детектив»

Книги

Proj НомБилета

Difference

Proj ФИО

Join

Читатели

Join

Выдачи

Выдачи Proj НомБилета Sel Жанр !=«Детектив» Книги Proj НомБилета Difference Proj ФИО Join Читатели Join Выдачи

Слайд 7

ВАРИАНТ 3

Получить ФИО читателей, которые брали все «Детективы»
proj ФИО( Читатели join
proj НомБилета,

ВАРИАНТ 3 Получить ФИО читателей, которые брали все «Детективы» proj ФИО( Читатели
НомКниги (Выдачи)
division
proj НомКниги (
sel Жанр=«Детектив»(Книги)))

Слайд 8

Выдачи

Proj НомБилета, Номкниги

Sel Жанр =«Детектив»

Книги

Proj НомКниги

Division

Proj ФИО

Join

Читатели

Выдачи Proj НомБилета, Номкниги Sel Жанр =«Детектив» Книги Proj НомКниги Division Proj ФИО Join Читатели

Слайд 9

ВАРИАНТ 4

Получить ФИО читателей, которые брали и «Детективы», и «Фантастику»
proj ФИО( Читатели

ВАРИАНТ 4 Получить ФИО читателей, которые брали и «Детективы», и «Фантастику» proj
join
proj НомБилета (Выдачи join
sel Жанр=«Фантастика»(Книги))
intersection
proj НомБилета (Выдачи join
sel Жанр=«Детектив»(Книги))
)

Слайд 10

Proj НомБилета

Sel Жанр =«Фантастика»

Книги

Proj НомБилета

Intersection

Proj ФИО

Join

Читатели

Join

Выдачи

Sel Жанр =«Детектив»

Книги

Join

Выдачи

Proj НомБилета Sel Жанр =«Фантастика» Книги Proj НомБилета Intersection Proj ФИО Join

Слайд 11

ВАРИАНТ 5

Получить ФИО читателей, которые брали «Детективы», но не брали «Фантастику»
proj ФИО(

ВАРИАНТ 5 Получить ФИО читателей, которые брали «Детективы», но не брали «Фантастику»
Читатели join
proj НомБилета (Выдачи join
sel Жанр=«Детектив»(Книги))
difference
proj НомБилета (Выдачи join
sel Жанр=«Фантастика»(Книги))
)

Слайд 12

Proj НомБилета

Sel Жанр =«Фантастика»

Книги

Proj НомБилета

Difference

Proj ФИО

Join

Читатели

Join

Выдачи

Sel Жанр =«Детектив»

Книги

Join

Выдачи

Proj НомБилета Sel Жанр =«Фантастика» Книги Proj НомБилета Difference Proj ФИО Join

Слайд 13

ВАРИАНТ 6

Получить ФИО читателей, которые брали книги всех жанров
proj ФИО( Читатели join
proj

ВАРИАНТ 6 Получить ФИО читателей, которые брали книги всех жанров proj ФИО(
НомБилета, Жанр (Выдачи join Книги)
division
proj Жанр(Книги)
)