Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

При ответах на некоторые запросы вместо объединения предпочтительнее пользоваться выбором, включая в его условие операцию «ИЛИ». Это замечание для тех запросов, которые используют информацию из одного файла. В примере, демонстрирующем такую ситуацию, использованы файлы с рисунка 26.

Пример 6: определить номера отделов, в которых используются номера работ 7 и 12.

proj №_отдела (sel (№_работы = 7) оr (№_работы = 12)(Работа))

Пример 7: определить имя служащего либо работающего в третьем отделе, либо занимающего должность зам. начальника отдела

proj Имя_служащего (sel №_отдела = 3 (Служащий))

union proj Имя_служащего(Служащий join proj  №_служащего (sel должность = «зам. начальника отдела» (Трудовая деятельность))

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

Синтаксис: ИФ1 intersection ИФ2.

Результат – набор записей, входящих в состав обоих файлов.

Пример:

ИФ1                        ИФ2                        ИФ1 intersection ИФ2

F1

G1

a

8

b

5

c

6

F1

G1

e

12

b

5

d

1

c

6

F1

G1

b

5

c

6



Рис.27.5

Замечание. Для запросов, использующих один файл удобнее пользоваться операцией выбора с логическим «И».

Пример 8: определить №_отдела, в котором выполняют работу вида 2 и 4.

рroj №_отдела (sel (№_работы = 2) and (№_работы = 4)(Работа)).

Пример 9: определить № отдела, в которой выполняют работу 9 и ведут отчетность по форме 5

НЕ нашли? Не то? Что вы ищете?

proj №_отдела(sel отчетность = 5 (отдел)) intersection proj №_отдела(sel№_работы = 9 (Работа)).

е.        Операция вычитания.

Синтаксис: ИФ1 difference ИФ2

Результат – совокупность записей, имеющихся в ИФ1, но отсутствующих в ИФ2.

Пример 10:

ИФ1                        ИФ2                        ИФ1 union ИФ2

F1

G1

a

4

b

5

c

6

f

5

F1

G1

d

1

b

5

e

4

c

6

F1

G1

a

4

f

5



Рис.27.6

Пример 11: составить список сотрудников, у которых нет детей

proj Имя_служащего((proj №_служащего (Служащий) difference proj №_служащего (Дети)) join Служащий).

ё.        Операция деления.

Синтаксис: ИФ1 division ИФ2

Условия выполнения – каждое поле ИФ2 имело те же имя и тип, что и одно из полей ИФ1. В результате деления получается файл, поля которого содержатся в ИФ1, но отсутствуют в ИФ2. Запись включается в результат только при том условии, что в ИФ1 она сцеплена с каждой записью из ИФ2.

Пример12:

ИФ1                                ИФ2                        ИФ1 division ИФ2

G2

F1

G1

A

d

3

C

h

7

B

h

7

B

y

4

A

y

4

A

h

7

B

d

3

C

y

4

F1

G1

3

d

7

h

4

y


G2

A

B



Рис.27.7

Запись А, В включена в результат, так как в ИФ1 есть записи, 

G2

G1

F1

A

d

3

A

h

7

A

y

4

аналогично для записи В, запись С отсутствует, так как в ИФ1 нет записи С d З.

Пример 13:

Определить список отделов, в которых выполняются все виды работ.

Работа division (proj №_работы, описание работы (Работа)).

ж.        Операция Умножение (декартово произведение).

Синтаксис: ИФ1 product ИФ2

Результат – совокупность записей, представляющих конкатенацию каждой записи ИФ1 с каждой записью ИФ2.

Пример 14:

F1

F2

b

4

d

7

ИФ1                ИФ2                        ИФ1 product ИФ2

F3

F4

A

4

C

R

ИФ1.F1

ИФ1.F2

ИФ1.F3

ИФ1.F4

b

4

A

4

b

4

C

R

d

7

A

4

d

7

C

R



Рис.27.8

В образованном файле каждое поле сохраняет прежнее имя, но оно дополняется именем файла, из которого взято. Это делается, чтобы избежать совпадения имен полей в одноименном файле.

Пример 15: определить список лиц, которые получили повышение оклада после того, как Иванов (№_служащего 15) занял должность главного инженера.

proj Имя_служащего (proj  №_служащего (sel Изм, Окл. Дата_устр.> Труд. Деятельность. Дата_назначения (Изм. оклада product (sel №_служащего = 15 and должность = «главный инженер» (Труд. деятельность)))) join служащий).

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

Можно и далее разработать набор операций для своих узких целей, использую исчисление отношений. Исчисление отношений – это аппарат для формулирования отношения, которое можно получить из хранимых в БД отношений, он предоставляет машине самой решать, какие операции необходимо выбрать для получения нужного отношения из БД.

Символика в исчислении отношений.

Символ

Объяснение

x • y

Множество значений элементов данных из доменов у отношения х.

A(x1·y1, x2·y2… )

Отношение с именем А задано над доменами, которые являются множествами значений х1·у1, х1·у2, … соответственно.

«Существует»

:

«Такой, что». Выражение слева от двоеточия означает то, что должно быть найдено выражение справа – условие.

Для любого

«И» должны выполняться одновременно условия слева и справа от знака.

«ИЛИ» должно выполняться хотя бы одно из двух условий.

«НЕ» условие, записанное справа от знака должно не выполняться.

≠, =, <, >.

Не равно, равно, меньше, больше

‘x’

Символьное значение х.


Рис. 28.

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

Пример 1: из отношения служащий образовать отношение Q, включающее признаки Имя_служащего и з/пл для всех сотрудников отдела 721 с з/пл более 2000:

Q (Служащий ∙ Имя_служащего, Служащий ∙ з/пл):Служащий · №_отдела = 721 ∧ Служащий ∙ з/пл > 2000.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12