Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы языка SQL.doc
Скачиваний:
12
Добавлен:
18.11.2018
Размер:
138.24 Кб
Скачать

Основы языка 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

Выполнение оператора

Подключение к субд

Перед тем как перейти к более подробному изучению операторов языка SQL, рассмотрим возможный сценарий работы пользователя с СУБД.

Первым шагом в любом случае следует выполнить подключение к СУБД. Например, CONNECT TO MyDB1 USER User1/Password1;.

Фраза TO специфицирует источник данных, с которым устанавливается соединения. Фраза USER определяет имя и пароль пользователя, который будет работать с базой данных.

Операторы и функции языка SQL не чувствительны к регистру, в отличие от строковых значений. Однако, как и в стандарте языка, SQL-операторы всегда будут обозначаться в лекциях заглавными буквами, а названия полей, таблиц и псевдонимов (алиасов) - строчными.

Перед началом работы с данными должны быть выполнены следующие действия:

  • разработана модель базы данных и на ее основании создана схема базы данных - все взаимосвязанные таблицы;

  • в каждую созданную таблицу должны быть введены данные.