Вход/Регистрация
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
вернуться

Борри Хелен

Шрифт:

Firebird и стандарты

Соответствие стандарту - это, скорее, вопрос уровня соответствия, а не абсолют. Разработчики могут свободно реализовывать возможности языка, не описанные в стандарте. Соответствие касается способов реализации возможностей, распознаваемых стандартом и описанных в нем (если таковые есть). Соответствие изменяется обратно пропорционально с количеством стандартных возможностей, внедряемых типично.

Язык SQL Firebird близко соответствует стандартам SQL-92 (ISO/IEC 9075:1992) на начальном уровне (entry level). Firebird вводит множество возможностей в соответствии с более поздним релизом стандарта SQL-99. Хотя SQL в Firebird близко соответствует стандартам, существуют небольшие отличия.

Операторы SQL

Оператор SQL используется для выполнения запроса к базе данных. Язык запросов выражается в операторах, которые задают цель: что должно быть сделано (операция), объекты, с которыми это должно быть сделано, и детализация, как это должно быть сделано. По теории каждое возможное взаимодействие между внешним миром и базой данных осуществляется через синтаксис оператора.

Синтаксические конструкции операторов группируются в соответствии с двумя основными целями.

* Операторы CREATE, ALTER и DROP над объектами метаданных (также называемые объектами схемы или элементами схемы). Язык таких запросов называется языком определения данных (Data Definition Language, DDL).

* Операторы, выполняющие действия над данными. Они представляют язык для определения наборов данных в виде столбцов и строк и задают операции для:

• поиска и преобразования (SELECT) образов таких наборов данных из хранилища данных для чтения приложениями;

• изменения состояния базы данных путем добавления, изменения и удаления указанных наборов (операторы INSERT, UPDATE и DELETE).

Такие операторы, которые выполняют действия над данными, относятся к языку, называемому языком манипулирования данными (Data Manipulation Language, DML).

Реализация в Firebird языка SQL разбивается на несколько пересекающихся подмножеств, каждое из которых используется для специальных целей и включает свои собственные языковые расширения.

* Встраиваемый SQL (Embedded SQL, ESQL) - это "базовая" реализация SQL, состоящая из синтаксиса DDL и DML, которые включаются и в другие подмножества, где это возможно. Это было первоначальной реализацией SQL в предшественнике InterBase, разработанной для включения в клиентские приложения и требующей препроцессора GPRE.

* Динамический SQL (Dynamic SQL, DSQL) - это подмножество наиболее часто используется сегодня. Оно используется во всех программах интерфейса с базой

– данных, которые общаются с сервером через интерфейс прикладного программирования (Application Programming Interface, API). Некоторые команды DDL, доступные в ESQL, которые не могут быть реализованы в DSQL, заменяются вызовами функций API.

* Интерактивный SQL (Interactive SQL, ISQL)- это язык, реализованный в утилите командной строки isql. Он основан на DSQL с расширениями просмотра метаданных и некоторой системной статистики, а также для управления сессиями isql.

* Процедурный SQL (Procedural SQL, PSQL) - это язык для написания хранимых процедур и триггеров. Он состоит из всех операторов DML с добавлением множества процедурных расширений.

Язык определения данных (DDL)

При определении метаданных для использования в базе данных Firebird мы используем лексикон операторов и параметров стандартов SQL для создания объекта с его типом и именем - или идентификатором, - а также для задания и изменения его атрибутов. В этом лексиконе также присутствуют операторы для удаления объектов.

Запросы с использованием DDL зарезервированы для целей определения метаданных, следовательно:

* аккуратно управляйте ими, если вы реализуете их использование в приложениях конечного пользователя;

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

Язык DDL в Firebird описан в частях III и IV. Определение просмотров, предоставление и отмена привилегий SQL также относятся к DDL. Просмотры, которые объединяют операторы DDL и DML, обсуждаются в главе 24. Определение и поддержка разрешений SQL описывается в главе 35.

Язык манипулирования данными (DML)

Операторы DML, их синтаксис и выражения для поиска и манипулирования наборами данных являются предметом рассмотрения этой части книги.

* В главе 20 вводится концепция наборов, структура и синтаксис запросов DML. Глава включает разд. "Тема оптимизации", где рассматривается работа с оптимизатором запросов.

* Глава 21 описывает функции, операции и выражения, порядок их использования.

* В главе 22 рассматриваются запросы, которые оперируют с множеством таблиц при использовании соединений (joins), подзапросов (sub-queries) и объединений (unions).

  • Читать дальше
  • 1
  • ...
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: