- •Серверы баз данных Курс лекций
- •Предисловие
- •Серверы баз данных. Основные понятия
- •История развития субд
- •Перспективы развития субд
- •Трехуровневая архитектура бд. Ее назначение
- •Модели клиент- сервер в технологии бд
- •Пользователи бд
- •Разработчики и администраторы приложений.
- •Контрольные вопросы
- •Двухуровневые модели
- •Модель удаленного доступа к данным
- •Удаленная презентация (Модель сервера бд)
- •Модель распределенной бд
- •Модель сервера приложений
- •Проектирование баз данных
- •Этапы разработки базы данных
- •Критерии оценки качества логической модели данных
- •Алгоритм нормализации (приведение к 3нф)
- •Элементы модели "сущность-связь"
- •Основные понятия er-диаграмм
- •Пример разработки er-модели
- •Описание предметной области
- •Описание сущностей и типов связей
- •П ереход к реляционной модели
- •Концептуальные и физические er-модели
- •Контрольные вопросы
- •Языки бд. Язык определения данных
- •Создание бд. Способы создания бд
- •Создание таблиц базы данных
- •Декларативные ограничения при создании таблиц
- •Задание ограничений ссылочной целостности
- •Изменение таблиц
- •Создание индексов в системе sql-сервер
- •Кластеризованный индекс
- •Контрольные вопросы
- •Языки бд. Язык управления данными
- •Выборка данных
- •Сортировка результатов запроса
- •Вложение запросов
- •Создание таблицы из набора результатов
- •Использование оператора union
- •Запросы на модификацию данных
- •Запросы на удаление
- •Запросы на добавление
- •Вставка записей из другой таблицы
- •Добавление данных в указанные поля
- •Values(‘31.03.03’,’согласен’,3000,4)
- •Запросы на обновление
- •Контрольные вопросы
- •Создание представлений
- •Создание, удаление и обновление представлений
- •Модифицируемые и немодифицируемые представления
- •Контрольные вопросы
- •Хранимые процедуры
- •Элементы Transact sql
- •Оператор условия
- •Циклическое выполнение операций
- •Функции
- •Создание хранимых процедур
- •Выполнение хранимой процедуры.
- •Контрольные вопросы
- •Триггеры
- •Назначение триггеров
- •Создание триггеров
- •Принцип работы триггеров
- •Включение и отключение триггера. Удаление триггера, Просмотр информации о триггерах
- •Контрольные вопросы
- •Транзакции и блокировки
- •Понятие транзакции
- •Свойства транзакций. Способы завершения транзакций
- •Операторы Transact sql для работы с транзакциями
- •Журнал транзакций.
- •Блокировки.
- •Сериалиация транзакций
- •Переопределение блокировок на уровне запроса. Типы блокировок
- •Контрольные вопросы
- •Безопасность данных и привилегии
- •Принципы защиты баз данных от несанкционированного доступа
- •Защита данных в системе ms sql Server
- •Контрольные вопросы
- •Организация доступа к бд из прикладных программ
- •Понятие курсора
- •Интерфейс прикладного программирования
- •Архитектура odbc
- •Архитектура odbc
- •Контрольные вопросы
- •Файловые структуры, используемые для хранения информации в бд.
- •Файлы прямого и последовательного доступа
- •Индексные файлы
- •Файлы с плотным индексом
- •Файлы с неплотным индексом
- •Моделирование отношений 1:м на файловых структурах
- •Моделирование отношений 1:м с использованием однонаправленных указателей
- •Структура записи подчиненного файла.
- •Алгоритм удаление записи из цепочки подчиненного файла.
- •Инвертированные списки
- •К Рисунок 14 онтрольные вопросы
- •Содержание
- •Литература
Защита данных в системе ms sql Server
В системе MS SQL Server организована двухуровневая настройка ограничения доступа к данным. На первом уровне в системе необходимо создать учетную запись пользователя, что позволяет ему подключиться к серверу. На втором уровне для каждой БД SQL-сервера на основании учетной записи создается запись пользователя. То есть с помощью учетных записей осуществляется подключение к SQL-серверу, после чего определяются уровни доступа этого пользователя для каждой БД в отдельности. Настройка уже зарегистрированного (с созданной учетной записью) пользователя к объектам БД называется настройкой записи пользователя.
При этом в системе MS SQL-сервер уже существуют дополнительные объекты – роли, которые определяют уровень доступа к объектам сервера. Роли подразделяются на серверные роли, назначаемые для учетных записей пользователя сервера и роли, используемые для ограничения доступа к объектам БД, то есть роли для записей пользователя БД.
Например, к серверной роли относится securityadmin, назначение которой дает пользователю право добавлять и изменять учетные записи других пользователей. Назначение роли dbbackupoperator разрешает пользователю осуществлять процедуру резервного копирования БД, в которой ему определена эта роль. В этом случае securityadmin относится к группе серверных ролей, а dbbackupoperator – к группе ролей БД.
Для создания учетных записей пользователей в группе объектов SQL сервера присутствует объект Logins в списке Security. Назначение серверных ролей осуществляется с помощью списка в диалоговом окне на вкладке Server Roles. Можно просмотреть информацию о параметрах данной роли, какие системные команды и процедуры имеет выполнять пользователь с данной ролью. Например, пользователь с ролью System Adminnistrators имеет право выполнять любые функции администрирования SQL- сервера, Security Adminnistrators - имеет права управления доступом, возможность создания БД, пользователь с ролью Database Creator имеет права создания и удаления БД.
Настройка учетной записи (то есть доступа к объектам баз данных) осуществляется c помощью вкладки Database Access. В списке БД выбирается БД, к которой будет разрешен доступ, а в списке ролей – отмечаются нужные роли, например db_owner, -допускающая полный доступ к БД, db-accessadmin – добавление и удаление пользователей, db_datareader – возможность чтения данных из любых таблиц, db_datawriter –возможность изменения данных в любых таблицах и др.
Учетные записи к серверу отображаются в списке Security/Logins, а права доступа к БД – в группе Users списка БД.
Контрольные вопросы
Перечислите основные принципы защиты данных, обеспечивающие безопасность хранения информации.
Какой набор прав определен для пользователя, входящего в группу PUBLIC.
В чем заключается понятие роли при работе с многопользовательскими СУБД?
Какой пользователь обладает самыми высокими полномочиями?
Какие определены в стандарте SQL для предоставления и отмены привилегий?
Какой параметр определяет режим, позволяющий передавать права другим пользователям?
В чем заключаются отличия в синтаксисе оператора GRANT для команд UPDATE и REFERENCES?
Каким образом задается привилегия на запуск хранимых процедур?
В чем заключается двухуровневая настройка организации доступа к данным в MS SQL Server?
Чем отличаются серверные роли и роли для записей пользователя БД в MS SQL Server? Приведите примеры прав для серверной роли и роли для учетной записи пользователя БД.
Каким образом выполняется назначение серверных ролей в MS SQL Server?
Каким образом выполняется настройка учетной записи в MS SQL Server? Какой объект сервера используется для отображения прав доступа пользователей к БД?
