Современные технологии разработки СУБД

Часть 1. Обработка запросов в системах баз данных

Л.Б. Соколинский

Вопросы к экзамену

  1. Реляционные операции
    1. Проекция
    2. Выборка
    3. Удаление дубликатов
    4. Естественное соединение
    5. Тета-соединение
    6. Операция группировки
  2. Реляционная алгебра и язык SQL
    1. Соответствие между реляционными операциями и операторами языка SQL
    2. Соответствие между выражением реляционной алгебры и оператором SELECT
  3. Этапы обработки запроса
  4. Разбор запроса
    1. Синтаксические категории, базовые синтаксические категории, атомы
    2. Формальные грамматики
    3. Построение дерева разбора
  5. Функции препроцессора
  6. Логическая оптимизация
    1. Законы выборки
    2. Законы проекции
    3. Законы соединения и декартова произведения
  7. Организация системы базы данных
    1. Поля, записи и блоки
    2. Организация доступа к данным
    3. Обработка отношения R
  8. Индексы
    1. В-дерево: cтруктура узла, cемантика полей нелистового узла
    2. Ограничения, накладываемые на В-деревя
    3. В-дерево с дубликатами
    4. Оценка эффективности В-деревьев
  9. Оценка стоимости операций
    1. Оценка выборки
    2. Оценка естественного соединения двух отношений с одним общим атрибутом
    3. Оценка прямого произведения
    4. Оценка для комбинации операций
  10. Статистические характеристики данных
    1. Виды гистограмм
    2. Оценка естественного соединения двух отношений с одним общим атрибутом с использованием гистограмм с наиболее часто встречающимися значениями
  11. Алгоритмы соединений
    1. Оценка эффективности алгоритма соединения вложенными циклами в оперативной памяти NLMJ
    2. Оценка эффективности алгоритма соединения вложенными циклами на диске NLDJ
    3. Оценка эффективности алгоритма соединения хешированием HJ
    4. Оценка эффективности алгоритма гибридного соединения хешированием HHJ
    5. Оценка эффективности алгоритма соединения слиянием по первичному ключу  MJPK
  12. Порядок соединений
    1. Виды деревьев соединений
    2. Выбор порядка соединения с помощью метода динамического программирования