31
Теоретические Теоретические языки запросов языки запросов

Теоретические языки запросов

  • Upload
    kailey

  • View
    69

  • Download
    3

Embed Size (px)

DESCRIPTION

Теоретические языки запросов. Операции, выполняемые над отношениями разделенными на две группы: Первая группа : операции объединения, пересечения, деления и произведения. Вторая группа : операции проекции, разъединения и выбора. - PowerPoint PPT Presentation

Citation preview

Page 1: Теоретические языки запросов

Теоретические Теоретические языки запросовязыки запросов

Page 2: Теоретические языки запросов

Операции, выполняемые над отношениями Операции, выполняемые над отношениями разделенными на две группы:разделенными на две группы:

Первая группаПервая группа: операции объединения, : операции объединения, пересечения, деления и произведения.пересечения, деления и произведения.

Вторая группаВторая группа: операции проекции, : операции проекции, разъединения и выбора.разъединения и выбора.

Page 3: Теоретические языки запросов

В реляционных СУБД выполняются операции В реляционных СУБД выполняются операции над отношениями, использующими две группы над отношениями, использующими две группы языков, имеющими в качестве математической языков, имеющими в качестве математической основы теоретические языки запросовосновы теоретические языки запросов::

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

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

Page 4: Теоретические языки запросов

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

Page 5: Теоретические языки запросов

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

Page 6: Теоретические языки запросов

Такой язык называют не процедурнымТакой язык называют не процедурным

(декларативным или описательным).(декларативным или описательным).

Он позволяет формировать запросы с Он позволяет формировать запросы с помощью условий которых должны помощью условий которых должны удовлетворяться картежи и домены.удовлетворяться картежи и домены.

Page 7: Теоретические языки запросов

Для этих языков Для этих языков характерно наличие характерно наличие правил для записи правил для записи запросов запросов

Page 8: Теоретические языки запросов

Реляционная алгебраРеляционная алгебра Языки реляционной алгебры более Языки реляционной алгебры более

наглядны.наглядны. Например: Например: ISBL (ISBL (базовый язык базовый язык

информационных системинформационных систем)) основанный на основанный на реляционной алгебре. Широкого реляционной алгебре. Широкого распространения не получил.распространения не получил.

Page 9: Теоретические языки запросов

Основные операцииОсновные операции

ОбъединениеОбъединение

РазностьРазность

ПересечениеПересечение

ПроизведениеПроизведение

ДелениеДеление

Page 10: Теоретические языки запросов

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

Page 11: Теоретические языки запросов

ВАРИАНТ РЕЛЯЦИОННОЙ ВАРИАНТ РЕЛЯЦИОННОЙ АЛГЕБРЫ,ПРЕДЛОЖЕННЫЕ АЛГЕБРЫ,ПРЕДЛОЖЕННЫЕ КОДДОМ, ВКЛЮЧАЕТ В СЕБЯ КОДДОМ, ВКЛЮЧАЕТ В СЕБЯ СЛЕДУЮЩИЕ ОСНОВНЫЕ СЛЕДУЮЩИЕ ОСНОВНЫЕ ОПЕРАЦИИ, КОТОРЫЕ МОЖНО ОПЕРАЦИИ, КОТОРЫЕ МОЖНО РАЗДЕЛИТЬ НА ДВЕ ГРУППЫ:РАЗДЕЛИТЬ НА ДВЕ ГРУППЫ:БАЗОВЫЕ ТЕОРЕТИКО-БАЗОВЫЕ ТЕОРЕТИКО-МНОЖЕСТВЕННЫЕМНОЖЕСТВЕННЫЕ И И

СПЕЦИАЛЬНЫЕ РЕЛЯЦИОННЫЕ.СПЕЦИАЛЬНЫЕ РЕЛЯЦИОННЫЕ.

Page 12: Теоретические языки запросов

БАЗОВЫЕ ТЕОРЕТИКО-МНОЖЕСТВЕННЫЕ БАЗОВЫЕ ТЕОРЕТИКО-МНОЖЕСТВЕННЫЕ ВКЛЮЧАЮТ:ВКЛЮЧАЮТ:

ОБЪЕДИНЕНИЕ РАЗНОСТЬ ПЕРЕСЕЧЕНИЕОБЪЕДИНЕНИЕ РАЗНОСТЬ ПЕРЕСЕЧЕНИЕ

ПРОИЗВЕДЕНИЕПРОИЗВЕДЕНИЕ

