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


Управление данными Кандидат технических наук, доцент Преображенский Юрий

Содержание

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

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

Слайд 1Управление данными
Кандидат технических наук, доцент
Преображенский Юрий Петрович
© ВИВТ, 2012

Управление даннымиКандидат технических наук, доцентПреображенский Юрий Петрович© ВИВТ, 2012

Слайд 2Банк данных (БнД) — это система специально организованных данных, программных,

языковых, организационных и технических средств, предназначенных для централизованного накопления и

коллективного многоцелевого использования данных

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

Система управления базами данных (СУБД) — это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями

Банк данных (БнД) — это система специально организованных данных, программных, языковых, организационных и технических средств, предназначенных для

Слайд 3Требования, предъявляемые к банкам данных
Многократное использование данных
Простота
Легкость использования
Гибкость

использования
Быстрая обработка запросов на данные
Язык взаимодействия конечных пользователей

с системой

База данных—это основа для будущего наращивания прикладных программ

Сохранение затрат умственного труда

Наличие интерфейса прикладного программирования

Распределенная обработка данных

Адаптивность и расширяемость

Контроль за целостностью данных

Восстановление данных после сбоев

Вспомогательные средства

Автоматическая реорганизация и перемещение

Требования, предъявляемые к банкам данныхМногократное использование данных ПростотаЛегкость использования Гибкость использования Быстрая обработка запросов на данные Язык

Слайд 4Информационная база
Коллекция записей данных
Описания данных — метаданные

Информационная базаКоллекция записей данныхОписания данных — метаданные

Слайд 5Уровни представления данных

Уровни представления данных

Слайд 6Этапы работы с базой данных
Описание БД
Описание частей БД, необходимых

для конкретных приложений (задач, групп задач)
Программирование задач или описание

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

Загрузка БД

Этапы работы с базой данныхОписание БД Описание частей БД, необходимых для конкретных приложений (задач, групп задач) Программирование

Слайд 7Два класса языков работы с данными
Для выражения обобщенного взгляда на

