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

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

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

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

Добавлен: 31.03.2021

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

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

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

 

61

 

Пример

 2 

 

д

оше

Н

ТН

_2

ОТ

ЕНИ

 

ОТНОШЕНИЕ

_2

 

РЕЗУЛЬТАТ

 

 

 

 

ДИСЦИПЛИНА

 

 

ДИСЦИПЛИНА

 

 

СТУДЕНТ

 

Пусть

 

даны ва

 

отн

ния

ОТ ОШЕНИЕ

_1

 

и

 

О

ОШЕНИЕ

НОШ

Е

_1          

 

 

 

СТУДЕНТ

 

Иван

Физика

 

 

Математика

 

 

Иванов

 

ов

 

Иванов

 

Математика

 

 

История

 

 

Орлов

 

Иванов

 

Информатика

 

 

 

 

 

Иванов

 

История

 

 

 

 

 

Иванов

 

Химия

 

 

 

 

 

Иванов

 

Электроника

 

 

 

 

 

Петрова

 

Физика

 

 

 

 

 

Петрова

 

Математика

 

 

 

 

 

Сидоров

 

Математика

 

 

 

 

 

Орлов

 

Математика

 

 

 

 

 

Орлов

 

История

 

 

 

 

 

Орлов

 

Химия

 

 

 

 

 

Требуется

 

получить

 

список

 

студентов

 

изучающих

 

все

 

дисциплины

прив

тем

 

едённые

 

во

 

втором

 

отношении

Эта

 

операция

 

может

 

быть

 

выполнена

 

пу

деления

 

первого

 

отношения

 

на

 

второе


background image

 

62

При

й

 

над

 

отношениями

 

с

 

испо

дующие

 

отношения

СТУДЕНТЫ

ДИСЦИПЛИНЫ

УСП

анные

 

о

 

студентах

учебных

 

дисциплинах

 

и

 

оцен

 

по

 

конкретным

 

дисциплинам

С

НЫ

   

КОД

_

СТУД

 

ИМЯ

 

ГОРОД

   

КОД

_

ДИСЦИПЛ

 

НАИМЕНОВАНИЕ

 

меры

 

выполнения

 

операци

льзованием

 

реляционной

 

алгебры

Пусть

 

имеются

 

сле

ЕВАЕМОСТЬ

содержащие

 

д

х

 

студентами

ках

полученны

ТУДЕНТ

 

 

 

ДИСЦИПЛИ

С

Иванов

 

ел

 

 

Д

Информатик

Ор

а

 

С

Петрова

 

урск

 

 

Д

Физика

 

К

С

Сидоров

 

Москва

 

 

Д

Математика

 

С

Кузнецов

 

Брянск

 

 

Д

История

 

С

Зайцева

  

Липецк

 

 

Д

Английский

 

С

Павлов

 

Воронеж

 

Д

Физкультура

 

С

10 

Котов

 

Орел

 

 

 

С

15 

Лукин

 

Воронеж

УСПЕВАЕМОСТЬ

 

 

 

С

23 

Белкин

 

Воронеж

 

КОД

_

СТУД

 

КОД

_

ДИСЦИПЛ

 

ОЦЕНКА

 

 

С

Д

2 5 

 

 

 

 

 

 

 

С

Д

2

 

 

 

 

 

С

Д

2

 

 

 

 

 

6 3 

С

Д

 

 

 

 

С

Д

1 4 

 

 

 

 

С

Д

4 5 

 

Пример

 1 

Запрос

: «

Получить

 

мена

 

студентов

сдавших

 

дисциплину

 

Д

В

 

результате

 

выполнения

 

алгебраического

 

выражения

 

((

СТУДЕНТЫ

 

JOIN

 

УСПЕВАЕМОСТЬ

)

WHERE

 

КОД

_

ДИСЦИПЛ

 

Д

2

’)[

ИМЯ

]

 

получится

 

ис

и

 

комое

 

отношение

содержащее

 

один

 

атрибут

 

ИМЯ

 (

имя

 

студента

). 

КОД

_

СТУД

 

ИМЯ

 

ГОРОД

 

КОД

_

ДИСЦИПЛ

 

ОЦЕНКА

 

Вычисление

 

этого

 

составного

 

выражения

 

может

 

быть

 

представлено

 

в

 

виде

 

последовательности

 

следующих

 

более

 

простых

 

действий

1)

 

T1

:=

 

СТУДЕНТЫ

 

JOIN

 

УСПЕВАЕМОСТЬ

 

Информация

 

отношения

 

СТУДЕНТЫ

 

дополняется

 

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

 

информацией

 

из

 

отношения

 

ОЦЕНКА

В

 

результате

 

получится

 

отношение

 

T1 

С

Иванов

 

Орел

 

Д

2 5 

С

Кузнецов

 

Брянск

 

Д

6 3 

С

Кузнецов

 

Брянск

 

Д

1 4 

С

Зайцева

  

Липецк

 

Д

2

 

С

Павлов

 

Воронеж

 

Д

4 5 

 


background image

 

63