Page 13: Теоретические языки запросов

СПЕЦИАЛЬНЫЕ РЕЛЯЦИОННЫЕ ВКЛЮЧАЮТ СПЕЦИАЛЬНЫЕ РЕЛЯЦИОННЫЕ ВКЛЮЧАЮТ СОЕДИНЕНИЕ ДЕЛЕНИЕСОЕДИНЕНИЕ ДЕЛЕНИЕ

А Х

В Х

С У

Х

У

В

А

С

А

А

В

С

А

А

Page 14: Теоретические языки запросов

ВЫБОРКА ПРОЕКЦИЯВЫБОРКА ПРОЕКЦИЯ

Page 15: Теоретические языки запросов

ДВУХ СОВМЕСТИМЫХ ДВУХ СОВМЕСТИМЫХ ОТНОШЕНИЙ ОТНОШЕНИЙ R1R1 И И R2 R2 ОДИНАКОВОЙ ОДИНАКОВОЙ

РАЗМЕРНОСТИ ЯВЛЯЕТСЯ ОТНОШЕНИЕ РАЗМЕРНОСТИ ЯВЛЯЕТСЯ ОТНОШЕНИЕ RR , , СОДЕРЖАШЕЕ ВСЕ ЭЛЕМЕНТЫ ИСХОДНЫХ СОДЕРЖАШЕЕ ВСЕ ЭЛЕМЕНТЫ ИСХОДНЫХ

ОТНОЩЕНИЙОТНОЩЕНИЙ(C(C ИСКЛЮЧЕНИЕМ ПОВТОРЕНИЙ). ИСКЛЮЧЕНИЕМ ПОВТОРЕНИЙ).

ОБЪЕДИНЕНИЕМОБЪЕДИНЕНИЕМ

Page 16: Теоретические языки запросов

СОВМЕСТИМЫХ ОТНОШЕНИЙ СОВМЕСТИМЫХ ОТНОШЕНИЙ R1R1 И И R2 R2 ОДИНАКОВОЙ РАЗМЕРНОСТИ ЕСТЬ ОДИНАКОВОЙ РАЗМЕРНОСТИ ЕСТЬ

ОТНОШЕНИЕ, ТЕЛО КОТОРОГО СОСТОИТ ИЗ ОТНОШЕНИЕ, ТЕЛО КОТОРОГО СОСТОИТ ИЗ МНОЖЕСТВАМНОЖЕСТВА

РАЗНОСТЬРАЗНОСТЬ

Page 17: Теоретические языки запросов

ДВУХ СОВМЕСТИМЫХ ОТНОШЕНИЙДВУХ СОВМЕСТИМЫХ ОТНОШЕНИЙ R1R1 И И R2 R2 ОДИНАКОВОЙ РАЗМЕРНОСТИ ОДИНАКОВОЙ РАЗМЕРНОСТИ ПОРОЖДАЕТ ОТНОШЕНИЕ ПОРОЖДАЕТ ОТНОШЕНИЕ R R С ТЕЛОМ, С ТЕЛОМ,

ВКЛЮЧАЮЩИМ В СЕБЯ КОРТЕЖИ, ВКЛЮЧАЮЩИМ В СЕБЯ КОРТЕЖИ, ОДНОВРЕМЕННО ПРИНАДЛЕЖАЩИЕ ОБОИМ ОДНОВРЕМЕННО ПРИНАДЛЕЖАЩИЕ ОБОИМ

ИСХОДНЫМ ОТНОШЕНИЯМ.ИСХОДНЫМ ОТНОШЕНИЯМ.

ПЕРЕСЕЧЕНИЕПЕРЕСЕЧЕНИЕ

Page 18: Теоретические языки запросов

ОТНОШЕНИЯ ОТНОШЕНИЯ R1R1 СТЕПЕНИ К1 И СТЕПЕНИ К1 И ОТНОШЕНИЯ ОТНОШЕНИЯ R2 R2 СТЕПЕНИ К2 , КОТОРЫЕ НЕ СТЕПЕНИ К2 , КОТОРЫЕ НЕ ИМЕЮТ ОДИНАКОВЫХ ИМЕН АТРИБУТОВ, ИМЕЮТ ОДИНАКОВЫХ ИМЕН АТРИБУТОВ,

