1. Перечислите основные принципы защиты данных, обеспечивающие безопасность хранения информации.
2. Какой набор прав определен для пользователя, входящего в группу PUBLIC.
3. В чем заключается понятие роли при работе с многопользовательскими СУБД?
4. Какой пользователь обладает самыми высокими полномочиями?
5. Какие определены в стандарте SQL для предоставления и отмены привилегий?
6. Какой параметр определяет режим, позволяющий передавать права другим пользователям?
7. В чем заключаются отличия в синтаксисе оператора GRANT для команд UPDATE и REFERENCES?
8. Каким образом задается привилегия на запуск хранимых процедур?
9. В чем заключается двухуровневая настройка организации доступа к данным в MS SQL Server?
10. Чем отличаются серверные роли и роли для записей пользователя БД в MS SQL Server? Приведите примеры прав для серверной роли и роли для учетной записи пользователя БД.
11. Каким образом выполняется назначение серверных ролей в MS SQL Server?
12. Каким образом выполняется настройка учетной записи в MS SQL Server? Какой объект сервера используется для отображения прав доступа пользователей к БД?
Язык SQL предназначен для организации доступа к БД. Доступ к данным может быть осуществлен в 2-х режимах:– интерактивном и в режиме выполнения приложений. SQL не является языком программирования. Для создания приложений используются другие языки, в которые встраиваются операторы SQL. Все возможности интерактивного языка запросов доступны и в прикладном программировании
Существует 2 способа применения SQL в прикладных программах:
· Встроенный SQL. При таком подходе операторы SQL непосредственно встраиваются в исходный текст программы на базовом языке. При компиляции программы со встроенными операторами SQL используется специальный препроцессор SQL, который преобразует исходный текст в исполняемую программу.
· Интерфейс программирования приложений (API). При использовании этого метода прикладная программа взаимодействует с СУБД путем применения специальных функций. Вызывая эти функции, программа передает СУБД операторы SQL и получает обратно результаты запросов.
При объединении операторов SQL с базовым языком программирования соблюдаются следующие принципы:
· Операторы SQL включаются в текст программы на исходном языке программирования. Исходная программа поступает на вход препроцессора, который компилирует операторы SQL.
· Встроенные операторы SQL могут ссылаться на переменные базового языка программирования.
· Встроенные операторы SQL получают результаты SQL запросов с помощью переменных базового языка программирования.
· Для обеспечения построчной обработки результатов запроса во встроенный SQL добавлено несколько новых операторов, отсутствующих в интерактивном SQL.
При встраивании в программу операторов манипулирования данными они не требуют никаких изменений. Изменений требует только оператор SELECT. В интерактивном SQL набор данных, возвращаемый оператором SELECT, просто выводится на экран. Встроенный в программу оператор SELECT должен создавать структуры данных, которые согласуются с базовым языком программирования. Во встроенном SQL запросы делятся на 2 типа:
· Однострочные. Строка может содержать значения нескольких столбцов.
· Многострочные запросы. При этом приложение должно иметь возможность обработать все строки. Значит должен существовать механизм, поддерживающий просмотр и обработку большого числа строк.
Вывод запроса трудно передать переменным, если неизвестно, насколько велики будут результаты вывода. В SQL это осуществляется с помощью курсора.
Первый тип запроса во встроенном SQL вызвал модификацию оператора SELECT, который выглядит следующим образом: