Опубликован: 04.06.2009 | Уровень: специалист | Доступ: платный | ВУЗ: Нижегородский государственный университет им. Н.И.Лобачевского
Лекция 12:

Основные операторы языка SQL. Интерактивный SQL

< Лекция 11 || Лекция 12: 123 || Лекция 13 >
Аннотация: В лекции дается общая характеристика операторов языка SQL, используемых, в частности, для работы с базой данных в интерактивном режиме (создание таблиц, выбор информации из таблиц, добавление, удаление и модификация элементов). Приводятся примеры запросов к базе данных на языке SQL

Цель лекции: дать общую характеристику операторов языка SQL и показать, как записываются основные запросы к базе данных на языке SQL (в интерактивном режиме).

12.1. Общее представление об основных операторах языка SQL

Как уже отмечалось в "Программное обеспечение работы с современными базами данных" , все операторы языка SQL разделяются на три составные части: DDL – язык определения данных, DCL – язык управления данными, DMLязык обработки данных.

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

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

GRANT – создание в системе безопасности записи, разрешающей пользователю работать с данными или выполнять определенные операции SQL.

DENY - создание в системе безопасности записи, запрещающей доступ для определенной учетной записи.

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

Соответствующие операторы предназначены для создания, удаления, изменения основных объектов модели данных реляционных СУБД: таблиц, представлений, индексов.

CREATE TABLE <имя> - создание новой таблицы в базе данных.

DROP TABLE <имя> - удаление таблицы из базы данных.

ALTER TABLE <имя> - изменение структуры существующей таблицы или ограничений целостности, задаваемых для данной таблицы.

При выполнении аналогичных операций с представлениями или индексами в указанных операторах вместо служебного слова TABLE записывается слово VIEW (представление) или слово INDEX (индекс)

Операторы манипулирования данными (язык DML).

Операторы DML работают с базой данных и используются для изменения данных и получения необходимых сведений.

SELECTвыборка строк, удовлетворяющих заданным условиям. Оператор реализует, в частности, такие операции реляционной алгебры как "селекция" и "проекция".

UPDATE – изменение значений определенных полей в строках таблицы, удовлетворяющих заданным условиям.

INSERT – вставка новых строк в таблицу.

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

12.2 Интерактивный режим работы с SQL (интерактивный SQL)

Соответствующий режим предусматривает непосредственную работу пользователя с базой данных по следующему алгоритму: используя прикладную программу (клиентское приложение) или стандартную утилиту, входящую в СУБД, пользователь:

  • устанавливает соединение с БД (подтверждая наличие прав доступа);
  • вводит соответствующий оператор SQL, при необходимости в режиме диалога вводит дополнительную информацию;
  • инициирует выполнение команды.

Текст запроса поступает в СУБД, которая:

  • осуществляет синтаксический анализ запроса (проверяет, является ли запрос корректным);
  • проверяет, имеет ли пользователь право выполнять подобный запрос (например, пользователь, у которого определены права только на чтение, пытается что-то удалить);
  • выбирает, каким образом осуществлять выполнение запроса – план выполнения запроса;
  • выполняет запрос;
  • результат выполнения отсылает пользователю.

Схема взаимодействия пользователя и СУБД с использованием интерактивного SQL приводится на рис. 12.1.

Схема работы интерактивного SQL

Рис. 12.1. Схема работы интерактивного SQL
< Лекция 11 || Лекция 12: 123 || Лекция 13 >
Александра Каева
Александра Каева
Карина Максутова
Карина Максутова
Евгений Вершинин
Евгений Вершинин
Россия, Нижний Новгород, Нижегородский государственный технический университет, 2008
Aleksandr Arshinskyi
Aleksandr Arshinskyi
Россия