- •Иерархия элементов реляционной модели и способов их представления на уровне хранения
- •Предложение select
- •Предложения модификации Предложение delete имеет формат
- •Into {базовая таблица | представление} [(столбец [,столбец] ...)]
- •Values ({константа | переменная} [,{константа | переменная}] ...);
- •Into {базовая таблица | представление} [(столбец [,столбец] ...)]
- •Системный каталог
- •Управление доступом (предложения grant / revoke )
- •Модификация структуры таблицы (атрибутов):
- •Предложения модификации данных средствами sql Предложение delete имеет формат
- •Into {базовая таблица | представление} [(столбец [,столбец] ...)]
- •Values ({константа | переменная} [,{константа | переменная}] ...);
- •Into {базовая таблица | представление} [(столбец [,столбец] ...)]
- •Ddl: Операторы создания/удаления индексов.
- •Особенности обновления представлений
- •Ограничения (constraints) логической целостности
- •Целостность сущностей.
- •Объявление первичного ключа :
- •Целостность ссылок
- •Объявление внешнего ключа:
- •Триггеры.
- •Любое клиентское приложение может быть подключено к бд одним из двух способов:
- •С использованием специализированной библиотеки доступа (db-dll);
- •С использованием odbc-драйвера (см. Далее).
- •Into переменная [[indicator] индикаторная_переменная]
- •Into переменная [[indicator] индикаторная_переменная]
- •1. «Тупой» : объявление курсора в режиме «только чтение»
- •2. «Продвинутый» : объявление «нечувствительного» курсора (для нашей таблицы s ):
- •Безопасность и управление доступом средствами sql.
- •Понятие транзакций. Уровни изоляции. Проблема отката (rollback) результатов выполнения транзакций.
- •If (обнаружена_ошибка) rollback;
- •If (обнаружена_ошибка) rollback;
- •Структура защищенного хранилища документов «dokyment» Физическая организация нулевого служебного трека нд типа dokyment
- •Физическая организация рабочего трека нд типа dokyment
- •Физическая организация первого трека фд dokyment
- •Физическая организация файлов данных многосуточных архивов arxiv
- •Метод многоуровневого динамического хранения данных .
- •Иерархия объектов системы хранения
- •Приемы сегментирования записей переменной длины Пример физической организации блока, содержащего несегментированные записи на дорожке (треке) бд
- •Пример физической организации блока, содержащего сегментированные записи на дорожке (треке) бд
- •Описание структуры индексов (первичных)
- •Структуры вторичных индексов (прямые указатели на запись по каждому ключу)
- •(Последовательный доступ)
- •(Произвольный доступ)
- •(Последовательно- произвольный доступ)
- •1.3. Операции поиска / вставки / удаления записей в блоках k-d-дерева
- •Клиентская библиотека (sql-интерфейс к odbc-источнику данных)
- •I. Организация сеанса
- •II. Прием и компиляция запроса:
- •Агент_субд (локальный процесс – мультиплексирование обслуживания локальных запросов к удаленному sql-источнику данных)
- •Клиент_субд (локальный процесс – мультиплексирование приема и организации выполнения запросов к локальному sql-источнику данных)
- •Сервер_субд (операции с локальными бд)
- •2.1 Без оптимизации 2.2 Оптимизация плана
- •Индексирование элементов данных. Проблема выбора индексов.
- •1.1. Особенности логической организации (временнОй модели данных)
- •Темпоральные свойства данных, учитываемые при организации хранения
- •1.2. Особенности физической организации
- •1.3. Особенности выполнения запросов с использованием атрибута-времени
- •1.3.1. Выборка данных
- •1.3.2. Модификации данных
- •2.1. Первичные и вторичные индексы в темпоральных бд
- •2.2. Моделирование и анализ данных. Парадоксы времени.
- •Распределение бд в пространственно-временном континууме.
- •1. Использование Proxy-шлюза
- •2. Использование Proxy-шлюзования и мсэ
Безопасность и управление доступом средствами sql.
Авторизация пользователей
При регистрации конкретному пользователю присваивается уникальное имя, которому ставится в соответствие пароль. При этом могут устанавливаться классы полномочий, которыми будет обладать данный пользователь. Например (SYBASE SQL) могут быть выделены следующие классы полномочий:
DBA - класс полномочий администратора базы данных.
Resource - класс полномочий, имеющих право создавать такие объекты баз данных, как таблицы данных, представления, хранимые процедуры и функции, а также триггеры;
Remote DBA - класс полномочий, имеющих право участвовать в репликации данных.
Кроме класса полномочий, пользователи имеют еще и привилегии по манипулированию объектами баз данных. Пользователь, создавший какой-либо объект базы данных, является его полномочным владельцем.
Привилегии, применимые к таблицам данных (на примере СУБД SYBASE SQL)
Название привилегии |
Описание привилегии |
ALTER |
Позволяет модифицировать структуру таблиц данных и создавать для этой таблицы триггеры |
DELETE |
Разрешает удалять записи из таблиц и представлений |
INSERT |
Определяет правомочность добавление новых записей в таблицы и представления |
REFERENCES |
Можно создавать индексы таблицы и внешние ключи, которые ссылаются на таблицу. Привилегия может быть назначена как на все, так и на совокупность полей таблицы |
SELECT |
Предоставляет возможность проведения выборки данных из таблиц и представлений, а также создания представлений. Привилегия может быть назначена как на все, так и на совокупность полей таблицы |
UPDATE |
Позволяет производить модификацию записей таблиц и представлений. Эта привилегия может быть установлена как для всех полей таблицы, так и их некоторого подмножества. Привилегия может быть назначена как на все, так и на совокупность полей таблицы |
ALL |
Устанавливает все привилегии по манипулированию таблицей |
Привилегии могут быть как индивидуальными, так и групповыми.
Управление списком пользователей (СУБД PostgreSQL) осуществляется командами CREATE (DROP) USER (GROUP), для изменения полномочий пользователя или группы используются команды ALTER USER (GROUP)
Синтаксис команд:
Создание нового пользователя БД
CREATE USER имя_пользователя WITH
SYSID идентификатор_пользователя
PASSWORD ‘пароль’
привилегия_1 | привилегия_2 …
IN GROUP имя_группы …
Создание группы пользователей БД
CREATE GROUP имя_группы WITH
SYSID идентификатор_группы
USER имя_пользователя_1, имя_пользователя_2, …
Удаление пользователя и группы
DROP USER имя_пользователя
DROP GROUP имя_группы
Изменение атрибутов пользователя и группы
- Изменение пароля и привилегий пользователя
ALTER USER имя_пользователя WITH
PASSWORD ‘пароль’
привилегия_1 | привилегия_2 …
IN GROUP имя_группы …
- Включение/Исключение пользователя в группу
ALTER GROUP имя_группы ADD/DROP USER имя_пользователя
Управление доступом к хранимым объектоам БД
В контексте баз данных термин безопасность означает защиту данных от несанкционированного чтения (выборки), изменения или уничтожения. Для этого имеются две независимые возможности:
механизм VIEW (представлений), используемый для скрытия данных от пользователей, не обладающих правом доступа;
подсистема управления доступом, позволяющая предоставить указанным пользователям определенные привилегии на доступ к данным.
Привилегии предоставляются с помощью предложения GRANT (предоставить), общий формат которого имеет вид:
GRANT привилегии ON имя_объекта TO пользователи;
К таблицам (представлениям) относятся привилегии SELECT, DELETE, INSERT и UPDATE [(столбцы)]
Предложение - GRANT SELECT, UPDATE (Стоимость) ON S TO U4;
позволяет пользователю, который представился системе идентификатором U4, использовать информацию из таблицы S, но изменять в ней он может только значения атрибута Стоимость.
Отмена привелегий осуществляется с помощью предложения REVOKE:
REVOKE привилегии ON объект FROM пользователи;
Например, можно отобрать у пользователя U4 право изменения значений атрибута Стоимость :
REVOKE UPDATE (Стоимость) ON S FROM U4;