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

Post on 08-Jan-2016

69 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

А Х

В Х

С У

Х

У

В

А

С

А

А

В

С

А

А

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Д#

P1

P5

НАЗВАНИЕ

ГАЙКА

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

P1

Д#

S1

П#

ПАЛЕЦ

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

300

КОЛИЧЕСТВО

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

ПРОЕКЦИЯПРОЕКЦИЯ ОТНОШЕНИЯ А НА АТРИБУТЫ ОТНОШЕНИЯ А НА АТРИБУТЫ 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 ЗАПРЕЩАЕТСЯ.ЗАПРЕЩАЕТСЯ.

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

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

ТИП

КАЛЕНЫЙ

МЯГКИЙ

ТВЕРДЫЙ

ТВЕРДЫЙ КИЕВ

РОСТОВ

КИЕВ

ГОРОД_Д

МОСКВА

ГОРОД_ПП#

КИЕВS3

КИЕВS2

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

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

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

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

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

ПРИМЕР ПРИМЕР ДЕЛЕНИЯ ОТНОШЕНИЯДЕЛЕНИЯ ОТНОШЕНИЯ..ПУСТЬ ПУСТЬ 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

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

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

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

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

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

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

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

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

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

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

SELECTSELECT [ ] [ ]

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

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

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

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

HAVINGHAVING

ORDER BYORDER BY

top related