данные применяют язык описания данных (ЯОД, DDL - Data Definition

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

Языки манипулирования данными (ЯМД, DML - Data Manipulating Language) обычно включает в себя средства запросов к базе данных и поддержания базы данных (добавление, удаление, обновление данных, создание и уничтожение БД, изменение определений БД, обеспечение запросов к справочнику БД).
Два класса языков работы с даннымиДля выражения обобщенного взгляда на данные применяют язык описания данных (ЯОД, DDL

Слайд 8Качественные характеристики языков запросов
Селективная
мощность
Простота
изучения
Уровень
процедурности


Модульность построения языка
Наиболее распространенным языком для работы с базами

данных является SQL (Structured Query Language), в своих последних реализациях предоставляющий не только средства для спецификации и обработки запросов на выборку данных, но также и функции по созданию, обновлению, управлению доступом и т. д
Качественные характеристики языков запросов Селективная мощность Простота изучения Уровень процедурности Модульность построения языка Наиболее распространенным языком для

Слайд 9Программные средства СУБД

Программные средства СУБД

Слайд 10Централизованное управление данными обеспечивает:

1. сокращение избыточности в хранимых данных;

2. совместное

использование хранимых данных;

3. стандартизацию представления данных, упрощающую

эксплуатацию БД;

4. разграничение доступа к данным;

5. целостность данных, обеспечиваемую процедурами, предотвращающими включение в БД неверных данных, и ее восстановление после отказов системы.
Централизованное управление данными обеспечивает:1. сокращение избыточности в хранимых данных;2. совместное использование хранимых данных;3. стандартизацию  представления данных,

Слайд 11Классификация по форме представляемой информации
Фактографические
Документальные
Мультимедийные
Картографические
Видео-, аудио-, графические
Классификация по типу хранимой

(не мультимедийной) информации
Фактографические
Документальные
Лексикографические
Классификаторы
Кодификаторы
Словари
Тезаурусы
Рубрикаторы
Полнотекстовые
Библиографически-реферативные

Классификация по форме представляемой информацииФактографическиеДокументальныеМультимедийныеКартографическиеВидео-, аудио-, графическиеКлассификация по типу хранимой (не мультимедийной) информацииФактографическиеДокументальныеЛексикографическиеКлассификаторыКодификаторыСловариТезаурусыРубрикаторыПолнотекстовыеБиблиографически-реферативные

Слайд 12Классификация по типу используемой модели данных
Иерархические
Сетевые
Реляционные
Постреляционные
Объектно-ориентированные
Многомерные
Классификация по топологии хранения
Локальные БД
Распределенные

БД
Классификация по типологии доступа и характеру использования
Специализированные
Интегрированные
Классификация по типологии доступа

и характеру использования

Операционные

Справочно-информационные

Классификация по типу используемой модели данныхИерархическиеСетевыеРеляционныеПостреляционныеОбъектно-ориентированныеМногомерныеКлассификация по топологии храненияЛокальные БДРаспределенные БДКлассификация по типологии доступа и характеру использованияСпециализированныеИнтегрированныеКлассификация

Слайд 13Классификация по сфере возможного применения
Универсальные
Специализированные
Классификация по степени доступности
Общедоступные
С ограниченным доступом

Классификация по сфере возможного примененияУниверсальныеСпециализированныеКлассификация по степени доступностиОбщедоступныеС ограниченным доступом

Слайд 14Соотношение понятий «величина», «контекст» и «значение»

Соотношение понятий «величина», «контекст» и «значение»

Слайд 15Система моделей представления информации
Инфологические модели
Модели представления хорошо структурированной информации
Модели

представления плохо структурированной информации
IDEF-модели
Диаграммы потоков данных
ER-модели
Дескрипторные модели

Семантические сети. Тезаурусы

Фреймы
Даталогические модели
Модели

представления фактографической информации

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

Объектно-ориентированные


Теоретико-графовые

Теоретико-множественные

Инвертирования организация

Прямая организация

Иерархические

Сетевые

Реляционные

Бинарных отношений

Схемно-определяемая структура

Контекстно-определяемая структура

Физические модели

Модели, основанные на файловых структурах

Модели, имеющие страничную организацию

IDEF – одно из семейств стандартов ICAM (Integrated Computer-Aided Manufacturing)
IDEF – ICAM DEFinition

DFD – Data Flow Diagram

ER – Entity-Relationship – Сущность-Связь

Система моделей представления информации Инфологические моделиМодели представления хорошо структурированной информацииМодели представления плохо структурированной информацииIDEF-моделиДиаграммы потоков данныхER-моделиДескрипторные моделиСемантические

Слайд 16Схема обработки запроса на выборку данных из БД

Схема обработки запроса на выборку данных из БД

Слайд 17Данные и управление их обработкой
- тип данных, или совокупность

соглашений о программно-аппаратурной форме представления и обработки, а также ввода,

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

Структура информационных единиц, обрабатываемых на ЭВМ, определяется следующими понятиями:

Данные и управление их обработкой - тип данных, или совокупность соглашений о программно-аппаратурной форме представления и обработки,

Слайд 18Варианты размещения данных и их описания
Программа


Описание данных
Данные
В прикладной программе

Программа

Описание данных
Д
а
н
н
ы
е


В

файле данных
Программа


Данные
Отдельным набором данных (словарь данных)
Описание данных

Варианты размещения данных и их описанияПрограммаОписание данныхДанныеВ прикладной программеПрограммаОписание данныхДанныеВ файле данныхПрограммаДанныеОтдельным набором данных (словарь данных)Описание данных

Слайд 19Основные задачи обработки данных, решаемые на основе концепций баз данных,

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

в виде линейных — наиболее соответствующих принципу последовательного представления (хранения) в машинной памяти?

Каким образом организовать данные, чтобы была возможность эффективного внесения, удаления и редактирования данных?

Как организовать данные, чтобы использование пространства памяти (плотность данных) было достаточно рациональным, а скорость доступа к записям данных высокой?

Каким образом организовать данные, чтобы поиск был эффективным и позволял отыскивать записи по нескольким ключам?
Основные задачи обработки данных, решаемые на основе концепций баз данных, сводятся к следующим вопросам:Каким образом сложные нелинейные

Слайд 20Эффективность
Простота
Скорость выборки
Стоимость (сложность) аппаратных средств
Скорость выборки
Сложность

процедур доступа
Плотность данных
Время доступа и сложность процедур
Независимость

данных

Производительность

Гибкость средств поиска

Избыточность данных

Гибкость поиска

Скорость поиска

Сложность процедур доступа

Простота обслуживания

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

Эффективность Простота Скорость выборки Стоимость (сложность) аппаратных средств Скорость выборкиСложность процедур доступа Плотность данных Время доступа и

Слайд 21Варианты решений трехуровневого представления
Концептуальная
схема
Внешняя схема
Внутренняя схема
Внешняя схема
Концептуальная
схема
Логическая

схема
Внутренняя схема
Внешняя схема
Концептуальная
схема
Глобальная
внутренняя схема
Локальная
внутренняя схема

Варианты решений трехуровневого представления Концептуальная схемаВнешняя схемаВнутренняя схемаВнешняя схемаКонцептуальная схемаЛогическая схемаВнутренняя схемаВнешняя схемаКонцептуальная схемаГлобальная внутренняя схемаЛокальная внутренняя

Слайд 22Атрибутивный способ идентификации
Информация
Объект
предметной области
Свойство
Данные
Запись
Элементы данных
Значение

Атрибутивный способ идентификации ИнформацияОбъект предметной областиСвойствоДанныеЗаписьЭлементы данныхЗначение

Слайд 23Способы хранения ключа и атрибута
Указатель
Атрибут
Инвертированный список

Способы хранения ключа и атрибута УказательАтрибутИнвертированный список

Слайд 24
А(Е) = ? Каково значение атрибута А для объекта Е?

А(?)

= V Какие объекты имеют значение атрибута, равное V?

?(Е) =

V Какие атрибуты объекта Е имеют значение, равное V?

?(Е) = ? Какие значения атрибутов имеет объект I?

А(?) = ? Какие значения имеет атрибут А в наборе?

?(?) = V Какие атрибуты объектов набора имеют значение,
равное V?

Типология простых (атомарных) запросов:

А(Е) = ? Каково значение атрибута А для объекта Е?А(?) = V Какие объекты имеют значение атрибута,

Слайд 251
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
21
17
18
19
20
Дерево
Корень
Листья

123456789101112131415162117181920ДеревоКореньЛистья

Слайд 26Сбалансированные и несбалансированные деревья

Сбалансированные и несбалансированные деревья

Слайд 27Двоичные деревья

Двоичные деревья

Слайд 281
Сетевые структуры
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5

1Сетевые структуры23456789101112345

Слайд 29Поставщик
Изделие
Пример простой сетевой структуры
Расценка
Заказ
на закупку
Партия
товара

ПоставщикИзделиеПример простой сетевой структуры РасценкаЗаказ на закупкуПартия товара

Слайд 30Руководитель
Служащий
руководит
Изделие
Узел
Деталь
Пример сетевой структуры с петлей

РуководительСлужащийруководитИзделиеУзелДетальПример сетевой структуры с петлей

Слайд 31Основные понятия реляционной модели
Первичный ключ
PK
FIO
YEAR
JOB
KAF
Домены
Отношение
Кортежи
Кардинальность
Атрибуты
Степень

Основные понятия реляционной модели Первичный ключPKFIOYEARJOBKAFДоменыОтношениеКортежиКардинальностьАтрибутыСтепень

Слайд 32Основные понятия реляционной модели

Основные понятия реляционной модели

Слайд 33Реляционная модель предъявляет к таблицам следующие требования:

1) данные в ячейках

таблицы должны быть структурно неделимыми ;
2) данные в одном столбце

