Группы операторов. Типы данных

Язык реляционных БД SQL был разработан в середине 70-х годов в рамках исследовательского проекта экспериментальной реляционной СУБД System R от компании IBM. Данный проект включал в себя разработку реляционной СУБД и языка SEQUEL (Structured English Query Language). Данное название только частично отражало суть языка. Язык был ориентирован главным образом на удобную и понятную пользователям формулировку запросов к реляционной БД, фактически он уже являлся полноценным языком реляционной БД и содержал помимо операторов формулирования запросов и манипулирования БД, следующие средства:

· определения схемы БД и манипулирования ей;

· определения ограничений целостности и триггеров;

· создания представлений БД;

· определения структур физического уровня, поддерживающих эффективное выполнение запросов;

· автоматизации доступа к таблицам и их полям;

· поддержки точек сохранения транзакции и откатов.

В конце 70-х годов корпорацией Oracle был выпущен модифицированный вариант языка SEQUEL, получивший название SQL. В 1983 г. компания IBM выпустила SQL в составе СУБД DB2.

Язык SQL был настолько удачен, что несколько позже, в 1986 г. Американский национальный институт стандартизации (ANSI) принял его в качестве стандарта. После этого стандарт уже пересматривался несколько раз, в 1989, 1992 г. в результате в язык SQL были внесены некоторые незначительные изменения. В настоящее время наиболее распространенным стандартом является SQL-92.

 

Типы команд SQL

Команды языка SQL, условно, можно разделить на группы:

· DCL (Data Control Language) – язык управления данными. Команды языка предназначены для управления доступом к информации, хранящейся в БД. (таблица 19.1);

· DDL (Data Definition Language) – язык определения данных. Его команды используются для создания и изменения структуры объектов БД (таблица 19.2);

· DML (Data Manipulation Language) – язык манипулирования данными. Используется для манипулирования информацией, содержащейся в объектах БД (таблица 19.3);

· DQL (Data Query Language) – язык запросов к данным. Наиболее часто используемая группа, состоящая всего из одного оператора SELECT, предназначенного для формирования запросов к БД (таблица 19.4);

· TCL (Transaction Control Language) – язык управления транзакциями (таблица 19.5);

· CCL (Cursor Control Language) – язык управления курсором (таблица 19.6);

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

Таблица 19.1- Средства управления данными DCL

 

Оператор Описание
ALTER DATABASE Изменение набора основных объектов БД
ALTER DBAREA Изменение существующей области хранения БД
ALTER PASSWORD Изменяет пароль для всей базы данных
CREATE DATABASE Создает новую базу данных и определяет ее основные параметры
CREATE DBAREA Создает область хранения и делает ее доступной для размещения данных
DROP DATABASE Удаляет БД (при наличии прав)
DROP DBAREA Удаляет область хранения если в ней не располагаются активные данные
GRANT Предоставляет права доступа на действия с объектами БД
REVOKE Лишает прав доступа к объектам БД или над действиями с объектами БД

 

Таблица 19.2 - Операторы определения данных DDL

 

Оператор Описание
CREATE TABLE Создает новую таблицу в БД
DROP TABLE Удаляет существующую таблицу из БД
ALTER TABLE Изменяет структуру таблицы или ограничения таблицы
CREATE VIEW Создает представление (виртуальную таблицу) соответствующую некоторому SQL запросу
DROP VIEW Удаляет ранее созданное представление
ALTER VIEW Изменяет существующее представление
CREATE INDEX Создает индекс для некоторой таблицы
DROP INDEX Удаляет существующий индекс

 

Таблица 19.3 - Операторы манипулирования данными DML

 

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

 

Таблица 19.4 - Язык запросов к данным DQL

 

Оператор Описание
SELECT Оператор, полностью реализующий возможности реляционной алгебры. Позволяет сформировать результирующие отношение, соответствующее запросу

 

Таблица 19.5- Средства управления транзакциями TCL

 

Оператор Описание
COMMIT Завершает транзакцию (комплексную взаимосвязанную обработку информации, объединенную в транзакции)
ROLLBACK Откат транзакции (отмена изменений, проведенных в ходе выполнения транзакции)
SAVEPOINT Сохраняет промежуточную точку (состояние) БД, для реализации возможности отката

 

Таблица 19.6- Средства управления курсором СCL

 

Оператор Описание
DECLARE Определяет курсор для запроса
OPEN Открывает курсор (Формирует виртуальный НД, соответствующий описанию курсора)
FETCH Считывает очередную строку из виртуального НД открытого курсора
CLOSE Закрывает открытый курсор
PREPARE Готовит оператор SQL к динамическому выполнению
EXECUTE Выполняет оператор SQL, ранее подготовленный к динамическому выполнению

 








Дата добавления: 2015-11-18; просмотров: 1318;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.