ЕСТЬ ТАКОЕ ОТНОШЕНИЕ ЕСТЬ ТАКОЕ ОТНОШЕНИЕ R R СТЕПЕНИ(К1+К2), СТЕПЕНИ(К1+К2), ЗАГОЛОВОК КОТОРОГО ПРЕДСТАВЛЯЕТ ЗАГОЛОВОК КОТОРОГО ПРЕДСТАВЛЯЕТ

СЦЕПЛЕНИЕ ЗАГОЛОВКОВ ОТНОШЕНИЙ СЦЕПЛЕНИЕ ЗАГОЛОВКОВ ОТНОШЕНИЙ R1 R1 И И R2R2, А ТЕЛО-ИМЕЕТ КОРТЕЖИ, ТАКИЕ, ЧТО К1 , А ТЕЛО-ИМЕЕТ КОРТЕЖИ, ТАКИЕ, ЧТО К1

ЭЛЕМЕНТОВ КОРТЕЖЕЙ ПРИНАДЛЕЖАТ ЭЛЕМЕНТОВ КОРТЕЖЕЙ ПРИНАДЛЕЖАТ МНОЖЕСТВУ МНОЖЕСТВУ R1R1,, А ПОСЛЕДНИЕ К2 А ПОСЛЕДНИЕ К2

ЭЛЕМЕНТОВ-МНОЖЕСТВУ ЭЛЕМЕНТОВ-МНОЖЕСТВУ R2R2..

ПРОИЗВЕДЕНИЕПРОИЗВЕДЕНИЕ

Page 19: Теоретические языки запросов

ОТНОШЕНИЯОТНОШЕНИЯ R R ПО ФОРМУЛ ПО ФОРМУЛEE f f ПРЕДСТАВЛЯЕТ СОБОЙ НОВОЕ ОТНОШЕНИЕ С ПРЕДСТАВЛЯЕТ СОБОЙ НОВОЕ ОТНОШЕНИЕ С

ТАКИМ ЖЕ ЗАГОЛОВКОМ ТЕЛОМ, СОСТОЯЩИМ ТАКИМ ЖЕ ЗАГОЛОВКОМ ТЕЛОМ, СОСТОЯЩИМ ИЗ ТАКИХ КОРТЕЖЕЙ ОТНОШЕНИЯ ИЗ ТАКИХ КОРТЕЖЕЙ ОТНОШЕНИЯ RR,,

КОТОРЫЕ УДОВЛЕТВОРЯЮТ ИСТИННОСТИ КОТОРЫЕ УДОВЛЕТВОРЯЮТ ИСТИННОСТИ ЛОГИЧЕСКОГО ВЫРАЖЕНИЯ, ЗАДАННОГО ЛОГИЧЕСКОГО ВЫРАЖЕНИЯ, ЗАДАННОГО

ФОРМУЛОЙ ФОРМУЛОЙ ff..

ВЫБОРКАВЫБОРКА

Page 20: Теоретические языки запросов

ДЛЯ ЗАПИСИ ФОРМУЛЫ ИСПОЛЬЗУЮТСЯ ОПЕРАНДЫ-ДЛЯ ЗАПИСИ ФОРМУЛЫ ИСПОЛЬЗУЮТСЯ ОПЕРАНДЫ-ИМЕНА АТРИБУТОВ(ИЛИ НОМЕРА СТОЛБЦОВ), ИМЕНА АТРИБУТОВ(ИЛИ НОМЕРА СТОЛБЦОВ),

КОНСТАНТЫ, ЛОГИЧЕСКИЕ ОПЕРАЦИИ(КОНСТАНТЫ, ЛОГИЧЕСКИЕ ОПЕРАЦИИ(AND-AND-И,И, OR- OR-ИЛИ,ИЛИ, NOT-NOT-НЕНЕ)),ОПЕРАЦИИ СРАВНЕНИЯ И СКОБКИ.,ОПЕРАЦИИ СРАВНЕНИЯ И СКОБКИ.

ПРИМЕР ПРИМЕР ВЫБОРКИВЫБОРКИ..

SP WHERE SP WHERE ПП## =“S1”AND =“S1”AND ДД## =“P1”=“P1”

Д#

P1

P5

НАЗВАНИЕ

ГАЙКА

ГОРОД_ДТИП ВЕС

P1

Д#

S1

П#

ПАЛЕЦ

МОСКВА12КАЛЕНЫЙ

300

КОЛИЧЕСТВО

КИЕВ12ТВЕРДЫЙ

Page 21: Теоретические языки запросов