должны быть одного типа;
3) каждый столбец должен быть уникальным (недопустимо дублирование столбцов);
4) столбцы размещаются в произвольном порядке;
5) строки размещаются и таблице также в произвольном порядке;
6) столбцы имеют уникальные наименования.
Реляционная модель предъявляет к таблицам следующие требования:1) данные в ячейках таблицы должны быть структурно неделимыми ;2) данные

Слайд 34Объединение

Объединение

Слайд 35Пересечение

Пересечение

Слайд 36Разность

Разность

Слайд 37Произведение

Произведение

Слайд 38Выборка
Kaf = 605

ВыборкаKaf = 605

Слайд 39Проекция

Проекция

Слайд 40Соединение

Соединение

Слайд 41Деление
Делимое
Посредник
Делитель
=
=

ДелениеДелимоеПосредникДелитель==

Слайд 42Физическое представление с разделением данных и связей

Физическое представление с разделением данных и связей

Слайд 43Связи

Связи

Слайд 44Требования, предъявляемые к базам данных
Описания должны быть понятны пользователю,

не проектировавшему базу

2. Однажды принятые способы представления данных должны допускать

присоединение новых элементов данных без изменения существующих схем данных и прикладных программ

3. СУБД должны позволять эффективно обрабатывать произвольные запросы к базе данных
Требования, предъявляемые к базам данных Описания должны быть понятны пользователю, не проектировавшему базу2. Однажды принятые способы представления

