Реляционное исчисление, страница 3

Необходимо получить множество

всех кортежей t, которые принадлежат отношениям R1 или R2.

            2. Операция разности.

Овал: R1Овал: R2Реляционная алгебра R= R1-R2

Реляционное исчисление:

 R1 - R2 ={ t|t ϵ R1(t) Λ  t   ϵ  R2(t)}

Необходимо получить множество

всех кортежей t, которые принадлежат отношению R1 и не принадлежат отношению R2.

Операция разности не является коммутативной операцией, т.е. R1 – R2 ≠ R2 – R1. Аргументы в операции разности R1 и R2 нельзя переставлять местами.

                        3. Операция декартово произведение.

            Пусть r- кортежи отношения R1 ,т.е. R1(r)

                        q- кортежи отношения R2 ,т.е. R2(q)

                        (rq)- кортеж, полученный добавлением значений второго отношения R2 в конец первого отношения R1. Он называется конкатенацией кортежей и обозначается (rq)

            Реляционная алгебра R1×R2 ={(rq)|r ϵ R1(r)Λ q ϵ R2(q)}

Т.е. необходимо получить множество всех кортежей (rq), в которых r принадлежащий R1(r) и q принадлежащий кортежам R2(q).

                        4. Операция селекции.

            Реляционная алгебра R = Ϭ F(R1)

Реляционное исчисление:

R ={ t|t ϵ R1(t) Λ  F = “истина”}

Т.е. необходимо получить множество кортежей t, принадлежащих отношению R1, для которых истинно условие селекции F (или условие выборки или фильтрации)

                        5.Операция пересечения.

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

Реляционное исчисление:

R1 ∩ R2 = { t|t ϵ R1(t) Λ  t   ϵ  R2(t)}

Т.е. необходимо получить множество всех кортежей

t, которые принадлежат отношению R1 И R2

 

Запрос с помощью редяционного исчисления кортежей.

Используем таблицу:

            Stuff(Sno, Fname, Lname, Adress, Tel_no, Position, Sex, Dat, Salary, NiN, Bno)

            Sno – Личный номер сотредника

            Fname - Имя

            Lname – Фамилия

            Adress - Адрес

            Tel_no – Номер телефона

            Position - Должность

            Sex - Пол

            Dat – Дата рождения

            Salary - Зарплата

            NiN – Личный номер социального страхования

            Bno – Номер отделения, в котором сотрудник работает

Область определения кортежей являются отношения, указанные в формулах. Мы работаем с отношением Stuff. Область определения кортежей t запием таким образом:

            Range of t is stuff, далее сформулируем запросы.

Запрос 1.

            Выбрать все атрибуты отношения stuff для сотрудников, которые получают зарплату больше 10 тысяч.

                        {t|t.salary>10000}

Запрос 2.

            Создайте список всех менеджеров, зарплата которых превышает 25000.

                        {t|t.position = “manager”.AND t.salary>25000}

7.2. Реляционное исчисление доменов.

            В реляционном исчислении доменов используются переменные, значения которых берутся из доменов отношения.

            Обозначим переменную домен как d, а предикат как P(d).