Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_по_КИТу(под_вопросы)(2).doc
Скачиваний:
12
Добавлен:
15.04.2019
Размер:
452.61 Кб
Скачать

8.6.Управление доступом к данным: привилегии, их назначение и отмена.

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

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

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

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

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

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

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

GRANT Предоставляет пользователю право доступа

Например, по команде

GRANT SELECT, UPDATE ON Сведения TO ГИЛЬ, БРЕЛЬ

пользователям ГИЛЬ и БРЕЛЬ назначаются права чтения и обновления (редактирования) таблицы Сведения

REVOKE Отменяет право доступа

Например, по команде

REVOKE UPDATE ON Сведения TO ГИЛЬ

отменяется право обновления таблицы Сведения пользователю ГИЛЬ.

8.7.Встраивание sql в прикладные программы

К категории Встроенный SQL (см. табл. 6) относятся команды, предназначенные для реализации обращения к БД из прикладных программ, написанных на определенном языке программирования. Для пересылки данных из БД в прикладную программу используются временная таблица, называемая SQL-курсором.

DECLARE Определяет набор записей, в который будут возвращены результаты запроса

OPEN Открывает определенный набор записей

FETCH Извлекает строку из таблицы результатов запроса

CLOSE Закрывает набор записей запроса

8.8.Диалекты языка sql в субд

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

Выделяют три уровня соответствия стандарту ANSI/ISO — начальный, промежуточный и полный.

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

В широко распространенных в настоящее время СУБД используются следующие диалекты языка SQL:

PL/SQL – в СУБД Oracle;

Transact-SQL – в СУБД Microsoft SQL;

Informix-SQL – в СУБД Informix;

Jet SQL – Microsoft Access.

Язык Jet SQL почти соответствует стандарту ANSI SQL. Основные различия языков Jet SQL и ANSI SQL состоят в следующем:

- они имеют разные наборы зарезервированных слов и типов данных;

- разные правила применимы к оператору Between, используемому для определения условий выборки записей;

- подстановочные знаки ANSI и Microsoft Jet, которые используются в операторе Like, различны;

- язык Jet SQL обычно предоставляет пользователю большую свободу, например, разрешается группировка и сортировка по значению выражения;

- язык Jet SQL позволяет использовать более сложные выражения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]