Слайд 45Стадии и объекты процесса проектирования

Стадии и объекты процесса проектирования

Слайд 46Семантическую основу ER-модели составляют следующие предположения:

та часть реального мира (совокупность

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

данных, может быть представлена как совокупность сущностей;

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

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

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

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

Слайд 47Пример ER-диаграммы

Пример ER-диаграммы

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

«предмет, который может быть четко идентифицирован».

Сущность должна определяться таким набором

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

Сущность имеет имя, уникальное в пределах модели. При этом имя сущности — это имя типа, а не некоторого конкретного экземпляра.

Сущности подразделяются на сильные и слабые.

Сущности

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

Слайд 49Свойства
Cвойство - характер связи свойства с сущностью.

Свойство может быть множественным

или единичным

Свойство может быть простым или составным

В некоторых случаях полезно

различать базовые и производные свойства

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

Значения свойств могут быть постоянными – статическими или динамическими

Свойство может быть неопределенным

Свойство может рассматриваться как ключевое
СвойстваCвойство - характер связи свойства с сущностью.Свойство может быть множественным или единичнымСвойство может быть простым или составнымВ

Слайд 50Связь определяется как «ассоциация, объединяющая несколько сущностей»

Сущности, объединяемые связью, называются

участниками. Степень связи определяется количеством участников связи

Если каждый экземпляр сущности

участвует, по крайней мере, в одном экземпляре связи, то такое участие этой сущности называется полным (или обязательным); в противном случае — неполным (или необязательным)

Количественный характер участия экземпляров сущностей (один или многие) задается типом связи (или мощностью связи). Возможны следующие типы: «один к одному» (1:1), «один ко многим» (1:M), «многие ко многим» (М:М).

Отношение «часть — целое» используются для представления составных объектов.

Связи

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

Слайд 51Сотрудник

Рабочий

Программист

Табельный номер

ФИО
Язык программирования
Прикладной программист

Системный программист

Отношение «род – вид» используется для

представления обобщенных объектов.
Сущность может быть расщеплена на два или более

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

Супертипы

СотрудникРабочийПрограммистТабельный номерФИОЯзык программированияПрикладной программистСистемный программистОтношение «род – вид» используется для представления обобщенных объектов.Сущность может быть расщеплена на

Слайд 52Пример ER-диаграммы

Пример ER-диаграммы

Слайд 53Сущности. Каждый тип сущности в ER-диаграммах представляется в виде прямоугольника,

содержащего имя сущности.

В качестве имени обычно используются существительные (или

обороты существительного) в единственном числе.

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

Нотация ER-диаграмм

Сущности. Каждый тип сущности в ER-диаграммах представляется в виде прямоугольника, содержащего имя сущности. В качестве имени обычно

Слайд 54Нотация ER-диаграмм
Свойства. Свойства служат для уточнения, идентификации, характеристики или выражения

состояния сущности или связи. Свойства отображаются в виде эллипсов, содержащих

имя свойства. Эллипс соединяется с соответствующей сущностью или связью линией.

Имена ключевых свойств подчеркиваются

Контур эллипса рисуется двойной линией, если свойство многозначное

Контур эллипса рисуется штриховой линией, если свойство производное

Эллипс соединяется пунктирной линией, если свойство условное

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

Слайд 55Нотация ER-диаграмм
Связь – это графически изображаемая ассоциация, устанавливаемая между сущностями.

Каждый тип связи на ER-диаграмме отображается в виде ромба с

именем связи внутри. И качестве имени обычно используются отглагольные существительные.

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

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

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

Тип связи указывается индексами «1» или «М» над соответствующей линией
Нотация ER-диаграммСвязь – это графически изображаемая ассоциация, устанавливаемая между сущностями. Каждый тип связи на ER-диаграмме отображается в

Слайд 56В первой нормальной форме ER-диаграммы устраняются повторяющиеся атрибуты или группы

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

Во

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

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

Нормальные формы ER-диаграмм

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

Слайд 57Пример ER-диаграммы в третьей нормальной форме

Пример ER-диаграммы в третьей нормальной форме

Слайд 58Получение реляционной схемы из ER диаграммы
Каждая простая сущность превращается

в таблицу (отношение). Имя сущности становится именем таблицы.

2. Каждый атрибут

становится возможным столбцом с тем же именем. Столбцы, соответствующие необязательным атрибутам, могут содержать неопределенные значения; столбцы, соответствующие обязательным атрибутам, - не могут. Если атрибут является множественным, то для него строится отдельное отношение.

3. Компоненты уникального идентификатора сущности превращаются в первичный ключ. Если имеется несколько возможных уникальных идентификаторов, выбирается наиболее используемый. Если в состав уникального идентификатора входят связи, то к числу столбцов первичного ключа добавляется копия уникального идентификатора сущности, находящейся на дальнем конце связи (этот процесс может продолжаться рекурсивно). Для именования этих столбцов используются имена концов связей и/или имена сущностей.
Получение реляционной схемы из ER диаграммы Каждая простая сущность превращается в таблицу (отношение). Имя сущности становится именем

Слайд 59Получение реляционной схемы из ER диаграммы
4. Связи «многие к

одному» и «один к одному» становятся внешними ключами, т.е. создается

копия уникального идентификатора с конца связи «один», и соответствующие столбцы составляют внешний ключ.

5. Индексы создаются для первичною ключа (уникальный индекс), а также внешних ключей и тех атрибутов, которые будут часто использоваться в запросах.

6. Если в концептуальной схеме присутствуют подтипы, то возможны два варианта.

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

б) Для каждого подтипа создается отдельная таблица (для более нижних — представления) и для каждого подтипа первого уровня супертип воссоздается с помощью представления UNION (из всех таблиц подтипов выбираются общие столбцы — столбцы супертипа).
Получение реляционной схемы из ER диаграммы 4. Связи «многие к одному» и «один к одному» становятся внешними

