Опубликован: 05.01.2004 | Уровень: специалист | Доступ: свободно | ВУЗ: Московский государственный университет имени М.В.Ломоносова
Лекция 2:

Основы SQL

< Лекция 1 || Лекция 2: 12 || Лекция 3 >
Аннотация: В лекции рассматриваются вопросы подключения к БД и создание таблиц БД средствами языка SQL.

Формы языка SQL

Структурированный язык запросов SQL реализуется в следующих формах:

  • Интерактивный SQL.
  • Статический SQL.
  • Динамический SQL.
  • Встроенный SQL.

Интерактивный SQL позволяет конечному пользователю в интерактивном режиме выполнять SQL-операторы. Все СУБД предоставляют инструментальные средства для работы с базой данных в интерактивном режиме. Например, СУБД Oracle включает утилиту SQL*Plus, позволяющую в строчном режиме выполнять большинство SQL-операторов.

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

Динамический SQL позволяет формировать операторы SQL во время выполнения программы.

Встроенный SQL позволяет включать операторы SQL в код программы на другом языке программирования (например, С++).

Группы операторов SQL

Язык SQL определяет:

  • операторы языка, называемые иногда командами языка SQL;
  • типы данных;
  • набор встроенных функций.

По своему логическому назначению операторы языка SQL часто разбиваются на следующие группы:

  • язык определения данных DDL (Data Definition Language);
  • язык манипулирования данными DML (Data Manipulation Language).

Язык определения данных включает операторы, управляющие объектами базы данных. К последним относятся таблицы, индексы, представления. Для каждой конкретной базы данных существует свой набор объектов базы данных, который может значительно расширять набор объектов, предусмотренный стандартом. В некоторых СУБД, таких как Oracle, все объекты базы данных, принадлежащие одному пользователю, образуют схему базы данных. С другой стороны, в стандарте SQL92 термином "схема" стали называть группу взаимосвязанных таблиц.

Язык манипулирования данными включает операторы, управляющие содержанием таблиц базы данных и извлекающими информацию из этих таблиц.

Язык DML определяет следующие операторы:

  • SELECT - извлечение данных из одной или нескольких таблиц;
  • INSERT - добавление строк в таблицу;
  • DELETE - удаление строк из таблицы;
  • UPDATE - изменение значений полей в таблице.

Фазы выполнения SQL-оператора

SELECT A,B,C, FROM X,Y WHERE A<500 AND C='ASF'
parse Синтаксический разбор оператора
validate Проверка привилегий пользователя,проверка действительности имен системных каталогов, таблиц и названий полей
access plan Генерация плана доступа к ресурсам. План доступа - это двоичное представление выполнимого кода по отношению к данным, сохраняемым в БД
optimize Оптимизация плана доступа. Для увеличения скорости поиска данных могут применяться индексы. Оптимизация использования взаимосвязанных таблиц
execute Выполнение оператора
< Лекция 1 || Лекция 2: 12 || Лекция 3 >