Файл: Конспект лекций по учебной дисциплине по дисциплине мдк. 02. 02. Технология разработки и защиты баз данных.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 26.04.2024

Просмотров: 220

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Содержание

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

ТЕМАТИЧЕСКИЙ ПЛАН

ПОЯСНЕНИЯ К НАПИСАНИЮ КОНСПЕКТА

Раздел 1 Основы теории баз данных.

Тема: Понятие базы данных, системы управления баз данных.

Тема: Классификация баз данных. Архитектура баз данных.

Тема: Администратор базы данных и его функции. Пользователи баз данных.

Раздел 2 Модели данных.

Тема: Понятие о моделировании данных

Тема: Иерархическая модель данных. Сетевая модель данных.

Раздел 3 Реляционная модель данных.

Тема: Основные понятия реляционной модели данных.

Тема: Инфологическая модель данных.

Проектирование инфологической модели данных

Тема: ER моделирование базы данных.

Раздел 4. Основы реляционной алгебры.

Тема: Реляционная алгебра. Операции: объединение, пересечение, разность, декартово произведение

Тема: Выборка, проекция, соединение, деление

Тема: Применение реляционной алгебры.

Раздел 5. Этапы проектирования базы данных.

Тема: Этапы проектирования базы данных.

Тема: Концептуальное моделирование предметной области.

Тема: Метод нормальных форм

Тема: Нормальные формы

Тема: ER моделирование предметной области.

Тема: Методы создания основных объектов

Тема: Создание таблиц в СУБД Access

Тема: Разработка схемы базы данных

Тема: Создание однотабличных запросов в СУБД Access.

Тема: Создание многотабличных запросов в СУБД Access.

Раздел 6. Язык запросов SQL.

Тема: Основные понятия и компоненты языка SQL.

Тема: Выражения, условия и операторы языка SQL.

Тема: Средства управления таблицами.

Тема: Средства управления данными.

Раздел 7. Оформление и работа с базой данных.

Тема: Типы и виды форм. Методы и средства создания.

Тема: Создание отчётов. Создание печатных форм отчётов

Тема: Макросы. Основные макрокоманды

1 Определение макроса

1 Определение макроса

Раздел 8. Распределенные, параллельные базы данных.

Тема: Основные условия и требования к распределённой обработке данных

1 Терминология распределенных баз данных

3 Принципы функционирования распределенной БД

1 Терминология распределенных баз данных

3 Принципы функционирования распределенной БД

Тема: Базовые архитектуры распределенных баз данных

Тема: Архитектура сервера баз данных

ПЛАН

2 Архитектура «активный сервер баз данных»

3. Архитектура сервера приложений

2 Архитектура «активный сервер баз данных»

3. Архитектура сервера приложений

Тема: Доступ к базам данных в архитектуре «клиент-сервер»

Тема: Вычисление распределенных запросов.

Тема: Транзакции и целостность базы данных.

Тема: Триггеры и хранимые процедуры.

Раздел 9. Защита базы данных.

Тема: Безопасность данных. Управление правами доступа.

Тема: Обязательные методы защиты базы данных.

3 Поддержка мер обеспечения безопасности в языке SQL

3 Поддержка мер обеспечения безопасности в языке SQL

Директивы GRANT и REVOKE

Раздел 10. Базы данных в Интернете.

Тема: Основы XML.

1 Определение XML

1 Определение XML

Тема: Доступ к данным с помощью ADO.NET.


Замечания:

  • Для того чтобы обойти требование ввода пароля при входе в Access, достаточно задать другой файл рабочей группы, в котором оно не установлено. В простейшем случае – это создаваемый при установке системы файл system.mdw. Чтобы система использовала его, а не текущий файл, достаточно запустить программу администратора рабочих групп и с его помощью связать Access с «подставным» файлом. Файл рабочей группы не обязательно должен быть «родным». Несовпадение имени и названия организации не мешает нормальному запуску системы с другим файлом рабочей группы, который может находиться в любой папке.

  • Чтобы обезопасить себя от порчи файла рабочей группы или утери пароля администратора из группы Admins, следует сохранить исходный файл рабочей группы в надежном месте. В критический момент следует подключиться к нужному файлу.

  • При организации работы нескольких групп пользователей на одном компьютере целесообразно для каждой из групп создать свой файл рабочей группы. Перед началом работы следует подключиться к нужному файлу. Чтобы случайно не подключиться к чужому файлу и не дать возможности несанкционированному пользователю войти в систему Access, файл лучше хранить отдельно от системы.

