Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
базы данных.doc
Скачиваний:
3
Добавлен:
25.09.2019
Размер:
87.04 Кб
Скачать

49.Преимущества использования хранимых процедур

-Алгоритм обработки данных создается один раз, затем только оптимизируется.

-При разработке приложения не надо пересылать код процедуры, он хранится в БД.

-Обработка данных ведется централизовано - процедура единая.

-Сокращение траффика. Обработка данных ведется на сервере БД процедурой.

-Повышенная производительность.

ТРИГГЕРЫ

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

51.Механизм обработки событий - состоит из трех частей:

Триггер или процедура посылает сообщение менеджеру событий(планировщику).

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

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

ПРЕДСТАВЛЕНИЯ

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

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

Изменение данных в реальной таблице БД немедленно отражается в содержании представлений, построенных на этой таблице.

Преимущества:

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

Недостатки:

Производительность, управляемость, ограничения на обновление.

53.Типы представлений

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

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

Смешанное представление - содержит часть строк и часть столбцов исходной таблицы.

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

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

54.Применение представлений

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

Безопасность. Пользователи не видят некоторые данные из таблиц

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

Для создания сложных запросов.

55.Снимок - состояние БД на конкретный момент времени. Представление БД на конкретный момент времени, доступное только для чтения.

ТРАНЗАКЦИИ

56.Транзакция - последовательность операций, выполняемая БД и переводяща ее из одного соглассованного состояния в другое соглассованное состояние.

57.Свойства транзакций

Атомарность - целиком выполняется или целиком не выполняется.

Согласованность - БД в согласованном состоянии до и после транзакции.

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

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

58.Варианты завершения транзакций

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

Фиксация транзакции выполняется при успешном завершении транзакции(COMMIT).

Откат транзакции выполняется при неуспешном завершении транзакции. После отката БД возвращается в состояние до начала транзакции(ROLLBACK).

59.Структура журнала транзакций

Команда начала транзакции и описание каждого действия над БД.

Описание действия содержит(тип действия, имя транзакции, состояние записи до, состояние записи после действия).

Журналы транзакций делятся на два типа:

С немедленным обновлением - сразу(при ROLLBACK все откатывается назад по журналу)

С отложенным обновлением - изменения только после COMMIT.

60.Механизм восстановления БД после отказа носителя

-Переодически делаем Backup

-Журнал транзакций храним физиччески отдельно от БД.

При сбое БД восстанавливается сначала по бэкапу, затем по журналу транзакций.

Журнал транзакций очищаем после каждого бэкапа.

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

62.Типы блокировок

Монопольная(Эксклюзивная, X-блокировка) - никакая другая команда не может прочитать данные.

Блокировка с разделенным доступом(Shared, S-блокировка) - возможно совместное чтение данных несколькими транзакциями, но нельзя вносить изменения.

63.Объекты блокировок

БД, файлы БД, тыблицы БД, страницы, отдельные строки таблиц, отдельные поля, индексы, закоголовки и другие объекты.

64.Определение тупика. Способы выхода из тупика

Тупик - ситуация, возникающая, когда две или более транзакций одновременно ждут завершения друг друга.

Способы выхода из тупика:

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

65.Уровни изоллированности транзакций

Read Uncommited(Dirty Read) - незафиксированное чтение. Если несколько транзакций изменяли одну и туже строку, то конечное значение строки будет определять последняя, успешно завершившаяся транзакция.

Read Commited - невоспроизводимое(неповторяемое) чтение. Транзакция видит все зафиксированные другими транзакциями данные.

Repeatable Read - воспроизводимое(повторяемое) чтение. Транзакция видит все данные, какими они были на момент старта транзакции, независимо от их изменения другими транзакциями в момент выполнения этой транзакции.

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

РАСПРЕДЕЛЕННЫЕ БД(РБД)

66. Фрагментация - разбиение БД или таблицы на несколько частей и хранение этих частей на разных узлах РБД.

67.Реприкация - создание и хранение копий одних и тех же фрагментов БД на разных узлах РБД.

68.РБД - логически единая БД, разделенная на части, находящиеся на разных узлах, связанных сетью. Каждый узел может иметь свое ПО и группу пользователей. СУРБД - система управления БД.