- •Основные функции субд:
- •По модели данных:
- •Иерархические (Иерархической базой данных является файловая система, состоящая из корневого каталога, в котором имеется иерархия подкаталогов и файлов).
- •Сетевые (Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию).
- •По степени распределённости
- •Локальные субд (все части локальной субд размещаются на одном компьютере)
- •Распределённые субд (части субд могут размещаться на двух и более компьютерах).
- •Различные представления о данных в базах данных:
- •Ограничения не-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-технологии.
40.Алгоритмы выполнения селекции с одним условием сравнения: размер селекции, использование первичного индекса, использование вторичного индекса.
Селекция, включающая сравнение.
До этого рассматривалась селекция, условие которой предусматривало равенство. Однако, часто селекция имеет вид s(А)<=v(r). При этом в статистике будет храниться следующая информация min(A, r) и max(A, r).
В общем случае можно утверждать, что число записей, удовлетворяющих условию А<=v, будет равно.
0, если v<min(A, r).
nr, если v>=max(A, r).
иначе
А6. Использование первичного индекса. Если условие селекции имеет вид A>v, то в индексе ищем первую запись, удовлетворяющую условию, а затем извлекаем из файла отношения все блоки, начиная с блока, включающего найденную запись и до конца файла. При условии A<v индекс не используется, а просматривается сразу файл отношения, из него извлекаются блоки до тех пор, пока записи блока соответствуют условию. Как только найдена запись, не удовлетворяющая условию, поиск прекращается. Эффективность этого алгоритма
где с – число записей, удовлетворяющих условию.
(или без первого слагаемого).
В случае, если в статистике не хранятся данные для расчета с, то вместо него используют Br (число блоков в отношении r.)
А7. Использование вторичного индекса. При этом производится просмотр самого нижнего уровня индекса с минимального значения до v при условии A<v или с v до максимального значения в противном случае.
второе слагаемое – среднее число блоков индекса, которые нужно просмотреть, третье – число блоков основного файла, так как нужно извлекать каждый блок, адрес которого встречается в индексе, то есть, сколько записей, столько и блоков.
41.Размер комплексной селекции при конъюнкции и дизъюнкции условий.
Ранее рассматривались селекции с одним условием. На практике часто встречаются более сложные условия.
Конъюнкция условий. Будем рассматривать селекцию вида S( q1&q2&…&qn(r)),где qn - условия селекции.& - конъюнкция.
Для каждого условия qi можно рассчитать размер селекции Sqi, то есть количество записей, возвращаемых селекцией. Обозначим размер i-ой селекции как si. Тогда вероятность того, что какой-либо кортеж отношения соответствует условию qi, равна si/nr по классическому определению вероятности. /*Вероятность события равна числу успехов, деленное на общее число испытаний */. Вероятность того, что кортеж соответствует всем условиям, равна произведению вероятностей соответствия кортежа каждому из условий. Тогда число кортежей, соответствующих всем условиям, будет равно произведению числа кортежей в отношении и вероятности соответствия кортежа всем условиям.
Получено из классического определения вероятности
Дизъюнкция условий. Рассматриваем селекцию вида Sq1 or q2 or…or qn(r). Вероятность того, что запись не соответствует условию qi, равна 1-si/nr. Вероятность того, что запись не соответствует ни одному из условий, равна произведению вероятностей. Вероятность того, что запись соответствует хотя бы одному условию, равна 1 минус полученная ранее величина. Количество записей, соответствующее дизъюнкции селекций равно.
Отрицание. S not q(r). Количество кортежей, возвращаемое такой селекцией равно разности между общим числом кортежей в отношении и количеством кортежей, возвращаемых селекцией вида sq(r).
42.Алгоритмы обработки комплексной селекции: конъюнкция с использованием простого индекса, конъюнкция с использованием составного индекса, конъюнкция на основе пересечения идентификаторов, дизъюнкция на основе объединения идентификаторов.
Рассмотрим алгоритмы обработки комплексной селекции.
А8. Конъюнкция с использованием одного индекса. При таком подходе первоначально производится выборка записей согласно одному условию, то есть используется единственный индекс (алгоритмы А2, А7). После первоначальной выборки полученные кортежи еще раз тестируются на соответствие остальным условиям. Очевидно, что важной задачей является выбор первого условия, так именно оно определяет количество считанных блоков. Первым должно быть выбрано условие, отсеивающее большинство кортежей.
А9. Конъюнкция с использованием составных индексов. Если индекс включает два или более полей, то это составной индекс. Такой индекс повышает эффективность выполнения селекций, представляющих собой конъюнкцию условий для нескольких атрибутов из составного индекса. В этом случае все сравнения производятся на индексе, а извлекаются только необходимые кортежи основного файла.
А10. Конъюнкция на основе пересечения идентификаторов. В этом случае под идентификатором понимается адрес кортежа. Такой подход требует, что бы существовали индексы по всем, полям, участвующим в условиях селекции. Алгоритм предполагает сканирование индекса для каждого из условий. В результате каждого сканирования получается множество адресов кортежей, соответствующее одному из условий. Пересечение этих множеств дает адреса кортежей, соответствующих всем условиям. Затем происходит извлечение блоков основного файла, содержащих найденные кортежи.
А11. Дизъюнкция на основе объединения идентификаторов. Аналогичен предыдущему алгоритму, но найденные после сканирования индексов множества объединяются. Затем также производится извлечение блоков основного файла.