Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Основные сведения о языке SQL

CuBook55

Язык SQL ориентирован на выполнение действий с таблицами БД и данными в этих таблицах, а также некоторых вспомогательных действий. В отличие от процедурных языков программирования, в нем нет операторов управления вычислительным процессом (циклов, переходов, ветвления) и средств ввода/вывода. Составленную на языке SQL программу также называют SQL-запросом.
 
Язык SQL обычно интегрируется в другие средства (оболочку) и используется в интерактивном режиме. Так, в системе управления базами данных, имеющей интерактивный интерфейс, пользователь может работать, ничего не зная об языке SQL, и независимо от того, какая БД используется: локальная или удаленная. Такие СУБД, как Microsoft Access, Visual FoxPro или Paradox, сами выполняют действия, связанные с программированием запросов на SQL, предлагая пользователю средства визуального построения запросов, например, Query By Example (QBE) - запрос по образцу.
 
Поскольку SQL не обладает возможностями полнофункционального языка программирования, а ориентирован на доступ к данным, его часто включают в средства разработки программ. Встроен он и в систему С++ Builder. При этом для работы с командами SQL предлагаются соответствующие средства и компоненты. В С++ Builder к таким компонентам относятся наборы данных Query, SQLQuery и ADOQuery.
 
Различают два вида SQL-запросов: статический и динамический. Статический SQL-запрос включается в исходный код на этапе разработки и в процессе выполнения приложения не изменяется. Разработчик может изменить SQL-запрос путем использования параметров, если таковые имеются в его тексте. При этом имеет место SQL-запрос с параметрами.
 
Код динамического SQL-запроса формируется или изменяется при выполнении приложения. Такие запросы обычно применяются в случае, когда при выполнении запроса требуется учитывать действия пользователя.
Принятая нами классификация не является однозначной. Так, в некоторых источниках SQL-запросы с параметрами также относят к разряду динамических.
Язык SQL имеет несколько стандартов, из которых наиболее популярными среди производителей программных продуктов являются стандарты SQL-89 и SQL-92. Стандарт SQL-92, поддерживаемый Американским национальным институтом стандартов (ANSI, American National Standards Institute) и Международной организацией по стандартизации (ISO, International Standard Organization), также называют стандартом ANSI или ANSI/ISO. Вследствие наличия нескольких стандартов и их различных интерпретаций появилось множество диалектов языка SQL, более или менее отличающихся друг от друга.
 
Локальный SQL представляет собой подмножество SQL-92 и предназначен для доступа к таблицам локальных баз данных dBASE, Paradox и FoxPro. С одной стороны, по сравнению со стандартом языка локальный SQL включает ряд дополнений, учитывающих особенности указанных баз данных. С другой в нем имеется ряд ограничений, например, в нем нельзя работать с просмотрами и управлять привилегиями.
 
В приложениях С++ Builder для выполнения операторов SQL, применяя механизм BDE, можно использовать набор данных Query. Текст SQL-запроса является значением свойства SQL компонента Query и формируется либо при разработке приложения, либо во время его выполнения. Компонент Query обеспечивает выполнение SQL-запроса и получение соответствующего набора данных. Формирование набора данных выполняется при активизации компонента Query путем вызова метода Open или установкой свойству Active значения true.
 
Иногда при отработке SQL-запроса нет необходимости получать набор данных, например, при удалении, вставке или изменении записей. В этом случае предпочтительнее выполнять запрос вызовом метода ExecSQL. При работе в сети вызов этого метода производит требуемую модификацию набора Данных, не передавая в вызывающее приложение (компьютер) записи набора данных, что существенно снижает нагрузку на сеть.
 
Набрать и выполнить в интерактивном режиме текст SQL-запроса позволяют также инструментальные программы, поставляемые вместе с С++ Builder, например, Database Desktop, SQL Explorer и SQL Builder. Отметим, что первые две программы вызываются одноименными командами меню Tools и Database соответственно, а визуальный построитель запросов SQL Builder вызывается через контекстное меню компонента Query.
 
Проверка синтаксиса и отработка запроса, встроенного в приложение (чаще всего с помощью компонента Query или его аналога), производятся на этапе выполнения приложения. При наличии синтаксических ошибок в тексте SQL-запроса генерируется исключение. Для отладки SQL-запросов удобно использовать программы с развитым интерфейсом, например, Database Desktop. После отладки текст запроса вставляется в разрабатываемое приложение. При таком подходе значительно сокращается время создания запросов и существенно уменьшается вероятность появления динамических ошибок.
 
В качестве результата выполнения SQL-запроса может возвращаться набор данных, который составляют отобранные с его помощью записи. Этот набор данных называют результирующим.
 
При описании операторов языка будут опускаться несущественные операнды и элементы, используя для обозначения отдельных элементов символы < и > (при программировании не указываются), а необязательные конструкции заключать в квадратные скобки. Для наглядности зарезервированные слова языка SQL будут писаться прописными, а имена преимущественно строчными буквами. Регистр букв не влияет на интерпретацию операторов языка. Точка с запятой в конце SQL-операторов необязательна. Элементы в списках, например, имена полей и таблиц, должны быть разделены запятыми.
 
Имена таблиц и полей (столбцов) заключаются в апострофы или двойные кавычки, например, "First Name". Если имя не содержит пробелы и другие специальные символы, то апострофы можно не указывать.
 
В SQL-запросе допускаются комментарии, поясняющие текст программы. Комментарий ограничивается символами /* и */. Операторы локального языка SQL разделяют на два подъязыка:
  • язык определения данных (Data Definition Language - DDL);
  • язык манипулирования данными (Data Manipulation Language - DML).
Язык определения данных включает операторы SQL, используемые для создания, изменения и удаления таблиц, а также для создания и удаления индексов. Например, оператор CREATE TABLE предназначен для создания таблицы. Язык манипулирования данными включает операторы SQL, используемые для выборки, вставки, обновления и удаления данных таблиц. Например, оператор SELECT служит для выборки данных из таблиц.
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Защитный код Обновить