Лекция "Характеристика языков запросов БД. Примеры."

  • Лекции
  • docx
  • 14.03.2017
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

В реляционных СУБД для выполнения операций над отношениями используются две группы языков, имеющие в качестве своей математической основы теоретические языки запросов, предложенные Э.Коддом: - реляционная алгебра; - реляционное исчисление. Эти языки представляют минимальные возможности реальных языков манипулирования данными в соответствии с реляционной моделью и эквивалентны друг другу по своим выразительным возможностям. Существуют не очень сложные правила преобразования запросов между ними
Иконка файла материала билет 27 тема 3.docx
билет 27 тема 3 1. характеристика языков запросов БД. Примеры. В реляционных СУБД для выполнения операций над отношениями используются две  группы языков, имеющие в качестве своей математической основы теоретические языки  запросов, предложенные Э.Коддом: ­ реляционная алгебра; ­ реляционное исчисление.  Эти языки представляют минимальные возможности реальных языков манипулирования  данными в соответствии с реляционной моделью и эквивалентны друг другу по своим  выразительным возможностям. Существуют не очень сложные правила преобразования  запросов между ними. В реляционной алгебре операнды и результаты всех действий являются отношениями.  Языки исчислений, в отличие от реляционной алгебры, являются непроцедурными  (описательными, или декларативными) и позволяют выражать запросы с помощью  предиката первого порядка (высказывания в виде функции), которому должны  удовлетворять кортежи или домены отношений. Запрос к БД, выполненный с  использованием подобного языка, содержит лишь информацию о желаемом результате. Для этих языков характерно наличие наборов правил для записи запросов. В частности, к  языкам этой группы относится SQL. Язык SQL предназначен для выполнения: а) операций над таблицами (создание, удаление, изменение структуры); б) над данными таблиц (выборка, изменение, добавление и удаление) в) некоторых сопутствующих операций (управление доступом, управление индексами,  управление транзакциями и др.).  SQL является непроцедурным языком и не содержит операторов управления, организации  подпрограмм, ввода­вывода и т.п. В связи с этим SQL автономно не используется, обычно  он погружен в среду встроенного языка программирования СУБД (например, FoxPro  СУБД Visual FoxPro, ObjectPAL СУБД Paradox, Visual Basic for Applications СУБД  Access). В современных СУБД с интерактивным интерфейсом можно создавать запросы, используя  другие средства, например QBE. Однако применение SQL зачастую позволяет повысить  эффективность обработки данных в базе. Например, при подготовке запроса в среде Access можно перейти из окна Конструктора запросов (формулировки запроса по образцу на  языке QBE) в окно с эквивалентным оператором SQL. Подготовку нового запроса путем  редактирования уже имеющегося в ряде случае проще выполнить путем изменения  оператора SQL. В различных СУБД состав операторов SQL может несколько отличаться. Язык SQL не обладает функциями полноценного языка разработки, а ориентирован на  доступ к данным, поэтому его включают в состав средств разработки программ. В этом  случае его называют встроенным SQL. Стандарт языка SQL поддерживают современные  реализации следующих языков программирования: PL/1, Ada, С, COBOL, Fortran, MUMPS  и Pascal. В специализированных системах разработки приложений типа клиент­сервер (данную  архитектуру мы рассмотрим позже) среда программирования, кроме того, обычно  дополнена коммуникационными средствами (установление и разъединение соединений с серверами БД, обнаружение и обработка возникающих в сети  ошибок и. т. д.), средствами разработки пользовательских интерфейсов, средствами  проектирования и отладки. Различают два основных метода использования встроенного SQL: статический и  динамический.При статическом использовании языка (статический SQL) в тексте программы имеются  фиксированные по структуре вызовы функций языка SQL, включаемые в выполняемый  модуль в процессе компиляции. Параметры запросов (обычно представляют константные  значения, с которыми сравниваются значения полей в таблицах), являющиеся переменными языка программирования, позволяют добиться некоторой гибкости статических запросов. При динамическом использовании языка (динамический SQL) предполагается  динамическое построение запроса в форме текстовой строки. Данная строка используется  как параметр для функции выполнения SQL­запросов, которая выполняет синтаксический  анализ строки запроса и формирует на его основе последовательность команд БД.  Динамический метод обычно применяется в случаях, когда в приложении заранее  неизвестен вид SQL­вызова. В результате выборки данных из одной или нескольких, таблиц может быть получено  множество записей, называемое представлением. Представление по существу является  таблицей, формируемой в результате выполнения запроса, которая существует  «виртуально» только до завершения выполнения программы.  Для удобства работы с представлениями в язык SQL введено понятие курсора. Курсор  представляет собой своеобразный указатель на набор записей в представлении,  обеспечивающий в каждый момент доступ лишь к некоторой небольшой части строк  представления. С помощью операторов перемещения курсора по записям можно получить  доступ ко всем строкам таблицы