Разделы презентаций


Базы данных

Содержание

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

Слайды и текст этой презентации

Слайд 1Базы данных
Соловьев А.В.

Базы данныхСоловьев А.В.

Слайд 2Транза́кция (transaction) — группа последовательных операций в БД, которая представляет собой логическую

единицу работы с данными. Транзакция может быть выполнена либо целиком

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

Слайд 3Различают последовательные (обычные), параллельные и распределённые транзакции.
Распределённые транзакции подразумевают

использование больше чем одной транзакционной системы и сложной логики (например,

двухфазный протокол фиксации транзакции).
Также, в некоторых системах реализованы автономные транзакции, или под-транзакции, которые являются автономной частью родительской транзакции.
Различают последовательные (обычные), параллельные и распределённые транзакции. Распределённые транзакции подразумевают использование больше чем одной транзакционной системы и

Слайд 4Транзакции базы данных обладают свойствами, сокращенно называемыми ACID (Atomicity, Consistency,

Isolation, Durability):
Атомарность (Atomicity). Транзакция либо выполняется полностью, либо не выполняется.


Согласованность (Consistency). Транзакция переводит базу данных из одного согласованного (непротиворечивого) состояния в другое.
Изолированность (Isolation). Результаты транзакции становятся доступны для других транзакций только после ее фиксации.
Долговечность (Durability). После фиксации транзакции изменения становятся постоянными.
Транзакции базы данных обладают свойствами, сокращенно называемыми ACID (Atomicity, Consistency, Isolation, Durability):Атомарность (Atomicity). Транзакция либо выполняется полностью,

Слайд 5Явные транзакции. По умолчанию, каждая команда выполняется как отдельная транзакция.

Пользователь может объединить несколько команд в одну транзакцию, явно указав

ее начало и конец.

Неявные транзакции. Не существует оператора начала транзакции. Транзакция начинается с началом сеанса работы с БД. Завершается транзакция при следующих событиях:
Явно выполненный оператор завершения транзакции - rollback или commit
Оператор DDL
Завершение сеанса.
Явные транзакции. По умолчанию, каждая команда выполняется как отдельная транзакция. Пользователь может объединить несколько команд в одну

Слайд 6Проблемы организации параллельной работы с данными в СУБД
1) Потерянное обновление.

В транзакции 1 изменяется значение поля S, а затем в

транзакции 2 также изменяется значение этого поля. В результате первое изменение будет потеряно.
Проблемы организации параллельной работы с данными в СУБД1) Потерянное обновление. В транзакции 1 изменяется значение поля S,

Слайд 72) Проблема зависимости от незафиксированных результатов - «Грязное чтение» (dirty

read). Допускается чтение незафиксированных ("грязных") данных.

2) Проблема зависимости от незафиксированных результатов - «Грязное чтение» (dirty read). Допускается чтение незафиксированных (

Слайд 83) Неповторяющееся чтение (non-REPEATABLE READ). Это означает, что если строка

читается в момент времени T1, а затем перечитывается в момент

времени T2, то за этот период она может измениться.
3) Неповторяющееся чтение (non-REPEATABLE READ). Это означает, что если строка читается в момент времени T1, а затем

Слайд 94) Чтение фантомов (phantom read). Это означает, что если выполнить

запрос в момент времени T1, а затем выполнить его повторно

в момент времени Т2, в базе данных могут появиться дополнительные строки, влияющие на результаты. От неповторяемости при чтении это явление отличается тем, что прочитанные данные не изменились, но критериям запроса стало удовлетворять больше данных, чем прежде.
4) Чтение фантомов (phantom read). Это означает, что если выполнить запрос в момент времени T1, а затем

Слайд 10Для устранения данных проблем в СУБД вводится четыре уровня изолированности

транзакций, характеризующихся степенью взаимовлияния нескольких транзакций, обрабатывающих одни и те

же данные.
Для устранения данных проблем в СУБД вводится четыре уровня изолированности транзакций, характеризующихся степенью взаимовлияния нескольких транзакций, обрабатывающих

Слайд 11Операторы SQL
Операторы SQL делятся на:
операторы определения данных (Data Definition Language,

DDL)
операторы манипуляции данными (Data Manipulation Language, DML)
операторы определения