2)

 

T2

:=

1

 

WHERE

 

КОД

_

ДИСЦИПЛ

 

=

 ‘

Д

2’ 

 

T

T2 

КОД

_

СТУД

 

ИМЯ

 

ГОРОД

 

КОД

 _

ДИСЦИПЛ

ОЦЕНКА

 

С

Иванов

 

Орел

 

Д

2 5 

С

Зайцева

  

Липецк

 

Д

2

 

 

3)

 

T3

:= 

T2

[

ИМЯ

T3 

ИМЯ

 

Иванов

 

Зайцева

  

Здесь

 

символ

  “

:=

” 

означает оператор

 

присваивания

обозначения

 

Ti

 

в

тудентов

сдавших

 

информатику

». 

(((

ДИ

ЕНОВАНИЕ

=

Информатика

)  

JOIN

 

 

JOIN

 

Студенты

)

[

ИМЯ

ГОРОД

]

 

Другой

 

вариант

 

этого

 

запроса

 

(((

НЫ

 

WHER

НАИМЕН ВА

тика

’)[

КО

СТУД

 

УСПЕВАЕМОСТЬ

Т

Г

ои

нт в

 

ы

ения

содержащие

 

у

 

и

 

ГОРОД

ИМЯ

О

 

используются

 

в

 

качест е

 

имен

вр

е

менных

 

отношений

являющихся

 

промежуточными

 

результатами

 

вычислений

Пример

 2 

Запрос

: «

Получить

 

имена

 

и

 

города

 

с

СЦИПЛИНЫ

 

WHERE

 

НАИМ

УСПЕВАЕМОСТЬ

)[

КОД

_

СТУД

]

ДИСЦИПЛИ

E

 

О

НИЕ

=‘

Информа

Д

_

JOIN

JOIN

 

С

буд

УДЕНТЫ

) [

ИМЯ

наков

ОРОД

е

 

ош

В

зул

 

ре

ьтате

 

об х

 

вариа о

ут

 

получены

 

оди

отн

два

 

атриб та

 

ИМЯ

 

ГОР Д

 

Ивано

 

в

 

Орел

Сидор

кв

ов

 

Мос а

 

Зайце

пец

ва

  

Ли

к

 

Этот

 

пр

 

ч

ллюстр рует

 

от

 

факт

что

 

один

 

и

 

тот

 

же

 

результат

 

может

 

быть

 

получен

 

различными

 

способами

с

 

помощью

 

различных

 

алге

((

СТУ

АЕМОСТЬ

  

Э

тельному

 

выполнению

 

действий

 

имер

в астности

и

и

т

браических

 

выражений

Пример

 3 

Запрос

: «

Получить

 

имена

 

студентов

которые

 

не

 

сдавали

 

дисциплину

 

Д

6

». 

ДЕНТЫ

[

КОД

_

СТУД

]  

MINUS

 (

УСПЕВ

WHERE

 

КОД

_

ДИСЦИПЛ

 =

 ‘

Д

6’

) [

КОД

_

СТУД

]) 

JOIN 

Студенты

)[

ИМЯ

]

 

то

 

выражение

 

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

 

последова


background image

 

64

T1

:= 

СТУДЕНТЫ

[

КОД

_

СТУД

]

2

:= 

УСПЕ

T

ВАЕМОСТЬ

 

WHERE

 

КОД

_

ДИСЦИПЛ

 

=

 ‘

Д

6’; 

Т

 

 

ых

 

операций

 

сложных

 

выра

ре

 

возможно

 

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

 

прео

з

 

ому

 

ему

 

виду

 

 

р
Д

раются

 

корт

 

а

ример

 

с

 

точки

 

зрения

 

длит

щие

 

такую

 

оптимизацию

 

и

 

обеспечивающие

 

в

 

идеале

 

неза

росов

 

от

 

формы

 

его

 

представления

 

польз

T3

:= 

T2

[

КОД

_

СТУД

]

T4

:= 

T1

 

MINUS

 

T2

T5

:= 

T4

 

JOIN

 

Студенты

T6

:= 

T5

[

ИМЯ

]

 

Отношение

 

 

содержит

 

искомый

 

результат

T6

аким

 

образом

важным

назначением

реляционной

 

алгебры

проиллюстрированным

 

приведенными

 

примерами

является

 

обеспечение

 

возможности

 

записи

 

с

 

помощью

 

базовых

 

реляционн

жений

задающих

 

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

 

преобразования

 

исходных

 

отношений

 

для

 

получения

 

необходимого

 

результата

Как

 

и

 

в

 

обычной

 

алгебре

в

 

реляционной

 

алгеб

бразование

 

выражений

 

с

 

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

 

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

 

правил

 

преобразования

Например

выражение

 

из

 

примера

 1 

((

СТУДЕНТЫ

 

JOIN

 

УСПЕВАЕМОСТЬ

WHERE

 

КОД

_

ДИСЦИПЛ

 

=

 ‘

Д

2

’) [

ИМЯ

]  

(

получить

 

имена

студентов

сдавших

 

дисциплину

 

Д

2

может

 

быть

 

преобразовано

 

к

 

другому

 

эквивалентн

((

УСПЕВАЕМОСТЬ

 

WHERE

 

КОД

_

ДИСЦИПЛ

 = ‘

Д

2

’) 

JOIN

 

СТУДЕНТЫ

)[

ИМЯ

]. 

Можно

 

обратить

 

внимание

что

 

второе

 

выражение

 

возможно

 

более

ационально

 

с

 

точки

 

зрения

 

времени

затрачиваемого

 

на

 

выполнения

 

запроса

ействительно

в

 

нем

 

вначале

 

из

 

отношения

 

УСПЕВАЕМОСТЬ

 

отби

ежи

удовлетворяющие

 

заданному

 

условию

благодаря чему

 

уменьшается

 

число

 

кортежей

участвующих

 

в

 

операции

 

соединения

 

с

 

отношением

 

СТУДЕНТЫ

Этот

 

пример

 

говорит

 

о

 

том

что

 

реляционная

 

лгебра

 

предоставляет

 

возможность

 

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

 

тождественных

 

преобразований

 

алгебраических

 

выражений

 

для

 

оптимизации

 

выполнения

 

запросов

нап

ельности

 

их

 

выполнения

. «

Хорошая

» 

СУБД

 

должна

 

иметь

 

в

 

своем

 

составе

 

средства

осуществляю

висимость

 

времени

 

выполнения

 

зап

ователем


background image

 

65

7.2. 

Реляционное

 

исчисление

 

 

Рассмотренная

 

в

 

предыду

еляционная

 

алгебра

 

является

 

в

 

 

ся

 

операций

 

над

 

данными

Принципиальное

 

отличие

 

этих

 

двух

 

подх

едующем

Алгебра

 

позволяет

 

в

 

явном

 

виде

 

записать

 

посл

  (

выборка

проекция

объединение

 

и

 

т

.

д

.), 

позв

 

из

 

набора

 

входных

 

отношений

 

получить

 

необ

ругими

 

словами

алгебра

 

является

 

средством

позв

системе

каким

 

образом

 

может

 

быть

 

получено

 

резу

вляет

 

собой

 

формальный

 

способ

 

описания

 

выхо

инах

 

входных

 

отношений

не

 

определяя

 

способ

 

щем

 

разделе

 

р

реляционной

 

модели

 

не

 

единственной

 

формальной

 

системой

позволяющей

 

задавать

 

преобразование

 

набора

 

входных

 

отношений

 

для

 

получения

 

необходимого

 

выходного

 

отношения

.

 

Речь

 

идет

 

о

 

реляционном

 

исчислении

Алгебра

 

и

 

исчисление

 

представляют собой

 

два

 

альтернативных

 

подхода

 

к

 

построению

 

формальной

 

системы

реализующей

 

часть

 

реляционной

 

модели

касающую

одов

 

состоит

 

в

 

сл

едовательность

 

операций

оляющих

 

в

 

конечном

 

итоге

Д

ходимый

 

результат

оляющим

 

сообщить

 

льтирую

дное

щее

 

выхо

 

отношение

Исчисление

 

же

 

предста

дного

 

отношения

 

в

 

терм

получения

 

этого

 

выходного

 

отношения

Поясним

 

это

 

на

 

примере

.  

Пусть

 

исходные

 

отношения

 

имеют

 

вид

СТУДЕНТЫ

 

 

 

УСПЕВАЕМОСТЬ

 

 

КОД

_

СТУД

 

ИМЯ

 

ГОРОД

   

КОД

_

СТУД КОД

_

ДИСЦИПЛ

 

ОЦЕНКА

 

С

Иванов

 

Орел

 

 

С

Д

2 5 

С

Петрова

 

Курск

 

 

С

Д

2

 

С

Сидоров

 

Москва

 

 

С

Д

2

 

С

Кузнецов

 

Брянск

 

 

С

Д

6 3 

С

Зайцева

  

Липецк

 

 

С

Д

1 4 

С

Павлов

 

Воронеж

 

 

С

Д

4 5 

С

10 

Котов

 

Орел

 

 

 

 

 

С

15 

Лукин

 

Воронеж

 

 

 

 

 

С

23 

Белкин

 

Воронеж

 

 

 

 

 

Рассмотрим

 

следующий

 

запрос

: «

Получить

 

имена

 

и

 

города

 

для

 

студентов

сдав

го

 

запроса

 

можно

 

представить

 

в

 

виде

 

последовательности

 

 

_

ДИСЦИПЛ

 

равно

 

Д

2

2

соединения

  (

JOIN

полученного

 

отношения

 

с

 

отношением

 

СТУДЕНТЫ

ших

 

дисциплину

 

Д

Алгебраический

 

вариант

 

это

следующих

 

действий

1.

 

Выбрать

 

из

 

отношения

 

УСПЕВАЕМОСТЬ

 

кортежи

для

 

которых

 

значение

 

атрибута

КОД

.

 

Произвести

 

операцию

 

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