ПРОЕКЦИЯПРОЕКЦИЯ ОТНОШЕНИЯ А НА АТРИБУТЫ ОТНОШЕНИЯ А НА АТРИБУТЫ X,Y,…,Z(A[X,Y,…,Z]), X,Y,…,Z(A[X,Y,…,Z]), ГДЕ МНОЖЕСТВО (ГДЕ МНОЖЕСТВО (X,Y,X,Y,…,Z) …,Z) ЯВЛЯЕТСЯ ПОДМНОЖЕСТВОМ ЯВЛЯЕТСЯ ПОДМНОЖЕСТВОМ ПОЛНОГО СПИСКА АТРИБУТОВ ПОЛНОГО СПИСКА АТРИБУТОВ ЗАГОЛОВКА ОТНОШЕНИЯ А, ЗА ЗАГОЛОВКА ОТНОШЕНИЯ А, ЗА ИСКЛЮЧЕНИЕМ ПОВТОРЯЮЩИХСЯ ИСКЛЮЧЕНИЕМ ПОВТОРЯЮЩИХСЯ КОРТЕЖЕЙ. ПОВТОРЕНИЕ ОДИНАКОВЫХ КОРТЕЖЕЙ. ПОВТОРЕНИЕ ОДИНАКОВЫХ АТРИБУТОВ В СПИСКЕ АТРИБУТОВ В СПИСКЕ X,Y,…,Z X,Y,…,Z ЗАПРЕЩАЕТСЯ.ЗАПРЕЩАЕТСЯ.

Page 22: Теоретические языки запросов

ПРИМЕР ПРИМЕР ПРОЕКЦИИПРОЕКЦИИ..P[P[ТИП, ГОРОД_ДТИП, ГОРОД_Д] ]