Учетные записи отдельных пользователей и групп пользователей создаются с помощью команды Сервис | Защита | Пользователи и группы.

Определение прав пользователей и групп выполняется с помощью команды Сервис | Защита | Разрешения. Окно Разрешения имеет две вкладки: Разрешения и Смена владельца. Установка прав может выполняться по отношению к группам и отдельным пользователям. Выбор определяется с помощью переключателей в группе Список. Возможности манипуляций зависят от полномочий текущего пользователя, указываемого в нижней части окна.

Вкладка Смена владельца служит для смены владельца некоторого объекта БД. Новым владельцем может стать отдельный пользователь и группа. Если права владельца передаются учетной записи группы, то права владельца автоматически получают все пользователи этой группы. Возможности операций по смене владельца зависят от полномочий текущего пользователя.

Установку защиты базы данных на уровне пользователя можно выполнить с помощью Мастера защиты. Результат защиты – создание новой защищенной БД. Для вызова Мастера защиты следует открыть БД и выполнить команду Сервис | Защита |
Мастер. Исходная БД при этом остается без изменения и, если не нужна, ее можно удалить.

Процедура снятия защиты на уровне пользователей включает два этапа:

1) предоставление группе Users полных прав на доступ к объектам базы данных;

2) изменение владельца базы данных – предоставление права владения пользователю Admin.

Чтобы снять защиту необходимо выполнить следующие действия:

1) Запустить Microsoft Access, открыть защищенную базу данных и подключиться к системе в качестве администратора (члена группы Admins).

2) Предоставить группе Users полные права на доступ ко всем объектам базы данных.

3) Закрыть базу данных и Access.

4) Запустить Microsoft Access.

5) Создать новую базу данных и зарегистрироваться под именем Admin.

6) Импортировать в новую базу данных все объекты из защищенной базы данных с помощью команды Файл | Внешние данные | Импорт.

7) Удалить пароль пользователя Admin, если текущий файл рабочей группы будет использоваться в дальнейшем. Если в дальнейшем будет использоваться стандартный файл рабочей групп system.mdw, то в этом нет необходимости.

Замечания:

  • Система защиты Access позволяет создавать произвольное число групп пользователей, но создавать большое число групп не стоит.

  • Права доступа пользователей лучше назначать на уровне групп. Это упрощает использование системы защиты для администратора и пользователей.


2.3 Шифрование баз данных

Средства шифрования в Access позволяют кодировать файл БД таким образом, что она становится недоступной для чтения из других программ, в которых известен формат БД Access.

Шифровать незащищенную паролем базу данных большого смысла нет, так как дешифровать БД может любой пользователь на этой или другой ПЭВМ, где установлена система Access. Более того, пользователь может открыть и использовать зашифрованную БД как обычную незашифрованную.

Для шифрования/дешифрования базы данных требуется выполнить следующие действия:

  1. Запустить Microsoft Access без открытия базы данных. Важно! Нельзя зашифровать или дешифровать открытую базу данных. При работе с сетевой (общей) базой данных операции шифрования и дешифрования не срабатывают, если база данных открыта каким-либо пользователем.

  2. В меню Сервис выбрать команду Защита и подкоманду Шифровать/дешифровать.

  3. Указать имя базы данных, которую требуется зашифровать или дешифровать, OK.

  4. Указать имя, диск и папку для конечной базы данных (рекомендуется шифруемой БД задавать имя, отличное от исходного), OK.


Для обычной работы с зашифрованной БД ее не обязательно специально расшифровывать. Система «понимает» и зашифрованную информацию. Следует иметь в виду, что с зашифрованной базой данных Access работает несколько медленнее, поскольку операции шифрования/дешифрования выполняются в реальном масштабе времени.

3 Поддержка мер обеспечения безопасности в языке SQL


В действующем стандарте языка SQL предусматривается поддержка только избирательного управления доступом. Она основана на двух более или менее независимых частях SQL. Одна из них называется механизмом представлений, который (как говорилось выше) может быть использован для скрытия очень важных данных от несанкционированных пользователей. Другая называется подсистемой полномочий и наделяет одних пользователей правом избирательно и динамично задавать различные полномочия другим пользователям, а также отбирать такие полномочия в случае необходимости.

