1 / 31

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

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

kailey
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

  8. Реляционная алгебра • Языки реляционной алгебры более наглядны. • Например: ISBL (базовый язык информационных систем) основанный на реляционной алгебре. Широкого распространения не получил.

  9. Основные операции Объединение Разность Пересечение Произведение Деление

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

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

  12. БАЗОВЫЕ ТЕОРЕТИКО-МНОЖЕСТВЕННЫЕ ВКЛЮЧАЮТ:ОБЪЕДИНЕНИЕ РАЗНОСТЬ ПЕРЕСЕЧЕНИЕ ПРОИЗВЕДЕНИЕ

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

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

  15. ДВУХ СОВМЕСТИМЫХ ОТНОШЕНИЙ R1 И R2 ОДИНАКОВОЙ РАЗМЕРНОСТИ ЯВЛЯЕТСЯ ОТНОШЕНИЕ R , СОДЕРЖАШЕЕ ВСЕ ЭЛЕМЕНТЫ ИСХОДНЫХ ОТНОЩЕНИЙ(C ИСКЛЮЧЕНИЕМ ПОВТОРЕНИЙ). ОБЪЕДИНЕНИЕМ

  16. СОВМЕСТИМЫХ ОТНОШЕНИЙ R1 И R2 ОДИНАКОВОЙ РАЗМЕРНОСТИ ЕСТЬ ОТНОШЕНИЕ, ТЕЛО КОТОРОГО СОСТОИТ ИЗ МНОЖЕСТВА РАЗНОСТЬ

  17. ДВУХ СОВМЕСТИМЫХ ОТНОШЕНИЙ R1 И R2 ОДИНАКОВОЙ РАЗМЕРНОСТИ ПОРОЖДАЕТ ОТНОШЕНИЕ R С ТЕЛОМ, ВКЛЮЧАЮЩИМ В СЕБЯ КОРТЕЖИ, ОДНОВРЕМЕННО ПРИНАДЛЕЖАЩИЕ ОБОИМ ИСХОДНЫМ ОТНОШЕНИЯМ. ПЕРЕСЕЧЕНИЕ

  18. ОТНОШЕНИЯ R1СТЕПЕНИ К1 И ОТНОШЕНИЯ R2 СТЕПЕНИ К2 , КОТОРЫЕ НЕ ИМЕЮТ ОДИНАКОВЫХ ИМЕН АТРИБУТОВ, ЕСТЬ ТАКОЕ ОТНОШЕНИЕ R СТЕПЕНИ(К1+К2), ЗАГОЛОВОК КОТОРОГО ПРЕДСТАВЛЯЕТ СЦЕПЛЕНИЕ ЗАГОЛОВКОВ ОТНОШЕНИЙ R1 И R2, А ТЕЛО-ИМЕЕТ КОРТЕЖИ, ТАКИЕ, ЧТО К1 ЭЛЕМЕНТОВ КОРТЕЖЕЙ ПРИНАДЛЕЖАТ МНОЖЕСТВУ R1,А ПОСЛЕДНИЕ К2 ЭЛЕМЕНТОВ-МНОЖЕСТВУ R2. ПРОИЗВЕДЕНИЕ

  19. ОТНОШЕНИЯ R ПО ФОРМУЛEf ПРЕДСТАВЛЯЕТ СОБОЙ НОВОЕ ОТНОШЕНИЕ С ТАКИМ ЖЕ ЗАГОЛОВКОМ ТЕЛОМ, СОСТОЯЩИМ ИЗ ТАКИХ КОРТЕЖЕЙ ОТНОШЕНИЯ R,КОТОРЫЕ УДОВЛЕТВОРЯЮТ ИСТИННОСТИ ЛОГИЧЕСКОГО ВЫРАЖЕНИЯ, ЗАДАННОГО ФОРМУЛОЙ f. ВЫБОРКА

  20. SP WHERE П#=“S1”AND Д#=“P1” ДЛЯ ЗАПИСИ ФОРМУЛЫ ИСПОЛЬЗУЮТСЯ ОПЕРАНДЫ-ИМЕНА АТРИБУТОВ(ИЛИ НОМЕРА СТОЛБЦОВ), КОНСТАНТЫ, ЛОГИЧЕСКИЕ ОПЕРАЦИИ(AND-И, OR-ИЛИ, NOT-НЕ),ОПЕРАЦИИ СРАВНЕНИЯ И СКОБКИ.ПРИМЕР ВЫБОРКИ. Д# НАЗВАНИЕ ТИП ВЕС ГОРОД_Д P1 ГАЙКА КАЛЕНЫЙ 12 МОСКВА P5 ПАЛЕЦ ТВЕРДЫЙ 12 КИЕВ П# Д# КОЛИЧЕСТВО S1 P1 300

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

  22. ПРИМЕР ПРОЕКЦИИ. ТИП ГОРОД_Д P[ТИП, ГОРОД_Д] (S WHERE ГОРОД_П=“КИЕВ”) [П#] КАЛЕНЫЙ МОСКВА МЯГКИЙ КИЕВ ТВЕРДЫЙ РОСТОВ ТВЕРДЫЙ КИЕВ П# ГОРОД_П S2 КИЕВ S3 КИЕВ

  23. ОТНОШЕНИЯ R1 C АТРИБУТАМИ А И Б НА ОТНОШЕНИЕ R2 С АТРИБУТОМ В(R1 DIVIDEBY R2), ГДЕ А И Б ПРОСТЫЕ ИЛИ СОСТАВНЫЕ АТРИБУТЫ, ПРИЧЁМ АТРИБУТ В-ОБЩИЙ АТРИБУТ, ОПРЕДЕЛЕННЫЙ НА ОДНОМ И ТОМ ЖЕ ДОМЕНЕ, ЯВЛЯЕТСЯ ОТНОШЕНИЕ R С ЗАГОЛОВКОМ А И ТЕЛОМ, СОСТОЯЩИМ ИЗ КОРТЕЖЕЙ r ТАКИХ,ЧТО В ОТНОШЕНИИ R1 ИМЕЮТСЯ КОРТЕЖИ(r, s), ПРИЧЁМ МНОЖЕСТВО ЗНАЧЕНИЙ s ВКЛЮЧАЕТ МНОЖЕСТВО ЗНАЧЕНИЙ АТРИБУТА В ОТНОШЕНИЯ R2. РЕЗУЛЬТАТОМ ДЕЛЕНИЯ

  24. ПРИМЕР ДЕЛЕНИЯ ОТНОШЕНИЯ.ПУСТЬ R1-ПРОЕКЦИЯ SP[П#,Д#], а R2-ОТНОШЕНИЕ С ЗАГОЛОВКОМ Д# И ТЕЛОМ{P2,P4}, ТОГДА РЕЗУЛЬТАТОМ ДЕЛЕНИЯ R1 НА R2 БУДЕТ ОТНОШЕНИЕ R С ЗАГОЛОВКОМ П# И ТЕЛОМ {S1,S4}. R1 R2 R1 DIVIDEBY R2 П# Д# Д# П# S1 P1 P2 S1 S1 P2 P4 S4 S1 P3 S1 P4 S1 P5 S1 P6 S2 P1 S2 P2 S3 P2 S4 P2 S4 P4 S4 P5

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

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

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

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

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

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

  31. Структурирование языка запросов SELECT [ ] <список данных> FROM <список таблиц> [WHERE <условие>] GROUPBY<имя столбца> HAVING ORDER BY

More Related