Слайд 60Получение реляционной схемы из ER диаграммы
7. Если остающиеся внешние

ключи все принадлежат одному домену, т. е. имеют общий формат,

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

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

Слайд 61Стадия физического проектирования базы данных в общем случае включает:

выбор способа

организации базы данных, основные из которых были рассмотрены ранее;

разработку спецификации

внутренней схемы средствами модели данных ее внутреннего уровня;

- описание отображения концептуальной схемы во внутреннюю.

Физическое проектирование БД

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

Слайд 62Транзакции
Исходное состояние
Исходное состояние
Измененная БД
Нарушение целостности
COMMIT
ROLLBACK
Исходное состояние
Транзакция – неделимая с точки

зрения воздействия на БД последовательность операторов манипулирования данными, такая, что:
1)

либо результаты всех операторов, входящих в транзакцию, отображаются в БД;
2) либо воздействие всех этих операторов полностью отсутствует.
ТранзакцииИсходное состояниеИсходное состояниеИзмененная БДНарушение целостностиCOMMITROLLBACKИсходное состояниеТранзакция – неделимая с точки зрения воздействия на БД последовательность операторов манипулирования

Слайд 63Модель автоматического выполнения транзакций
INSERT
COMMIT
UPDATE
COMMIT
INSERT
COMMIT
UPDATE
ROLLBACK
Непротиворечивая БД
Непротиворечивая БД
Непротиворечивая БД

