Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Макро шпоры отредакт верон БГЭУ 2 курс 2016.doc
Скачиваний:
30
Добавлен:
26.03.2017
Размер:
839.68 Кб
Скачать

7. 41 Управление доступом к данным в sql.

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

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

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

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

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

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

DCL (Data Control Language) – операторы защиты и управления данными.

  • Create Assertion – создать ограничение;

  • Drop Assertion – удалить ограничение;

  • Grant – предоставить привилегии пользователю или приложению для манипулирования данными;

  • Revoke – отменить привилегии пользователю или приложению.

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

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

Язык SQL можно использовать при написании прикладных программ на определенных языках программирования исключительно для управления БД. По мере надобности в эти программы «встраиваются» команды SQL .

Цель встроенных SQL – объединение возможностей языка программирования с реализованными посредством SQL механизмами работы со структурированными данными в БД.

- команды SQL помещают в исходный код главной программы; - им предшествует фраза ЕХЕСSQL (Execute SQL); - далее устанавливаются некоторые команды, которые являются специальными для вложенной формы SQL.

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

Программы, называющиеся прекомпиляторами (препроцессорами), просматривают текст программы с преобразованием в форму SQL, удобную для исполнения базовым языком.

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

Для пересылки данных из БД в программу используются спец. Команды SQL: Declare, Open, Fetch, Close, предназначенные для работы с курсором – переменной, связанной с запросом.

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

Open – дает команду СУБД начать выполнение запроса и создавать таблицу результатов запроса.

Fetch – считывает данные запроса в переменную прикладной программы (считывает курсор из результатов запроса).

Close – прекращает доступ к таблице результатов запроса и ликвидирует связь между курсором и этой таблицей.