Директивы GRANT и REVOKE


Механизм представлений языка SQL позволяет различными способами разделить базу данных на части таким образом, чтобы некоторая информация была скрыта от пользователей, которые не имеют прав для доступа к ней. Однако этот режим задается не с помощью параметров операций, на основе которых санкционированные пользователи выполняют те или иные действия с заданной частью данных. Эта функция (как было показано выше) выполняется с помощью директивы GRANT.

Обратите внимание, что создателю любого объекта автоматически предоставляются все привилегии в отношении этого объекта.

Стандарт SQL1 определяет следующие привилегии для таблиц:

  1. SELECT – позволяет считывать данные из таблицы или представления;

  2. INSERT – позволяет вставлять новые записи в таблицу или представление;

  3. UPDATE – позволяет модифицировать записи из таблицы или представления;

  4. DELETE – позволяет удалять записи из таблицы или представления.

Стандарт SQL2 расширил список привилегий для таблиц и представлений:

  1. INSERT для отдельных столбцов, подобно привилегии UPDATE;

  2. REFERENCES – для поддержки внешнего ключа.

Помимо перечисленных выше добавлена привилегия USAGE – для других объектов базы данных.

Кроме того, большинство коммерческих СУБД поддерживает дополнительные привилегии, например:


  1. ALTER – позволяет модифицировать структуру таблиц (DB2, Oracle);

  2. EXECUTE – позволяет выполнять хранимые процедуры.

Создатель объекта также получает право предоставить привилегии доступа какому-нибудь другому пользователю с помощью оператора GRANT. Ниже приводится синтаксис утверждения GRANT:

GRANT {SELECT|INSERT|DELETE|(UPDATE столбец, …)}, …

ON таблица ТО {пользователь | PUBLIC} [WITH GRANT OPTION]

Привилегии вставки (INSERT) и обновления (UPDATE) (но не привилегии выбора SELECT, что весьма странно) могут задаваться для специально заданных столбцов.

Если задана директива WITH GRANT OPTION, это значит, что указанные пользователи наделены особыми полномочиями для заданного объекта – правом предоставления полномочий. Это, в свою очередь, означает, что для работы с данным объектом они могут наделять полномочиями других пользователей

Например: предоставить пользователю Ivanov полномочия для осуществления выборки и модификации фамилий в таблице Students с правом предоставления полномочий.

GRANT SELECT, UPDATE StName

ON Students ТО Ivanov WITH GRANT OPTION

Если пользователь А наделяет некоторыми полномочиями другого пользователя В, то впоследствии он может отменить эти полномочия для пользователя В. Отмена полномочий выполняется с помощью директивы REVOKE с приведенным ниже синтаксисом.

REVOKE {{SELECT | INSERT | DELETE | UPDATE},…|ALL PRIVILEGES}

ON таблица,… FROM {пользователь | PUBLIC},… {CASCADE | RESTRICT}

Поскольку пользователь, с которого снимается привилегия, мог предоставить ее другому пользователю (если обладал правом предоставления полномочий), возможно возникновение ситуации покинутых привилегий. Основное предназначение параметров RESTRICT и CASCADE заключается в предотвращении ситуаций с возникновением покинутых привилегий. Благодаря заданию параметра RESTRICT не разрешается выполнять операцию отмены привилегии, если она приводит к появлению покинутой привилегии. Параметр CASCADE указывает на последовательную отмену всех привилегий, производных от данной.

Например: снять с пользователя Ivanov полномочия для осуществления модификации фамилий в таблице Students. Также снять эту привилегию со всех пользователей, которым она была предоставлена Ивановым.

REVOKE UPDATE

ON Students FROM Ivanov CASCADE

При удалении домена, таблицы, столбца или представления автоматически будут удалены также и все привилегии в отношении этих объектов со стороны всех пользователей.

Контрольные вопросы

  1. Каковы основные функции подсистемы защиты баз данных?

  2. Для чего нужна аутентификация и идентификация пользователя?

  3. Что такое компоненты информационной безопасности?

  4. Когда используются избирательный и мандатный способ доступа?

  5. Назовите основные операторы SQL используемые для защиты данных.


ЛЕКЦИЯ 39