
- •Основные функции субд:
- •По модели данных:
- •Иерархические (Иерархической базой данных является файловая система, состоящая из корневого каталога, в котором имеется иерархия подкаталогов и файлов).
- •Сетевые (Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию).
- •По степени распределённости
- •Локальные субд (все части локальной субд размещаются на одном компьютере)
- •Распределённые субд (части субд могут размещаться на двух и более компьютерах).
- •Различные представления о данных в базах данных:
- •Ограничения не-Null Ограничение не-null просто говорит, что колонка не должна содержать значение null. Пример синтаксиса:
- •2. Определение структур базы данных (ddl)
- •3. Манипуляция данными (dml)
- •4. Отбор данных (dql)
- •5. Язык управления данными (dcl)
- •6. Команды администрирования данных
- •7. Команды управления транзакциями
- •14.Запись sql-операторов
- •15.Типы данных языка sql, определенные стандартом
- •16.Основные команды языка ddl
- •17.Основные команды языка dml
- •18.Оператор выбора select
- •19.Применение агрегатных функций и вложенных запросов в операторе выбора
- •20. Операторы манипулирования данными
- •21.Физическая организация бд: файлы, записи, блоки.
- •23.Организация файла бд в виде кучи. Эффективность таких файлов.
- •24.Хешированные файлы: бакет, каталог бакетов, дополнительный каталог бакетов, выбор хеш-функции. Операции над хешированными файлами.
- •25.Сравнение эффективности хешированных файлов и файлов, организованных в виде кучи. Причины снижения эффективности хешированных файлов.
- •26.Динамическое хеширование. Операции над динамически хешированными файлами.
- •27.Последовательная организация файлов. Операции добавления и удаления записей в последовательных файлах, блок переполнения.
- •28. Индексированные файлы: инициализация, поиск.
- •29. Индексированные файлы: операции вставки и удаления записей.
- •30.Разреженные и плотные индексы. Индексация по нескольким полям.
- •Составные индексы
- •31.Эффективность операций в индексированных файлах при различной организации поиска.
- •32.B-деревья: принципы построения, операция поиска.
- •33.В-деревья: операции добавления и удаления записей.
- •34.Эффективность организации файлов в виде в-дерева.
- •35.Технология кластеризации бд.
- •36.Технология сжатия информации в бд.
- •37.Основные шаги обработки запросов.
- •Можно транслировать в выражение
- •38.Статистика бд.
- •40.Алгоритмы выполнения селекции с одним условием сравнения: размер селекции, использование первичного индекса, использование вторичного индекса.
- •41.Размер комплексной селекции при конъюнкции и дизъюнкции условий.
- •43.Алгоритм внешней сортировки.
- •44.Размер операции соединения. Алгоритм соединения, основанный на двух вложенных циклах.
- •45.Алгоритмы выполнения соединения: поблочное соединение, усовершенствование алгоритма поблочного соединения, соединение по индексу.
- •46.Алгоритм соединения слиянием.
- •47.Алгоритмы выполнения операций с множествами, проекции, внешнего соединения.
- •48.Два подхода к вычислению выражений при обработке запросов.
- •50.Виды оптимизаторов: итеративный, основанный на стоимостях и эвристический.
- •51.Понятие транзакции. Свойства acid транзакций.
- •52.Аномалии параллельных транзакций: потерянное обновление, зависимость от нефиксированных результатов, несогласованная обработка.
- •53.Понятие плана параллельного выполнения транзакций. Последовательные, непоследовательные и неупорядоченные планы.
- •54.Конфликтное упорядочивание планов и упорядочивание планов по просмотру.
- •55.Блокировки как механизм управления параллельными транзакциями: понятие блокировки, хранение блокировок, виды блокировок.
- •56.Работа транзакций при использовании механизма блокировок. Предотвращение аномалий при использовании блокировок.
- •57.Понятие протокола. Двухфазный протокол.
- •58.Проблема каскадного отката в параллельных транзакциях. Строгий двухфазный протокол.
- •59.Взаимная блокировка параллельных транзакций.
- •60.Использование метода временных отметок для управления параллельными транзакциями.
- •61.Оптимистические технологии управления транзакциями.
- •63.Уровни изоляции параллельных транзакций.
- •64.Восстановление бд: возможные причины отказов, механизм резервного копирования, журнал транзакций, создание контрольных точек.
- •65.Методы восстановления бд: восстановление с резервной копии, метод «redo», метод теневых страниц.
- •66.Улучшенные модели транзакции: проблемы классических моделей транзакций, модель вложенных транзакций, модель хроник.
- •67.Технология raid. Уровни raid.
- •68.Oltp- технологии и хранилища данных. Хранилища данных.
- •Понятие хранилища данных.
- •Проблемы хранилищ данных.
- •Архитектура хранилища данных
- •Проектирование схемы бд для хранилища данных.
- •Olap-технологии.
27.Последовательная организация файлов. Операции добавления и удаления записей в последовательных файлах, блок переполнения.
База данных (БД) – это совместно используемый набор логически связанных данных и описание этих данных, предназначенное для удовлетворения информационных потребностей организации. Можно сказать, что база хранится на диске как набор записей различного формата, т.е. в виде файлов. В данном случае под файлом понимают набор записей одинакового формата, т.е. файл аналогичен отношению. Для наиболее быстрой обработки данных отношение при хранении разбивается на фрагменты. Такие фрагменты наз-ся блоки или страницы. Блоки м.б. по-разному организованы внутри файла, напр., м.б. файлы, организованные в виде кучи, хешированные и последовательные файлы
Последовательные файлы эффективно использовать в ситуациях, когда в подавляющем числе запросов записи д.б. отсортированы согласно значению нек-ого поля. Такая организация похожа на организацию файлов в виде кучи, но записи помещаются в файл так, чтобы не нарушать порядок сортировки. Кроме того, каждая запись имеет указатель на след-ющую за ней запись. Т.о., записи физически располагаются в порядке сортировки. Однако иногда возникают блоки переполнения, т.к. неэффективно при каждой вставке сдвигать весь файл. Борьба с блоками переполнения ведется двумя путями:
1) при удалении записи файл также не сдвигается, а освободившееся место заполняется по мере добавления записей;
2) время от времени производится реорганизация файла, т.е. он переписывается, расставляя записи в нужном порядке.
Пример:
28. Индексированные файлы: инициализация, поиск.
Такая организация основана на понятии уникального ключа. Основная особенность этих файлов в никогда не нарушаемой последовательности записей.
Идея индексированных файлов состоит в построении доп. файла, содержащего ключи записей и указатели на данные в главном файле. Индексы бывают разреженные (первичные) и плотные (вторичные).
Разреженные индексы
В разреженном индексе ключ должен гарантировать уникальное значение. Записи индекса состоят из пар (v, b), где b – адрес блока, а v – зн-ние ключа 1ой записи блока. Записи в главном файле д.б. упорядочены. Записи в индексе также упорядочены.
Плотное индексирование
Плотные индексы не требуют упорядочивать гл. файл и не требуют уникальности ключа, поэтому для нек-ого отношения можно построить мн-во плотных индексов. Запись в плотном индексе представляет собой пару (V, p), где V – зн-ние ключа записи, а p – адрес записи.
Обычно при организации индексированного файла каждый блок оставляют пустым на 20% для того, чтобы повысить эф-ть добавления записи (стремимся как можно реже вносить изменения в индекс).
В файле индекса в самой 1ой записи вместо значения ключа помещается -∞, чтобы упростить алгоритм поиска. Индекс также может состоять более чем из одного блока. В этом случае блоки индекса организуются как последовательный файл, либо над индексом строится еще один индекс.
Инициализация. Есть записи с ключами 16, 2, 5, 37, 79, 56, 4, 25, 54, 68.
Процесс состоит из трех этапов.
1-ый этап. Сортируем записи в исходном файле и сортируем по блокам. Обычно файлы БД имеют тенденцию к увеличению, поэтому при создании блоки оставляют свободными на 20 %. После 1-го этапа главный файл имеет вид упорядоченных записей, размещенных в упорядоченные блоки.
2-ой этап. Создание индексного файла. При этом берутся первые элементы каждого блока и создаются пары (значение ключа, адрес блока). Исключение составляет первый блок. Для него пара (-∞,B) – это необходимо для работы со значениями меньше всех существующих в файле.
3-ий этап. Организация блоков индексного файла. Будем считать, что индексный файл организован в виде последовательности.
Алгоритм поиска заключается в следующем. Пусть ищем запись со значением ключа v1, тогда в индексе необходимо найти пару (v2, b) такую, что v2 ≤ v1 и либо v2 последняя запись индекса, либо последующие записи имеют вид (v3, b), где v3 > v1. Искомая запись гарантированно нах-ся в блоке, адрес к-ого принадлежит паре (v2, b). В этом случае говорят, что v2 покрывает v1. Т.о., эффективность поиска равна эффективности поиска в индексе + одно обращение к главному файлу. Поиск в индексе м.б. линейным, двоичным и интерполирующим.
|
|
|
|