- •Основные требования к организации бд.
- •Основные компоненты субд (27).
- •Три уровня представления данных в автоматизированных информационных системах.
- •Логическая и физическая независимость данных.
- •Классификация моделей данных.
- •Инфологическое моделирование.
- •Иерархическая модель данных.
- •Сетевая модель данных.
- •Реляционная модель данных. Элементы реляционной модели.
- •Многотабличные запросы. Состояние справочной целостности. Использование псевдонимов.
- •Использование union для объединения результатов инструкций select.
- •Использование distinct.
- •Изменение существующих данных, представление.
- •Распределенная обработка данных (модель файлового сервера, удаленного доступа к данным, активного сервера, сервера приложений).
- •Модели транзакций.
- •Файловые структуры, используемые для хранения информации в бд (файлы прямого и последовательного доступа, индексные файлы, инвертированные списки, b-деревья и т.Д.)
- •Хеширование. Методы разрешения коллизий.
Модели транзакций.
Транзакция – последовательность операций, производимых над базой данных и переводящих базу данных из одного непротиворечивого состояния в другое.
Типы транзакций:
Плоские (классические)
Цепочечные
Вложенные
Плоские характеризуются четырьмя классическими свойствами.
Атомарность (Atomicity)
Согласованность (Consistency)
Изолированность (Isolation)
Долговечность (Durability)
Атомарность (Atomacity) выражается в том, что транзакция должна быть выполнена в целом или не выполнена вовсе.
Согласованность (Consistency) гарантирует, что по мере выполнения транзакций, данные переходят из одного согласованного состояния в другое. Транзакции не разрушает взаимной согласованности данных.
Изолированность (Isolation) гарантирует, что конкурирующие за доступ к базе данных транзакции физически обрабатываются последовательно изолированно друг от друга, но для пользователя выглядят так, как будто выполняются параллельно.
Долговечность (Durability): если транзакция завершена успешно, то те изменения в данных, которые были произведены, не могут быть потеряны ни при каких обстоятельствах, даже в случае последующих ошибок.
Возможны 2 варианта завершения транзакции:
Фиксация – действие, обеспечивающее запись на диск изменений в базе данных, которые были сделаны в процессе выполнения транзакции. Это значит, что результаты выполнения транзакции станут видимы другим пользователям.
Откат – действие, обеспечивающее аннулирование всех изменений данных, которые были сделаны операторами SQL в теле текущей незавершенной транзакции.
Модель транзакции:
Транзакция начинается с первого SQL оператора. Последующие составляют тело транзакции. Commit выполняется в случае успешного завершения обработки информации, объединенной в транзакцию. Его выполнение фиксирует изменения, внесенные в базу данных текущей транзакции. Roilback прерывает выполнение транзакции и осуществляет отмену изменений, проведенных в ходе выполнения транзакции.
Вопросы реализации в СУБД подтверждения или отката транзакции обеспечивается специальным механизмом, для поддержки которого создается журнал транзакций. Он предназначен для надежного хранения данных в базе данных. Это требование предполагает возможность восстановления согласованного состояния базы данных после любого рода программных или аппаратных сбоев.
Файловые структуры, используемые для хранения информации в бд (файлы прямого и последовательного доступа, индексные файлы, инвертированные списки, b-деревья и т.Д.)
Классификация
Файлы:
прямого доступа
последовательного доступа
индексные
плотный индекс (индексно-прямые)
В – деревья
Индексно-последовательные
инвертированные списки
взаимосвязанные файлы
с однонаправленными цепочками
с двунаправленными цепочками
Прямого доступа на устройствах прямого доступа. Имеют фиксированную длину записи, и обеспечивают более быстрый доступ. Адрес м.б. вычислен по номеру записи. Однако поиск по номеру неэффективен. Лучше искать по ключам, поэтому есть ф-я преобразования ключа в номер.(например – хеширование(рассказать))
С переменной длиной записи – последовательного доступа. Тогда конец записи отмечается специальным маркером, либо в начале каждой записи дана ее длина.
Плотный индекс: данные в области данных одинаковой длины. В индексной области все записи упорядочены по значению ключа.
Неплотный индекс – ключ указывает не на запись, а на страницу записей. Внутри страниц записи упорядочены.
Б деревья – построение индекса по индексу
Инвертированные списки: ведется поиск по вторичным ключам. Они м.б. одинаковыми. Инвертированный список – двухуровневая индексная структура. На первом уровне расположены значения вторичных ключей. На втором – блок указателей на записи с таким значением ключа. На третьем – собственно данные.
Деревья – ежику понятно.(LPTR,DATA,RPTR)