Модель автоматического выполнения транзакций INSERTCOMMITUPDATECOMMITINSERTCOMMITUPDATEROLLBACKНепротиворечивая БДНепротиворечивая БДНепротиворечивая БД

Слайд 64Модель управляемого выполнения транзакций
BEGIN TRANSACTION
Исходное состояние БД
UPDATE
SAVE TRANSACTION A
INSERT
ROLLBACK

TO A
DELETE
COMMIT TRANSACTION
Точка сохранения А
Cостояние БД после транзакции

Модель управляемого выполнения транзакций BEGIN TRANSACTIONИсходное состояние БДUPDATESAVE TRANSACTION AINSERTROLLBACK TO ADELETECOMMIT TRANSACTIONТочка сохранения АCостояние БД после

Слайд 65Протокол журнализации (и управления буферизацией) действует по правилу Write Ahead

Log (WAL) — «пиши сначала в журнал», и состоит в

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

Журнал транзакций

Протокол журнализации (и управления буферизацией) действует по правилу Write Ahead Log (WAL) — «пиши сначала в журнал»,

Слайд 66Пользователь не должен осуществлять рестарт транзакций или повторный ввод данных.

Восстановление должно проходить на базе транзакции с помощью отмены или

изменения отдельных транзакций.

2. Быстрое восстановление данных обеспечивается генерацией данных, используемых для восстановления.

3. При выполнении процедур автоматизированного восстановления пользователь не должен анализировать состав данных и выбирать сами процедуры.

Общие требования к системе восстановления данных в составе СУБД

Пользователь не должен осуществлять рестарт транзакций или повторный ввод данных. Восстановление должно проходить на базе транзакции с

Слайд 67Программы ведения системного журнала регистрируют операции над БД: описание соответствующей

транзакции, код пользователя, текст входного сообщения, тип изменения БД, адреса

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

Сервисные программные средства для восстановления

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

Слайд 68Кладовщик 1
Кладовщик 2
Запрос количества пива на складе для ID_Сорт =

5
Ответ: 30
Запрос количества пива на складе для ID_Сорт = 5
Ответ:

30

Заполнение столбца ID_Сорт таблицы «Пиво» с Количеством 25

Заполнение столбца ID_Сорт таблицы «Пиво» с Количеством 18

Изменение значения столбца Количество и занесение нового значения (5) в строку таблицы

Изменение значения столбца Количество и занесение нового значения (12) в строку таблицы

ID_Сорт … Количество
… … …
5 … 30
… … …

ID_Сорт … Количество
… … …
5 … 5
… … …

ID_Сорт … Количество
… … …
5 … 12
… … …

«Проблема пропавшего изменения»

Кладовщик 1Кладовщик 2Запрос количества пива на складе для ID_Сорт = 5Ответ: 30Запрос количества пива на складе для

Слайд 69Кладовщик 1
Кладовщик 2
Запрос количества пива на складе для ID_Сорт =

5
Ответ: 30
Заполнение столбца ID_Сорт таблицы «Пиво» с количеством 30
Увеличение значения

столбца Количество на 30 и занесение нового значения (60) в строку таблицы

Запрос количества пива на складе с ID_Сорт=5
Ответ: 60

ID_Сорт … Количество
… … …
5 … 30
… … …

ID_Сорт … Количество
… … …
5 … 60
… … …

ID_Сорт … Количество
… … …
5 … 30
… … …

