Файл: Управление данными (пособие).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 31.03.2021

Просмотров: 1655

Скачиваний: 26

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

56

приводи

и

 

какой

-

либ но

Это

 

хорошо

 

видно

 

из

 

приведен

о на

 

п

а

чается

 

в

 

случае

 

о

н х

 

ив

вному

» 

увеличен

меро

одного отношения

и

соответственно

 

времени

 

выполне

оса

бляе ых

в

 

компь

 

не

 

менее

декартов

звед

 

ва

концептуа

значение

 

при

 

рассмотрении

реляционных

 

операторов

в

 

частности

 

опер

ны

рации

 

реляционной

 

алгебры

 

являются

 

реля

иже

 

мы

 

для

 

реляционн

Проекция

Проекцией

 

отнош

R

 

по

 

там

 

X

,

Y

,…,

Z

означ

R

[

X

,

Y

,…,

аждый

 

нных

 

атрибутов

 

адл

тноше

назы

отношение

 

с

 

,…,

Z

м

содержащим множество

 

всех

 

кортежей

  {

<

X

:

x>

,<

Y

:

y>

,…,<

Z

:

z>

}, 

таких

для

 

которых

 

в

 

отношении

 

R

 

значение

 

атрибута

 

Х

 

равно

 

х

атрибута

 

Y

 

равно

 

а

 

проекции

 

получается

 

«

вер

для

 

которых

 

формула

 

F

(

A

)

 

принимает

 

значение

 

истина

.  

Таким

 

образом

операция

 

выборки

  (

ограничения

выбирает

 

т

 

к

 

получен ю

о

 

вой

 

информации

ного

 

приме

ильн

ра

Более

 

тог

лен

рактике

 

она

 

ч

сов

пр

ще

 

всего

 

встре

«

взры

неправ

 

состав

ы

запро

одя

 

к

 

ию

 

раз

в

 

вых

 

ния

 

запр

 

и

 

потре

м

 

ресурсо

ютера

Тем

о

 

прои

 

других

ение

 

имеет

 

составных

жное

 

льное

 

 

аторов

 

соединения

 

отношений

 (

см

ниже

). 

Приведен

е

 

выше

 

опе

ционными

 

расширениями

 

традиционных

 

операций

 

над

 

множествами

Н

рассм

р

щ

ич

нно

 

отрим

 

опе

бры

ации

 

являю иеся

 

специф ескими

 

име

ой

 

алге

 

ения

 

атрибу

об

ается

 

Z

]

где

 

к

из

 

указа

прин
заголовком

ежит

 

о

  {

X

,

Y

нию

 

и

 

тело

R

вается

 

 

y

, …, 

атрибута

 

Z

 

равно

 

z

.  

С

 

помощью

 

оператор

тикальное

» 

подмножество

 

атрибутов

 

отношения

 

R

с

 

последующим

 

исключением

 

дублирующих

 

кортежей

 (

если

 

они

 

возникают

). 

Выборка

 (

ограничение

Пусть

 

задано

 

отношение

 

R

[

A

]

где

 

А

 

множество

 

его

 

атрибутов

Пусть

 

также

 

F

(

A

это

 

логическая

 

формула

 (

предикат

принимающая

 

значение

 

истина

 

или

 

ложь

образованная

 

операндами

представляющими

 

собой

 

имена

 

атрибутов

 

отношений

 R 

или

 

литералы

а

 

также

 

скалярными

 

операторами

 

сравнения

 (=

>

<

и

 

логическими

 

операторами

 

Λ

(

И

), 

V

(

ИЛИ

), 

¬

(

НЕ

). 

Выборкой

 

из

 

отношения

 

R

[

A

]

т

.

е

RESTRICT

 

R

[

A

WHERE

 

F

(

A

), 

называется

 

отношение

заголовок

 

которого

 

совпадает

 

с

 

заголовком

 

отношения

 

R

а

 

тело

 

содержит

 

множество

 

кортежей

являющихся

 

подмножеством

 

множества

 

кортежей

 

отношения

 

R


background image

 

57

гори

е

 

подмножество

 

входного

 

отношения

эт отношение

  

R

 

 

 

М

ЕТ

зонтально

Пример

 

Пусть

 

R

 

о

 

 

С

 

КОД

 

И Я

 

ФАКУЛЬТ

 

КУР

С

Иванов

зический

 1 

 

Фи

С

П тров

мический

 2 

е

а

 

Хи

С

П ляко

Исторический

о

ва

 

 3 

С

С доро

Физический

 2 

и

в

 

Тогда

 

отношение

,

полученное

 

с

 

помощью

 

оператора

   

RESTRICT

 

R

 

WHERE

КУРС

=

2

будет

 

иметь

 

вид

 

 

 

С

=

2

 

ТЕТ

 

КУРС

 

RESTRICT

  

R

  

WHERE

  

КУР

КОД

 

ИМЯ

 

ФАКУЛЬ

С

Петров

ий

  

а

  

Химическ

С

Сидоро

изический

 2 

в

 

Ф

θ

 

от

й

   

В

е

 

от

й

приведенных

 

выше

операция

 

θ

-

соединение

 

являе

авной

на

 

мо

ь

 

реализована

 

последовательным

 

прим

други

элементарных

 

операций

Однако

в

 

силу

 

большой

 

прак

к

й

е

я

 

-

соединение

ношени

 

отличи

 

операци

тся

 

сост

т

.

е

о

жет

 

быт

енением

 

х

 

более

 

тичес ой

 

значимости

 

это

 

операции

в

 

особ нности

 

ее

 

частного

 

случая

 – 

естественного

 

соединения

 

отношений

эта

 

операция

 

введена

 

в

 

число

 

основных

 

операций

 

реляционной

 

алгебры

Пусть

 

отношения

 

R

1

 

и

 

R

2

 

не

 

имеют

 

атрибутов

 

с

 

одинаковыми

 

именами

а

 

символ

 

θ

 

обозначает

 

один

 

из

 

операторов

 

сравнения

:  =

>

,

<

тогда

 

θ

-

соединением

 

отношения

 

R

1

 

по

 

атрибуту

 

Х

 

с

 

отношением

 

R

2

 

по

 

атрибуту

 

Y

 

является

 

отношение

совпадающее

 

с

 

декартовым

 

произведением

 

отношений

 

R

1

 

и

 

R

2

для

 

кортежей

 

которого

 

выражение

 

условия

   

X

θ

Y

 

 

принимает

 

значение

 

истина

Другими

 

словами

 

θ

-

соединение

 

это

  

(

R

1

 

TIMES

 

R

2

WHERE

 

θ

 Y

 

Очевидно

что

 

сравниваемые

 

атрибуты

 

X

 

и

 

Y

 

должны

 

быть

 

определены

 

на

 

общем

 

домене

дл

 

того

чтобы операция

 

сравнения

 

имела

 

смысл

Пример

Пусть

 

даны

 

два

 

отношения

СТУДЕНТЫ

 

и

 

ПРЕПОДАВАТЕЛИ

Причем

 

в

 

обоих

 

отношениях

 

атрибуты

 

ГОРОД

_

СТУД

 

и

 

ГОРОД

_

ПРЕПОД

 

определены

 

на

 

одинаковых

 

доменах

представляющих

 

собой

 

список

 

городов


background image

 

58

СТУДЕНТЫ

   

 

ПРЕПОДАВАТЕЛИ

 

ИМЯ

_

СТУД

 

ГОРОД

_

СТУД

 

ИМЯ

_

ПРЕПОД

 

ГОРОД

_

ПРЕПОД

Иванов

 

Воронеж

 

 

Жуков

 

Воронеж

 

Петрова

в

 

ецк

 

Липецк

 

 

Соболе

Лип

 

Сидоров

 

Воронеж

 

 

Ковалев

 

Воронеж

 

Орлов

 

Орел

 

 

Лыков

 

Воронеж

 

Кузнецов

 

Воронеж

 

 

 

 

Тогда

 

θ

-

соединением

 

этих

 

отношений

 

по

 

условию

 

ГОРОД

_

СТУД

 

 

ГОРОД

_

ПРЕПОД

 

будет

 

следующее

 

отношение

(

СТУДЕНТЫ

 

TIMES

 

ПРЕПОДАВАТЕЛИ

WHERE

 

ГОРОД

_

СТУД

ГОРОД

_

ПРЕПОД

 

ИМЯ

_

СТУД

 

ГОРОД

_

СТУД

 

ГОРОД

_

ПРЕПОД

ИМЯ

_

ПРЕПОД

 

Иванов

 

Воронеж

 

Липецк

 

Соболев

 

Петрова

 

Липецк

 

Воронеж

 

Жуков

 

Петрова

 

Липецк

 

Воронеж

 

Ковалев

 

Петрова

 

Липецк

 

Воронеж

 

Лыков

 

Сидоров

 

Воронеж

 

Липецк

 

Соболев

 

Орлов

 

Орел

 

Воронеж

 

Жуков

 

Орлов

 

Орел

 

Липецк

 

Соболев

 

Орлов

 

Орел

 

Воронеж

 

Ковалев

 

Орлов

 

Орел

 

Воронеж

 

Лыков

 

Кузнецов

 

Воронеж

 

Липецк

 

Соболев

 

 

Естественное

 

соединение

 

отношений

  

Операция

 

естественного

 

соединения

называемая

 

ещё

 

эквисоединением

является

 

лучаем

-

соед не

оп рато

ия

 

θ

 

является

 

оператором

 

енств

). 

Пусть

 

о ошени

R

1

   

R

2

 

имеют

го вки

X

1

,

X

2

,

X Y

1

,

Y

2

,…,

Y

n

и

     

{

Y

1

,

Y

2

,…,

Y

m

1

,

Z

2

,…

k

}. 

В

 

более

 

краткой

 

записи

  {

,

Y

} – 

множество

 

атрибутов

 

о

шени

1

а

Y

,

Z

} – 

мн

 

атрибуто отношения

 

R

2

Здесь

 

бор

 

Y

– 

Y

1

,

Y

,

n

обозначает

 

н

ес во

 

атрибутов

являющихся бщими

 

боих

 

нош ий т

.

е

.   

данно случае

 

совпадают

как

 

имена

так

 

и

 

домены

 

соответствующих

 

атрибутов

Тогда

еств

ым

н

 

отношений

 

R

1

 

R

2

  (

1

 JOIN 

R

2

по

 

атрибуту

 

Y

 (

зможн составному

 

является

 

тнош ние

   

заголовком

 {

X

,

Y

,

Z

и

 

телом

содержащим

 

ожество

 

всех

 

кортежей

  {

< :

x>

, <

y>

<

Z

:

z>

}, 

таких

для

 

которых

 

отношении

 

R

1

 

значение трибута

 

Х

 

равно

а

 

для

 

атрибута

 

Y

 

равно

 

y

и

 

в

 

ошен

 

R

2

 

значение

 

атрибута

 

Y

 

равно

 

y

а

 

атрибута

 

Z

 

равно

 

z

 

частным

 

с

 

θ

и ния

когда

 

е

р

 

сравнен

рав

а

 (=

тн

я

 

и

 

за ло

  {

,…

m

,

,

Z

,

Z

X

тно

я

 

R

 {

ожество

в

 

на

 

{

2

,…

Y

н

м ож

 

т

 

о

 

для о

от

е

в

м

ест

енн

 

соеди ением

 

и

R

во

о

 

)

о

е

с

мн

X

Y

: , 

 

в

 

а

 

х

отн

ии


background image

 

59

Пример

 

Если

 

в

 

качестве

 

входных

 

отношений

 

взять

 

несколько

 

измененные

 

отно

ЕНТЫ

 

и

 

ПРЕПОДАВАТЕЛИ

 

из

 

предыдущего

 

примера

,  

СТ

ИМ

М

 

шения

 

СТУД

УДЕНТЫ

 

 

 

ПРЕПОДАВАТЕЛИ

 

Я

_

СТУД

 

ГОРОД

 

 

И Я

_

ПРЕПОД

 

ГОРОД

Иванов

Жуков

 

 

Воронеж

 

 

 

Воронеж

Петро

пец

С

о

ипецк

ва

 

Ли

к

 

 

об лев

 

Л

 

Сидор

рон

К ал

 

ов

 

Во

еж

 

 

ов

ев

 

Воронеж

Орло

Орел

Л ко

Воронеж

 

в

 

 

 

ы в

 

Кузне

Ворон

 

 

цов

 

еж

 

 

то

 

отн

представляющим

 

собой

 

их

 

естественное

 

соединение

 

по

 

атрибут

ОД

СТУДЕНТЫ

 

OIN

 

ПРЕПОДАВАТЕЛИ

)

будет

 

отноше

 (

СТ

JOIN

ТЕЛ

 

МЯ

_

ПРЕПОД

 

ошением

у

 

ГОР

то

 

есть

  (

J

ние

 

УДЕНТЫ

 

 

ПРЕПОДАВА

И

ИМЯ

_

СТУД

ГОРОД

 

И

Ив

Жуков

 

анов

 

Воронеж

 

Ив

Ковалев

 

анов

 

Воронеж

 

Ив

 

Лыков

 

анов

 

Воронеж

Петрова

 

Липецк

 

 

Соболев

Сидоров

 

Воронеж

 

уков

 

Ж

Сидоров

 

Воронеж

 

Ковалев

 

Сидоров

 

Воронеж

 

Лыков

 

Кузнецов

 

Воронеж

 

Жуков

 

Кузнецов

 

Воронеж

 

Ковалев

 

Кузнецов

 

Воронеж

 

Лыков

 

Как

 

уже

 

говорилось

 

выше

операция

 

естественного

 

соединения

 

отношений

также

 

как

 

и

 

операция

 

θ

-

соединения

частным

 

случаем

 

которой

 

она

 

является

это

 

не

 

простая

а

 

составная

 

операция

Она

 

может

 

быть

 

реализована

 

последовательным

 

применением

 

оператора

 

декартова

 

произведения

оператора

 

выборки

 

по

 

соответствующему

 

условию

и

 

оператора

 

проекции

 

для

 

исключения

 

одинаковых

 

атрибутов

С

 

этой

 

точки

 

зрения

 

включения

 

этих

 

операций

 

в

 

число

 

основных

 

операций

 

реляционной

 

алгебры

 

не

 

является

 

необходимым

Однако

 

операция

 

естественного

 

соединения

  (

обычно

 

говорят

 

операция

 

соединения

опуская

 

прилагательное

 

естественное

оказывается

 

чрезвычайно

 

полезной

 

с

 

практической

 

точки

 

зрения

Эта

 

операция

 

позволяет

 

связывать

 

между

 

собой

 

данные

 

об

 

одних

 

и

 

тех

 

же

 

объектах

хранящиеся

 

в

 

разных

 

отношениях

В

 

силу

 

ее

 

большой

 

полезности

 

операции

 

соединения

 

на

 

практике

 

реализуется

 

с

 

помощью

 

более

 

эффективных

 

алгоритмов

без

 

использования

 

в

 

качестве

 

промежуточного

 

результата

 

декартова

 

произведения

которое

как

 

уже

 

говорилось

требует

 

значительных

 

вычислительных

 

ресурсов

Операции

эквивалентные

 

оператору

 

соединения

 

реляционной

 

алгебры

реализованы

 

в

 

языке

 

запросов

 

к

 

базам

 

данных

 SQL. SQL-

запросы

 

с

 

использованием

 

соединения

 

отношений

 

относятся

 

к

 

разделу

 

сложных

 

запросов

требующих

 

от

 

программиста

 

знания

 

тонкостей

 

операций

осуществляемых

 

над

 


background image

 

60

соединяемыми

 

отношениями

В

 

качестве

 

примере

можно

 

заме

выполнения

 

запроса

использующего

 

соединен

тить

что

 

время

 

ие

 

нескольких

 

отношений

при

 

одинаковом

 

виде

 

выходного

 

отношения

тем

 

не

 

менее

может

 

отличаться

 

в

 

деся

с

 

Де

Пусть

 

два

н

и

 

R

 

имеют

 

заголовки

со

X

Y

и

 

{

Y

}, 

гд

Y

 

а

 

н составные

рибут

 

)

 Y

 – 

общие

я

 

и

Отношение

 

R

1

 

ме

 

того

дополн

льны

а

 

отношение

 

R

2

 

 

никаких

 

дополн

льны

у

ем

что

 

атрибуты

 

с

 

од

ами

 

Y

 

обоих

шен

ед

на

 

инак

Т

операцией

 

де

шен

 

R

1

 

DIVIDE

 

BY

 

R

ое

а

 

л

 

с

 

заголовком

 {

X

 

и

 

телом

 

множество

 

всех

 

кортежей

 {

<

X

:

x>

таких

что

 

набор

 

кортежей

 

X

:

x>

,

 

<

}, 

принадлежащий

 

отношению

 

R

1

ля

 

всех

 

кортежей

 {

< :

y>

}, 

принадлежащих

 

отношени

2

Нескольк

 

менее

 

строго

 

это

 

ожно

 

сформулировать

результирующее

 

отношение

 

содержит

 

такие

 

значения

 

атрибутов

 

Х

 

отношения

 

R

1

для

 

торых

 

соответствующие

 

значения

 

атрибута

 

Y

 

из

 

R

1

 

включают

 

все

 

значения

 

атрибута

 

Y

 

из

 

от

2

тное

 

тки

 

и

 

сотни

 

раз

 

в

 

лучаях

 

грамотного

 

или

напротив

неквалифицированного

 

формального

 

подхода

 

к

 

составлению

 

текста

 

запроса

ление

 

 

отноше ие

 

R

 

1

(

возмо

2

о

 

ответственно

  {

е

 

X

трибуты

ж

). 

Ат

(

группа

 

атрибутов

кро

 

дл

обоих

 

отношен й

имеет

ите

е

 

атрибуты

 

X

не

 

имеет

ите

х

 

атриб тов

Полага

инаковыми

 

имен

 

отно

ий

 

опр елены

 

од

овых

 

доменах

.  

ия

 

R

 

на

 

отношен

огда

 

ления

 

отно

1

ие

 

R

2

обозначаемой

ь

называется

 

отношение

 

R

2

,

 

где

1

 – 

делим

R

2

 – 

делите

}

содержащим

 

существует

{

<

Y

:

y>

д

Y

ю

 

R

о

м

 

так

ко

ношения

 

R

Пример

 1 

Делимое

 

 

 

Делитель

 

 

Час

X Y 

 1. 

 

 

 

x

y

 

 

y

 

 

x

 

1

1

1

1

x

1

y

2

 

 

 

 

 

x

2

 

x

1

y

3

 

 

 

 

 

 

 

x

1

y

4

 

 

 

 

 

 

 

x

1

y

5

 2. 

 

 

 

x

1

y

6

 

 

y

2

 

 

x

1

 

x

2

y

1

 

 

y

4

 

 

x

4

 

x

2

y

2

 

 

 

 

 

 

 

x

3

y

2

 

 

 

 

 

 

 

x

4

y

2

 

 

3. 

 

 

x

4

y

1

1

y

4

x

x

4

y

2

 

y

5

 

y

3

 

 

 

y

4

 

 

 

y

5

 

 

 

 

y

6