REVOKE привелегии ON объект TO пользователь
GRANT привелегии ON объект TO пользователь
Привилегии
DROP VIEW ИмяПредставления
Представления
DROP INDEX имя_индекса
Индексы
Таблицы.
Команды определения данных.
Это команды, позволяющие создавать/удалять таблицы, индексы, представления.
CREATE TABLE базовая_таблица (столбец тип_данных [NOT NULL] ….)
Создать таблицу с указанным набором столбцов. NOT NULL показывает, что столбец не может быть пустым.
CREATE TABLE Сотрудник (Фамилия CHAR(50) NOT NULL)
DROP TABLE базовая_таблица
Удалить таблицу
Индексы позволяют выполнять более быстрый поиск по таблице.
CREATE [UNIQUE] INDEX имя_индекса
ON Базовая_Таблица (столбец [[ASC]/DESC]…)
Создать индекс на основе таблицы и указанных столбцов таблицы.
Удалить индекс
CREATE INDEX Тема
ON КнижныйФонд (Тема ASC)
Представление - это временная таблица в БД, отажающая необходимые в данный момент пользователю данные. Необходимы представления для того, чтобы:
§ пользователь мог видеть только те данные, что необходимы (на какие есть права)
|
|
§ обеспечетить независимость работы программ.
CREATE VIEW ИмяПредставления (столбец…)
AS подзапрос [WITH CHECK OPTIONS]
Создать представление.
Удалить представление.
CREATE VIEW Назначение (ФИО, Должность)
AS SELECT ФИО, Должность, КодДолжности
FROM Сотрудник UNION Должность.
Установить/снять привелегии.
Управление параллельным доступом.
Параллельный доступ - это ситуация, возникающая когда несколько транзакций обращаются к одним данным одновременно. Проблема доступа в том, что необходима полная изолированность пользователей.
Изолированность - это создание иллюзии, что каждый пользователь работает с БД самостоятельно.
3 уровня изолированности:
1. Отсутствие потерянных изменений
Транзакция1 | Транзакция2 |
READ A A=A+1 WRITE A COMMIT | READ A A=A+1 ROLLBACK |
ROLLBACK из второй транзакции откатит и изменения, сделанный первой транзакцией.
До завершения транзакции1 нельзя менять объект, с которым работает транзакция
2. Отсутствие чтения «грязных» данных
Транзакция1 | Транзакция2 |
READ A A=A+1 WRITE A ROLLBACK | ... ... ... READ A A=A-1 |
Никакая транзакция не должна читать объект до завершения изменений.
3. Отсутствие неповторяющихся чтений
Транзакция1 | Транзакция2 |
READ A A=A+1 WRITE A | READ A A=A-1 ... WRITE A |
Средства управления транзакциями: блокировки и метод временных меток.
Блокировка- запрет на доступ к ресурсу. Заблокировать можно поле, кортеж, отношение, группу отношений или всю базу.
LOCK A - заблокировать ресурс А
UNLOCK A - разблокировать ресурс А