- •1) Команды управления данными - insert, update, delete
- •2) Особенности применения команд insert, update, delete к представлениям
- •3) Понятие пользователя. Его создание и управление
- •4) Назначение прав пользователю
- •5) Отмена прав у пользователей с учетом их статуса 6) привилегированные пользователи и их привилегии
- •7) Обеспечение целостности данных в схеме базы данных (фактически, ключи и их использование)
- •8) Понятие транзакции. Требования к транзакциям, 9, 10, 11
- •12),13) Триггер как разновидность хранимой процедуры(for after)
- •15) Функция определенная пользователем. Скалярные и табличные
- •16) Хранимые процедуры (3 вида: без параметров, с входными параметрами, с входными выходными)
- •17) Параллельность и блокировки. Проблемы существующие в параллельных сессиях (4 штуки)
- •18) Механизм блокировок ( 4 вида уровней изоляции)
- •19) Объекты блокировок
- •20) Эскалация блокировок и 2 способа разрешения
- •21) Алгоритм работы менеджера блокировок
- •22) Простые блокировки (разделяемая, монопольная и обновление)
- •23) Блокировки намерений (на разделение, на монопольное использование и на обновление)
- •24) Блокировки схемы данных (стабильности, изменения схемы)
- •2 5) Кольцо преобразований блокировок (пояснить почему возможно движение по кольцу)
- •27) Операции репликации, виды метафор
- •28) Топология репликации
- •29) Типы репликации (снимок, транзакционное и соединение)
- •30) 31) 32) Резервное копирование (полное, частичное, транзакционное)
- •33) Создание индексов и виды индексов
- •34) Средства для проверки соответствия заданному шаблону
- •35) Структура полнотекстового поиска (алгоритм описан в презентации)
- •36) Управление полнотекстовым поиском ( подключение к бд, добавление таблиц и колонок)
- •37) Поисковые выражение. Особенности их использования
- •39) Использование весов в частях шаблона
- •38) Использование оператора не в полнотекстовом поиске
- •40.0 Предыстория
- •40) Назначение и использование механизма odbc
- •42) Назначение и использование механизма ado
- •41) Назначение и использование механизма ole db
- •43) Назначение и использование механизма ado.Net
- •26) Установка уровня изоляции ( все которые касаются главных проблем, о старых не нужно. Показать где назначаются, как управляются)
3) Понятие пользователя. Его создание и управление
Обеспечение безопасности данных - одна из основных задач SQL. Для защиты данных используются следующие основные принципы:
1) все манипуляции с данными выполняются от имени конкретного пользователя и в соответствии с данными ему правами;
2) сами объекты защищены;
3) СУБД использует систему привилегий.
Каждый пользователь в среде SQL имеет специальное имя (идентификатор), с помощью которого осуществляется идентификация пользователя с целью установки его прав с точки зрения доступа к данным. Каждая посланная к СУБД команда ассоциируется с идентификатором доступа конкретного пользователя.
Пользователь определяется командой: CREATE USER <имя пользователя> IDENTIFIED BY <пароль>;
После выполнения этой команды пользователь становится известен БД, но не может выполнять никаких операций.
Удаление пользователя производится командой:
DROP USER <имя пользователя>;
4) Назначение прав пользователю
Назначаемые пользователю привилегии – это разрешение на выполнение указанных действий над определенными объектами базы данных.
Имеется несколько типов привилегий, соответствующих нескольким типам операций.
Назначаемые пользователю привилегии – это разрешение на выполнение указанных действий над определенными объектами базы данных.
Имеется несколько типов привилегий, соответствующих нескольким типам операций.
DELETE – пользователь может удалять строки из указанной таблицы;
REFERENCES – пользователь может определять внешний ключ, который использует один или несколько столбцов этой таблицы в качестве родительского ключа. Возможно ограничение этой привилегии для определенных столбцов.
INDEX – пользователь имеет право создавать индекс к таблице.
SYNONYM - пользователь имеет право создавать синоним для объекта.
ALTER - пользователь имеет право выполнять ALTER TABLE в таблице;
EXECUTE - пользователь имеет право выполнять процедуру .
GRANT < List of names right> ON <Name of table> TO <List of users>;
Исключение – список полей допускается в привилегиях REFERENCES, UPDATE.
GRANT < List of <names right> (List of attributions) > ON <Name of table> TO <List of users>;
GRANT UPDATE (MARK) ON USP
TO USER1; В строгой интерпретации стандарта ANSI невозможно предоставить привилегии для нескольких таблиц одновременно одной командой GRANT.
SQL поддерживает два аргумента в команде GRANT - ALL, PUBLIC.
ALL ( ALL PRIVILEGES) – вместо списка привилегий;
Например команда:
GRANT ALL ON PREDMET TO IVANOV;
Дает весь набор привилегий в таблице PREDMET пользователю IVANOV.
Аргумент PUBLIC используется для передачи указанных в команде GRANT привилегий всем остальным пользователям. Наиболее часто это применяется для привилегии SELECT в базовых таблицах или представлениях, которые нужно сделать доступными всем пользователям.
GRANT SELECT ON USP TO PUBLIC;
Предоставление всех привилегий всем пользователям обычно является не желательным. Тем более, что аргумент PUBLIC автоматически распространяется на каждого нового пользователя.
Передача прав другим пользователям осуществляется командой:
GRANT < List of names right> ON <Name of table> TO <List of users>
WITH GRANT OPTION;
Пользователь со всеми привилегиями может иметь всю полноту власти к этой таблице.