доступа к данным (Data Control Language, DCL)
операторы управления транзакциями (Transaction Control Language, TCL)

Операторы SQLОператоры SQL делятся на:операторы определения данных (Data Definition Language, DDL) операторы манипуляции данными (Data Manipulation Language,

Слайд 12COMMIT (COMMIT WORK). Оператор завершает транзакцию и делает любые выполненные

в ней изменения постоянными (продолжительными).

ROLLBACK (ROLLBACK WORK). Оператор завершает транзакцию

и отменяет все выполненные в ней и изменения. Для этого он читает информацию из сегментов отката и восстанавливает блоки данных в состояние, в котором они находились до начала транзакции.
COMMIT (COMMIT WORK). Оператор завершает транзакцию и делает любые выполненные в ней изменения постоянными (продолжительными).ROLLBACK (ROLLBACK WORK).

Слайд 13SAVEPOINT. Оператор позволяет создать в транзакции "метку", или точку сохранения.

В одной транзакции можно выполнять оператор SAVEPOINT несколько раз, устанавливая

несколько точек сохранения.

ROLLBACK TO <точка сохранения>. Оператор используется совместно с представленным выше оператором SAVEPOINT. Транзакцию можно откатить до указанной точки сохранения, не отменяя все сделанные до нее изменения.
SAVEPOINT. Оператор позволяет создать в транзакции

Слайд 14SET TRANSACTION. Оператор позволяет устанавливать атрибуты транзакции, такие как уровень

изолированности и то, будет ли она использоваться только для чтения

данных или для чтения и записи. Этот оператор также позволяет привязать транзакцию к определенному сегменту отката.
SET TRANSACTION. Оператор позволяет устанавливать атрибуты транзакции, такие как уровень изолированности и то, будет ли она использоваться

Слайд 15Особенности СУБД Oracle
Неявные транзакции. Транзакция автоматически начитается или с начала

сеанса работы или с момента окончания предыдущей транзакции
Уровни изолированности -

READ_COMMITED, SERIALIZABLE
Типы транзакций - Read Write, Read Only. Транзакция Read Only эквивалентна при чтении уровню изолированности SERIALIZABLE
Операторы управления транзакциями: SET TRANSACTION, COMMIT, ROLLBACK, SAVEPOINT
Особенности СУБД OracleНеявные транзакции. Транзакция автоматически начитается или с начала сеанса работы или с момента окончания предыдущей

Слайд 16Особенности СУБД MS SQL Server
Явные транзакции. Каждый оператор выполняется в

своей транзакции, если он не находится в блоке begin tran

- commit (rollback)
Наличие вложенных транзакций (begin tran … begin tran … commit (rollback) … commit (rollback) ). Подтверждение вложенной транзакции ни на что не влияет. Откат вложенной транзакции откатывает самую внешнюю транзакцию.
Операторы управления транзакциями: SET TRANSACTION, BEGIN TRANSACTION, COMMIT, ROLLBACK, SAVEPOINT.
Особенности СУБД MS SQL ServerЯвные транзакции. Каждый оператор выполняется в своей транзакции, если он не находится в

Слайд 17Понятие блокировок

Блокировка - это механизм, используемый для управления одновременным доступом

к общему ресурсу. Блокирование происходит, когда один сеанс удерживает ресурс,

запрашиваемый другим сеансом. В результате запрашивающий сеанс будет заблокирован - он "повиснет" до тех пор, пока удерживающий сеанс не завершит работу с ресурсом.
Понятие блокировокБлокировка - это механизм, используемый для управления одновременным доступом к общему ресурсу. Блокирование происходит, когда один

Слайд 18Основные типы блокировок
Оптимистическое блокирование (optimistic locking) - стратегия блокирования набора

данных, при которой раздел, содержащий изменяемую запись, блокируется только на

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

Основные типы блокировокОптимистическое блокирование (optimistic locking) - стратегия блокирования набора данных, при которой раздел, содержащий изменяемую запись,

Слайд 19Блокировки могут устанавливаться на трех уровнях:

Уровень строк - уровень по

умолчанию.
Уровень страницы - используется для более эффективного использования ресурсов

и в случае если в данной странице много строк с этой блокировкой.
Уровень таблицы - используется при операциях над таблицей и в случае эскалации блокировок.

Блокировки могут устанавливаться на трех уровнях:Уровень строк - уровень по умолчанию. Уровень страницы - используется для более

Слайд 20Взаимоблокировки
Возможна ситуация, когда две транзакции блокируют друг друга так, что

продолжение работы не возможно без принудительного завершения одной из транзакций.

ВзаимоблокировкиВозможна ситуация, когда две транзакции блокируют друг друга так, что продолжение работы не возможно без принудительного завершения

Слайд 21Защита информации в базах данных

В современных СУБД поддерживается один из

наиболее общих подходов к вопросу обеспечения безопасности данных:
дискреционный,
мандатный,


ролевой.

Единицей данных или «объектом данных», для которых должна быть создана система безопасности, может быть как вся база данных целиком, так и любой объект внутри базы данных.
Защита информации в базах данныхВ современных СУБД поддерживается один из наиболее общих подходов к вопросу обеспечения безопасности

Слайд 22В случае дискреционного управления некоторый пользователь обладает различными правами (привилегиями

или полномочиями) при работе с данными объектами. Разные пользователи могут

обладать разными правами доступа к одному и тому же объекту. Избирательные права характеризуются значительной гибкостью.
Для реализации дискреционного принципа предусмотрены следующие методы. В базу данных вводится новый тип объектов БД — это пользователь. Каждому пользователю в БД присваивается уникальный идентификатор. Для дополнительной защиты каждый пользователь кроме уникального идентификатора снабжается уникальным паролем, причем если идентификаторы пользователей в системе доступны системному администратору, то пароли пользователей хранятся чаще всего в специальном кодированном виде и известны только самим пользователям.
В случае дискреционного управления некоторый пользователь обладает различными правами (привилегиями или полномочиями) при работе с данными объектами.

Слайд 23В случае мандатного управления, наоборот, каждому объекту данных присваивается некоторый

классификационный уровень, а каждый пользователь обладает некоторым уровнем допуска. При

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

Слайд 24Ролевой подход. Роль — это поименованный набор полномочий. Существует ряд

стандартных ролей, которые определены в момент установки сервера баз данных.

Имеется возможность создавать новые роли, группируя в них произвольные полномочия. Введение ролей позволяет упростить управление привилегиями пользователей, структурировать этот процесс. Кроме того, введение ролей не связано с конкретными пользователями, поэтому роли могут быть определены и сконфигурированы до того, как определены пользователи системы. Пользователю может быть назначена одна или несколько ролей.
Ролевой подход. Роль — это поименованный набор полномочий. Существует ряд стандартных ролей, которые определены в момент установки

Слайд 25Пользователи могут быть объединены в специальные группы пользователей. Один пользователь

может входить в несколько групп. В стандарте вводится понятие группы

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

Привилегии или права пользователей, ролей или групп — это набор действий (операций), которые они могут выполнять над объектами БД.
Пользователи могут быть объединены в специальные группы пользователей. Один пользователь может входить в несколько групп. В стандарте

Слайд 26Объектами БД, которые подлежат защите, являются все объекты, хранимые в

БД: таблицы, представления, хранимые процедуры и триггеры.

Для каждого типа

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

Как минимум в СУБД необходимо поддерживать два фундаментальных принципа:
проверку прав (полномочий) и
проверку подлинности пользователя (аутентификацию).
Объектами БД, которые подлежат защите, являются все объекты, хранимые в БД: таблицы, представления, хранимые процедуры и триггеры.

Слайд 27Проверка прав (полномочий) основана на том, что каждому пользователю или

процессу информационной системы соответствует набор действий, которые он может выполнять

по отношению к определенным объектам.

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

Слайд 28Проблема защиты не является чисто технической задачей, это комплекс организационно-технических

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

При

работе в сети существует проблема проверки подлинности полномочий. Эта проблема состоит в следующем. Допустим, процессу 1 даны полномочия по работе с БД, а процессу 2 такие полномочия не даны. Тогда напрямую процесс 2 не может обратиться к БД, но он может обратиться к процессу 1 и через него получить доступ к БД.

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

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика