Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Функциональные возможности языка SQL




 

Для выполнения своих основных функций по работе с реляционными таблицами язык SQL имеет достаточно богатый и сложный набор команд. Для лучшего понимания все команды языка разбиты на «уровни». В одной из классификаций, предусмотренных стандартом SQL, этот язык разбивается на «базовый», «промежуточный» и «полный» уровни.

Остановимся только на базовом уровне, содержащем около сорока команд. В табл.8.3 приводится подмножество команд базового уровня языка SQL.

 

Таблица 8.3.

Команда Назначение
Команды определения данных
CREATE TABLE Создает структуру таблицы
DROP TABLE Удаляет таблицу
ALTER TABLE Изменяет описание структуры таблицы
CREATE VIEW Создает представление
Команды манипулирования данными
INSERT Добавляет новые записи в таблицу
DELETE Удаляет записи из таблицы
UPDATE Обновляет данные таблицы
Команда извлечения данных
SELECT Извлекает данные из базы данных
Команды управления транзакциями
COMMIT Сообщает об успешном окончании транзакции
ROLLBACK Сообщает о неуспешном окончании транзакции
Команды управления доступом
GRANT Предоставляет пользователю определенные права доступа
REVOKE Отменяет определенные права доступа
Команды встроенного SQL
DECLARE, OPEN, FETCH, CLOSE Реализуют обращения к базе данных из прикладных программ.

 

Команды определения данных служат для создания и удаления таблиц, а также изменения структуры таблицы, например, для добавления нового поля. С помощью команды CREATE VIEW создается представление, т.е. таблица содержащая данные из других таблиц.

 

Пример:

Создать представление Заказы_Инфо, содержащее данные о дате заказа, весе заказа. Слева к указанным полям присоединить информацию о клиенте и валюте, которой был оплачен заказ.

 

CREATE VIEW Заказы_Инфо AS

SELECT Заказы.Дата заказа, Заказы.Вес заказа, Клиенты.Клиент, Банк.Наименование валюты FROM Заказы

LEFT JOIN Клиенты ON Клиенты.Код клиента = Заказы.Код клиента

LEFT JOIN Банк ON Банк.Код валюты=Заказы.Код валюты

 

Следует обратить внимание, что в команде кроме требуемых полей таблиц необходимо указывать ключевые поля, связывающие таблицы (Клиенты.Код клиента = Заказы.Код клиента Банк.Код валюты=Заказы.Код валюты).

 

 

Команды манипулирования данными позволяют изменять данные в реляционной таблице, но не меняют ее структуру.

 

Команда SELECT была описана выше.

 

Команды управления транзакциями позволяют обеспечить целостность базы данных.

SQL-транзакция – это несколько последовательных команд SQL, которые должны выполняться как единое целое.

Транзакция либо успешно выполняется, и тогда СУБД фиксирует произведенные изменения базы данных, на внешнем носителе; либо отменяется, и тогда все произведенные изменения СУБД ликвидирует. Таким образом, принцип транзакции «либо все, либо ничего». Примером транзакции может служить перевод денег клиентом банка из одного филиала в другой. Необходимо как единое целое осуществить два действия: списать деньги со счета в одном филиале и занести деньги на счет в другом филиале.

Вязыке SQL обработка транзакций реализована с помощью двух команд – COMMIT и ROLLBACK. Они управляют изменениями, выполненными группой команд. Команда COMMIT сообщает об успешном окончании транзакции. Она информирует СУБД о том, что транзакция завершена, все ее команды выполнены успешно и противоречия в базе данных не возникли. Команда ROLLBACK сообщает о неуспешном окончании транзакции. Она информирует СУБД о том, что пользователь не хочет завершать транзакцию, и СУБД должна отменить все изменения, внесенные в базу данных в результате выполнения транзакции. В этом случае СУБД возвращает базу данных в состояние, в котором она находилась до выполнения транзакции.

Команды COMMIT и ROLLBACK используются в основном в программном режиме, хотя возможно их использование и в интерактивном режиме.

 

К командам у правления доступом относятся команды для осуществления административных функций, присваивающих или отменяющих право (привилегию) использовать таблицы базы данных определенным образом. Каждый пользователь базы данных имеет определенные права по отношению к объектам базы.

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

· SELECT – право читать таблицу;

· INSERT – право добавлять данные в таблицу;

· UPDATE – право изменять данные таблицы;

· DELETE – право удалять данные из таблицы;

· REFERENCES – право определять первичный ключ.

Пользователь, создавший таблицу, является ее владельцем. Как владелец, пользователь имеет все права на таблицу и может назначить права для работы с ней другим пользователям. Кроме владельца, права может назначать администратор базы данных.

 

Пример:

 

Дать права на извлечение и обновление данных в таблице Заказы пользователям USER1, USER2,USER3

 

GRANT SELECT, UPDATE ON Заказы TO USER1, USER2, USER3

Пример:

 

Запретить обновление данных в таблице Заказы пользователю USER1

 

REVOKE UPDATE ON Заказы TO USER1

 

 

К встроенным относятся команды, предназначенные для реализации обращения к базе данных из прикладных программ, написанных на определенном языке программирования. Для пересылки данных из базы данных в прикладную программу используется временная таблица, называемая SQL-курсором. Команды DECLARE, OPEN, FETCH, CLOSE позволяют управлять SQL-курсором.

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...