- •8. Распределенные базы данных
- •8.1.Предпосылки возникновения рбд
- •8.2. Классификация систем по способам обработки данных
- •8.3. Однородные и неоднородные системы бд
- •8.4. Стратегия размещения данных в рбд по узлам сети
- •Функции сурбд
- •9. Удаленный доступ взаимодействия с базой данных
- •9.1. Режим работы с бд при удаленном доступе
- •9.2. Архитектура моделей удалённого доступа.
- •2.2.3. Двухуровневые модели. Модель файлового сервера (File Server, fs)
- •9.2.4. Модели удалённого доступа к данным (Remote Data Access, rda) в архитектуре «клиент-сервер»
- •9.2.5. Модель «сервера бд»
- •9.2.6. Хранимые процедуры (хп) и триггеры
- •9.3. Многоуровневые модели 9.3.1. Модель сервера приложений
- •9.3.2. Модель серверов баз данных.
- •9.4. Архитектура распределённых субд
- •10 .Параллельные процессы (или процесс транзакций)
- •10.1. Транзакции
- •10.2. Модели транзакций
- •3.3. Свойства транзакций
- •10.4. Восстановление системы.
- •10.5. Параллельные операции над бд
- •10.6. Проблемы параллелизма
- •10.7. Конфликт транзакций
- •10.8. Элементы блокировки.
- •10.8.1. Бесконечное ожидание и тупики
- •10.8.2. Способы предотвращения тупиков
- •10.9.1. Протоколы и расписания
- •10.9.2. Модель транзакции
- •10.9.3. Протокол, гарантирующий сериализуемость
- •10.10. Модели с блокировками для чтения и записи
- •10.11. Блокировки в Visual FoxPro
- •11. Безопасность бд
- •11.2. Система привилегий.
- •Факультативные возможности grant
- •11.3. Целостность данных
- •11.4. Шифрование данных
- •12. Хранилище данных
- •12.1. Концепция хранилища данных
- •12.2. Многомерная модель данных
- •12.3. Olap – системы
- •12.4. Интеллектуальный анализ данных
10.11. Блокировки в Visual FoxPro
В Visual FoxPro можно устанавливать блокировки на всю таблицу или на отдельные записи таблицы.
Существуют: 1. Полная блокировка 2. Блокировка изменений
Для установки полной блокировки используется команда
SET EXCLUSIVE ON/OFF
Запрещается даже чтение посторонним
Для установки блокировки изменений таблицы используется функция FLOCK – блокировка таблицы
Разрешается чтение посторонним клиентам LOCK (RLOCK) – блокировка записи
Пример: SET EXCLUSIVE ON SELECT 0 USE SORT DO WHILE .T. If FLOCK (“SOTR”) * вызов процедуры DO PROC * снимаем блокировку UNLOCK IN SOTR EXIT ELSE @ 10,10, SAY “Устанавливается блокировка, подождите” ENDIF ENDDO
Вопросы
Транзакция, что это?
Какие действия совершает транзакция по отношению к БД?
Что происходит с системой в случае аварийного завершения транзакции?
Какие операторы сигнализируют об успешном и неудачном завершении транзакции?
Назовите основные свойства транзакции.
Что означает термин параллелизм в среде СУБД?
Какие существуют проблемы параллельных процессов?
Причина потери результатов обновления элементов БД?
Из-за чего возникают “грязные данные”?
Какие конфликты возникают при параллельной работе транзакций?
Назовите графики запуска транзакций.
Какой график транзакций называется сериализуемым?
Назовите способы разрешения конкуренций между транзакциями.
Проблемы блокировок транзакций?
Назовите способы предотвращения «тупиков».
Какова формальная модель транзакций?
Как осуществляется проверка сериализуемости транзакций?
Протокол, гарантирующий сериализуемость?
Представьте матрицу совместимости транзакций при использовании блокировок для чтения и записи.
11. Безопасность бд
Безопасность данных – это защита данных от случайного или преднамеренного разрушения, раскрытия или модификации данных.
Меры безопасности
1. Идентификация и установление подлинности 2. Предоставление полномочий 3. Обеспечение целостности БД 4. Кодирование информации 11.1. Идентификация и установление подлинности
Для установления подлинности пользователя употребляются пароли.
Пароли: 1. Простые пароли 2. Однократного использования. Пользователю выдается список из N паролей. Такие же N паролей хранятся в ЭВМ.
Данная схема обеспечивает большую степень безопасности, но она является и более сложной. Пример: xyz xyz абв абв
Trim Trim 3. «Запрос - ответ». В системе хранятся данные об идентификации личности. Машина задает вопросы пользователю, известные только ему. 4. Установление пользователем подлинности системы. Пароли используются не только для установления пользователя по отношению к системам, но и для обратного установления подлинности. Это важно, например, в сетях ЭВМ. Такую проверку называют процедурой в режиме “рукопожатия “.
Из машины посылается некоторое число х, на другой машине есть функция преобразования f(x). После преобразования посылается ответ f(х). Первая машина определяет: верна ли функция преобразования или нет. Число посылается открыто, а функция преобразования по линиям связи не передается.
Пример Х f(x) 1312 4 4752 86 5472 76 6836 120 ... Пусть d1d2d3d4 – четырехзначное десятичное число Функция преобразования может иметь следующий вид:
Пусть x=4752 Определение полномочий:
-
Наименование
ФИО
Квалифи-
кация
Оклад
Транспорт
Прогноз
объема
продаж
Цена на
покупку
Отдел кадров
11
11
11
00
00
00
Транс-ый отдел
00
00
00
11
00
00
Касса
01
00
11
00
00
00
Отдел сбыта
00
00
00
00
11
01
Отдел МТС
01
00
00
01
11
01
Исслед-ий отдел
01
01
00
01
01
01
Где
00 – запрос доступа
01 – право читать 10 – право записи 11 – право читать и писать Механизм представления.
Механизм представления используется для скрытия данных. CREATE VIEW <имя> [поля] AS<подзапрос> CREATE VIEW spec 2202 AS SELECT * FROM STUD WHERE SPEC=”2202”