
- •1. Определение информации. Основные проблемы, возникающие при хранении информации.
- •2. Отличительные особенности субд как программного продукта. Понятие экземпляра и базы данных.
- •3. Категории пользователей субд. Функциональные требования различных категорий пользователей к субд.
- •4. История развития субд. Особенности не реляционных моделей данных.
- •5. Общая характеристика моделей данных. Основные свойства. Понятие атрибутов, доменов.
- •6. Отношения модели данных. Понятия сущности и связи.
- •7. Ограничение целостности модели данных. Трехуровневая архитектура ansi/sparc.
- •8. Структурные компоненты модели данных в нотации idef1x. Понятия сущность, связь. Типы сущностей и связей.
- •9. Реляционная модель данных. Базовые структурные компоненты реляционной модели данных. Основные свойства.
- •10. Свойства реляционной модели данных. Представление сущности.
- •11. Свойства реляционной модели данных. Представление связи.
- •12. Требования целостности в реляционной модели данных.
- •13. Язык определения данных в реляционной модели данных. Основные возможности. Примеры.
- •14. Типы ограничений целостности, основные типы данных, основные операции реляционной модели данных.
- •15. Проектирование реляционных баз данных. Цели проектирования, основные этапы.
- •16. Проектирование реляционных баз данных. Проблемы обновления, удаления, добавления данных. Типы ограничений целостности.
- •17. Функциональная зависимость. Нормализация отношений. Концепция нормальных форм.
- •18. Первая и вторая нормальные форма. Определение. Аномалии, возникающие при нарушении. Примеры нарушения и нормализации.
- •19. Третья нормальная форма. Нормальная форма Бойса-Кодда. Определение. Аномалии, возникающие при нарушении. Примеры нарушения и нормализации.
- •20. Понятие многозначной зависимости. Примеры.
- •21. Четвертая и пятая нормальные формы. Определение. Аномалии, возникающие при нарушении. Примеры нарушения и нормализации.
- •22. Основные свойства sql, как языка программирования. Отличие от других языков программирования.
- •23. Основы построения sql- запросов. Источники данных запроса. Условия выборки кортежей. Примеры.
- •24. Левые, правые и полные соединения. Функции для работы с null значениями. Выборка уникальных записей. Примеры.
- •25. Использование подзапросов. Типы подзапросов. Примеры.
- •26. Коррелированные подзапросы. Особенности использования in, not in,exists, not exists.
- •27. Теоретико-множественные операции в sql-запросах. Примеры.
- •28. Агрегирующие функции. Группировка кортежей. Примеры.
- •29. Представления. Особенности использования. Примеры.
- •30. Триггеры в Transact sql. Пример реализации триггера.
- •31. Курсоры. Основные функции. Правила применения. Примеры.
- •32. Внутренние структуры данных. Двухуровневая система доступа к данным. Отношения каталогов.
- •33. Методы доступа к данным. Бинарные деревья.
- •34. Методы доступа к данным. Многоходовые деревья.
- •35. Методы доступа к данным. Сбалансированные деревья. Структура, правила следования. Основные свойства.
- •36. Операция вставки элемента в в-дерево. Проблема переполнения, методы решения. Пример.
- •37. Операция удаления элемента из в-дерева. Проблема антипереполнения. Методы решения. Пример
- •42. Индекс на основе битовых карт. Основные свойства.
- •43. Индекс на основе битовых карт. Структура листового блока. Операция добавления элемента.
- •44. Индекс на основе битовых карт. Операция обновления элемента. Блокировка записей.
- •45. Методы доступа к данным. Основные операции выполнения sql-выражения.
- •46. Методы доступа к данным. Типы соединений таблиц.
34. Методы доступа к данным. Многоходовые деревья.
Основой
бинарного
дерева является корневая вершина, слева
от которой находятся элементы меньше
чем элемент в корневой вершине, справа
элемент больше. При переходе к правому
или левому элементу структура остаётся
такой же, за исключением того, что
корневая вершина только одна и не имеет
предков, элемент у которого есть предки,
но нет потомков называется листом, а
элемент с предками и потомками называется
вершина. У вершины может быть 0-2 потомка.
Многоходовые деревья по структуре похожи на бинарные, за исключением того факта, что в одной вершине хранится больше одного ключа и оно имеет больше 2-х потомков. Для B дерева: в узле дерева степени n содержится минимум n-1, максимум 2n-1 ключей и j+1 потомок, где j=количеству ключей в узле. Ключи в узле упорядочены по возрастанию. В остальном структура в таких деревьях аналогична обычным бинарным деревьям. Структура ключа на рисунке. Должно выполняться условие { K(Pi-1)} <Ki< {K(Pi)}.
Бывают следующие типы многоходовых деревьев: B, B+, Красно-Чёрные деревья и др.
35. Методы доступа к данным. Сбалансированные деревья. Структура, правила следования. Основные свойства.
Сбалансированное многоходовое дерево. Узлы В-дерева могут иметь свободное пространство, что упрощает операции вставки и удаления
1. Все пути от корня до любых листьев имеют одинаковую длину h, называемую также высотой В-дерева.
2. В каждой вершине дерева, за исключением корня, должно располагаться минимум n-1, максимум 2n-1 ключей.
3. В корне В-дерева может располагаться минимум 1, максимум 2n-1 ключей.
4. Любая вершина дерева, за исключением листьев, имеющая j ключей, должна иметь j+1 подчиненную вершину.
Последнее условие означает, что промежуточные вершины В-дерева имеют от n до 2n указателей на подчиненные вершины, а корень дерева – от 2 до 2n указателей.
Правила следования.
1. Ключи записей в текущем узле упорядочены по возрастанию
2. Записи в узле P0 имеют ключи, меньшие, чем ключ записи R1
3. Записи в узле Pk имеют ключи, большие, чем ключ записи Rk
4. Записи в узле Pj, 1 _ j _ k – 1, имеют ключи, большие, чем ключ записи Rj, и меньшие, чем ключ записи Rj + 1
Структура вершины В-дерева
Обозначим записи, размещенные в одной вершине дерева, через R1, R2, …, Rj, а указатели на подчиненные вершины через P0, P1, P2, …, Pj. Тогда структура вершины будет следующей:
P0 R1 P1 R2 P2 … Pj-1 Rj Pj
Правила следования:
1.
Ключи записей в текущей вершине
упорядочены по возрастанию, т.е. ключ
записи R1
меньше ключа записи R2,
который, в свою очередь, меньше ключа
записи R3,
и т.д.
2. Записи в подчиненной вершине, на которую указывает P0, имеют ключи, меньшие, чем ключ записи R1.
3. Записи в подчиненной вершине, на которую указывает Pj, имеют ключи, большие, чем ключ записи Rj.
4. Записи в подчиненной вершине, на которую указывает Pi (0 < i < j), имеют ключи, большие, чем ключ записи Ri, и меньшие, чем ключ записи Ri+1.
Ниже приведены примеры В-деревьев степени 1 и степени 2.
Структура узла B-дерева может выглядеть так:
Текущее количество ключей в узле
Значения ключей и сопутствующая ключам информация
Указатели на дочерние узлы (для листьев здесь NULL)
Указатель на родительский узел