Проблема чтения «грязных данных» (dirty data)

ROLLBACK
(возврат к исходному состоянию)

Заполнение столбца ID_Сорт таблицы «Пиво» с количеством 60

!! ОШИБКА !!

Кладовщик 1Кладовщик 2Запрос количества пива на складе для ID_Сорт = 5Ответ: 30Заполнение столбца ID_Сорт таблицы «Пиво» с

Слайд 70Кладовщик 1
Кладовщик 2
Запрос количества пива на складе для ID_Сорт =

5
Ответ: 30
Заполнение столбца ID_Сорт таблицы «Пиво» с количеством 30
Увеличение значения

столбца Количество на 30 и занесение нового значения (60) в строку таблицы

Запрос количества пива на складе с ID_Сорт=5
Ответ: 30

ID_Сорт … Количество
… … …
5 … 30
… … …

ID_Сорт … Количество
… … …
5 … 60
… … …

 Не то продали! Бестолковые менеджеры!

Проблема чтения несогласованных данных

Запрос количества пива на складе с ID_Сорт=6
Ответ: 50

Продаем 6ой сорт, раз его больше!

Запрос количества пива на складе с ID_Сорт=5
Ответ: 60

Кладовщик 1Кладовщик 2Запрос количества пива на складе для ID_Сорт = 5Ответ: 30Заполнение столбца ID_Сорт таблицы «Пиво» с

Слайд 71Проблема «строк-призраков»


Декан ФИТ
Выгрузить данные аттестации!!!

Компьютер деканата

Выгружаем список…
Студент Пупкин
Ура!

Я только что переписал аттестацию!

Преображенский Ю.П.
Беги в деканат, расскажи

им об этом!


Студент Пупкин

Бягу!!!

Студент бежит…, список выгружается….


Декан ФИТ

Всё! Пупкин не сдал! Отчислить его!


Студент Пупкин

Аааа! Я ж сдал!

Список выгружается еще раз…. Пупкин сдал… но его уже отчислили…

Проблема «строк-призраков»Декан ФИТВыгрузить данные аттестации!!! Компьютер деканата Выгружаем список…Студент ПупкинУра! Я только что переписал аттестацию! Преображенский Ю.П.Беги

Слайд 72Сериализация транзакций
Метод сериализации транзакций — это механизм их выполнения по

такому плану, когда результат совместного выполнения транзак­ций эквивалентен результату некоторого

последовательного выпол­нения этих же транзакций.

Между транзакциями могут существовать следующие виды конфликтов:

Транзакция 2 пытается изменять объект, измененный незакончившейся Транзакцией 1 (W-W — конфликт);

Транзакция 2 пытается изменять объект, прочитанный незакончившейся Транзакцией 1 (R-W — конфликт);

Транзакция 2 пытается читать объект, измененный незакончившейся Транзакцией 1 (W-R — конфликт).

Сериализация транзакцийМетод сериализации транзакций — это механизм их выполнения по такому плану, когда результат совместного выполнения транзак­ций

Слайд 73Захват и освобождение объекта
Выделяются два основных режима захватов:

совместный режим

— S (Shared), означающий разделяемый захват объекта и необходимый для

выполнения операции чтения объекта;

монопольный режим — X (exclusive), означающий монопольный захват объекта и необходимый для выполнения операций записи, удаления и модификации.
Захват и освобождение объекта Выделяются два основных режима захватов:совместный режим — S (Shared), означающий разделяемый захват объекта

Слайд 74В контексте реляционных баз данных возможны следующие варианты:

файл - физический

(с точки зрения базы данных) объект, область хранения нескольких отношений

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

Потенциально возможные объекты для захвата

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

Слайд 75Транзакция — это законченный блок обращений к базе данных и

некоторых действий над ней, для которого гарантируется выполнение четырех условий,

так называемых свойств ACID (Atomicity, Consistency, Isolation, Durability):

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

Правила ACID

Транзакция — это законченный блок обращений к базе данных и некоторых действий над ней, для которого гарантируется

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

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

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

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

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


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

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