(S WHERE (S WHERE ГОРОД_П=ГОРОД_П=““КИЕВКИЕВ””) ) [[ПП#]#]

ТИП

КАЛЕНЫЙ

МЯГКИЙ

ТВЕРДЫЙ

ТВЕРДЫЙ КИЕВ

РОСТОВ

КИЕВ

ГОРОД_Д

МОСКВА

ГОРОД_ПП#

КИЕВS3

КИЕВS2

Page 23: Теоретические языки запросов

ОТНОШЕНИЯ ОТНОШЕНИЯ R1 C R1 C АТРИБУТАМИ А И Б НА ОТНОШЕНИЕ АТРИБУТАМИ А И Б НА ОТНОШЕНИЕ R2R2 С С АТРИБУТОМ В(АТРИБУТОМ В(R1 DIVIDEBY R2R1 DIVIDEBY R2)), , ГДЕ А И Б ГДЕ А И Б ПРОСТЫЕ ИЛИ СОСТАВНЫЕ АТРИБУТЫ, ПРОСТЫЕ ИЛИ СОСТАВНЫЕ АТРИБУТЫ, ПРИЧЁМ АТРИБУТ В-ОБЩИЙ АТРИБУТ, ПРИЧЁМ АТРИБУТ В-ОБЩИЙ АТРИБУТ, ОПРЕДЕЛЕННЫЙ НА ОДНОМ И ТОМ ЖЕ ОПРЕДЕЛЕННЫЙ НА ОДНОМ И ТОМ ЖЕ ДОМЕНЕ, ЯВЛЯЕТСЯ ОТНОШЕНИЕ ДОМЕНЕ, ЯВЛЯЕТСЯ ОТНОШЕНИЕ R R С С

ЗАГОЛОВКОМ А И ТЕЛОМ, СОСТОЯЩИМ ИЗ ЗАГОЛОВКОМ А И ТЕЛОМ, СОСТОЯЩИМ ИЗ КОРТЕЖЕЙ КОРТЕЖЕЙ r r ТАКИХ,ЧТО В ОТНОШЕНИИ ТАКИХ,ЧТО В ОТНОШЕНИИ R1R1

ИМЕЮТСЯ КОРТЕЖИ(ИМЕЮТСЯ КОРТЕЖИ(r, sr, s)),, ПРИЧЁМ ПРИЧЁМ МНОЖЕСТВО ЗНАЧЕНИЙ МНОЖЕСТВО ЗНАЧЕНИЙ s s ВКЛЮЧАЕТ ВКЛЮЧАЕТ МНОЖЕСТВО ЗНАЧЕНИЙ АТРИБУТА В МНОЖЕСТВО ЗНАЧЕНИЙ АТРИБУТА В

ОТНОШЕНИЯОТНОШЕНИЯ R2. R2.

РЕЗУЛЬТАТОМРЕЗУЛЬТАТОМ ДЕЛЕНИЯ ДЕЛЕНИЯ

Page 24: Теоретические языки запросов

ПРИМЕР ПРИМЕР ДЕЛЕНИЯ ОТНОШЕНИЯДЕЛЕНИЯ ОТНОШЕНИЯ..ПУСТЬ ПУСТЬ R1-R1-ПРОЕКЦИЯ ПРОЕКЦИЯ SPSP [[ПП#,#,ДД#], #], а а R2R2-ОТНОШЕНИЕ С ЗАГОЛОВКОМ -ОТНОШЕНИЕ С ЗАГОЛОВКОМ

ДД## И ТЕЛОМ И ТЕЛОМ{P2,P4}, {P2,P4}, ТОГДА РЕЗУЛЬТАТОМ ДЕЛЕНИЯ ТОГДА РЕЗУЛЬТАТОМ ДЕЛЕНИЯ R1 R1 НА НА R2 R2 БУДЕТ ОТНОШЕНИЕ БУДЕТ ОТНОШЕНИЕ R R С ЗАГОЛОВКОМ ПС ЗАГОЛОВКОМ П## И ТЕЛОМ И ТЕЛОМ {S1,S4}.{S1,S4}.

R1 R2 R1 DIVIDEBY R2R1 R2 R1 DIVIDEBY R2

S4

П#

P4

P2

S4

S1

П#Д#

S1

S1

S2

S1

S1

S1

S1

S4

S4

S3

S2

P5

P4

P2

Д#

P1

P2

P3

P4

P5

P6

P1P2

P2

Page 25: Теоретические языки запросов

соединениесоединение ССff((R1,R2)R1,R2) ОТНОЩЕНИЙ ОТНОЩЕНИЙ R1 R1 ИИ R2 R2 ПО УСЛОВИЮ, ЗАДАННОМУ ФОРМУЛОЙ ПО УСЛОВИЮ, ЗАДАННОМУ ФОРМУЛОЙ ff, , ПРЕДСТАВЛЯЕТ СОБОЙ ОТНОШЕНИЕ ПРЕДСТАВЛЯЕТ СОБОЙ ОТНОШЕНИЕ R,R, КОТОРОЕ МОЖНО ПОЛУЧИТЬ ПУТЁМ КОТОРОЕ МОЖНО ПОЛУЧИТЬ ПУТЁМ ДЕКАРТОВА ПРОИЗВЕДЕНИЯ ОТНОШЕНИЙ ДЕКАРТОВА ПРОИЗВЕДЕНИЯ ОТНОШЕНИЙ R1R1 И И R2 R2 С ПОСЛЕДУЮЩИМ С ПОСЛЕДУЮЩИМ ПРИМЕНЕНИЕМ К РЕЗУЛЬТАТУ ОПЕРАЦИИ ПРИМЕНЕНИЕМ К РЕЗУЛЬТАТУ ОПЕРАЦИИ ВЫБОРКИ ПО ФОРМУЛЕ ВЫБОРКИ ПО ФОРМУЛЕ f.f.

Page 26: Теоретические языки запросов

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

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

Page 27: Теоретические языки запросов

Язык запросов по образцуЯзык запросов по образцу

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

Page 28: Теоретические языки запросов

Для подготовки запросов в СУБД Для подготовки запросов в СУБД часто используют язык запросов часто используют язык запросов по образцу и структуре языка по образцу и структуре языка запросов.запросов.

Page 29: Теоретические языки запросов

Разница между ними Разница между ними заключается в способе заключается в способе формирования запросаформирования запроса

Page 30: Теоретические языки запросов

КБЕКБЕ предполагает ручное или предполагает ручное или визуальное формирование запроса.визуальное формирование запроса.

SQLSQL предполагает предполагает программирование запросов.программирование запросов.

Page 31: Теоретические языки запросов

Структурирование языка Структурирование языка запросовзапросов

SELECTSELECT [ ] [ ]

<<список данныхсписок данных>>

FROMFROM < <список таблицсписок таблиц>>

[[WHEREWHERE < <условиеусловие>]>]

GROUPGROUP BYBY<<имя столбцаимя столбца>>

HAVINGHAVING

ORDER BYORDER BY