- •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. Методы доступа к данным. Типы соединений таблиц.
32. Внутренние структуры данных. Двухуровневая система доступа к данным. Отношения каталогов.
Под данными обычно понимают любой набор знаков, рассматриваемый безотносительно к его содержательному смыслу. С точки зрения программирования данные можно рассматривать как совокупность некоторых информационных единиц (элементов), между которыми существуют определенные отношения. Эти отношения представляют собой структуру данных. Внутренние структуры данных используются для отображения абстрактных структур данных на физическую (линейную) память машины. Обычно внутренние структуры данных надстраиваются над базовой структурой памяти машины путем использования соответствующих программных средств. Каждая внутренняя структура данных строится из неделимых (с точки зрения структуры) частей, называемых элементами. Элемент может иметь несколько полей, часть из которых может использоваться для определения структуры. В качестве внутренних структур данных используются векторы, списки и сети. В каждом конкретном случае внутренняя структура выбирается с таким расчетом, чтобы быть эквивалентной используемой абстрактном структуре данных или, по крайней мере, допускать простое отображение этой абстрактной структуры.
Внутренние структуры хранения: Наличие двух уровней системы для организации доступа к данным; Поддержка отношений - каталогов; Регулярность структуры данных. Каталог базы данных или словарь данных содержит информацию, связанную с объектами базы данных (имена, свойства и т.п.). Основным принципом организации баз данных является совместное хранение данных и их описания. Описание данных называют метаданными. Метаданные хранятся в части базы данных, которая называется каталогом или словарём-справочником данных (ССД). Зная формат метаданных, можно запрашивать и изменять данные без написания дополнительных программ. Строка отношения (строка таблицы) - основная часть базы данных, большей частью непосредственно видимая пользователем; Индексы–объекты, создаваемые по инициативе пользователя или верхнего уровня системы из соображений повышения эффективности выполнения запросов; Управляющая (служебная) информация, поддерживаемая для удовлетворения внутренних потребностей нижнего уровня системы (например, информация о свободной памяти).
33. Методы доступа к данным. Бинарные деревья.
• Последовательный метод доступа: для получения целевой записи – обращение ко всем предшествующим цели записям
• Произвольный метод доступа: для получения целевой записи – непосредственное обращение к ней
Бинарное дерево поиска на множестве NR ключей есть бинарное дерево TNR, в котором каждая вершина помечена отдельным ключом и расположена в соответствии с определенным порядком ключей. Для любой вершины i ключи вершин в его левом поддереве «меньше» ключа вершины i, который, в свою очередь, «меньше» ключей вершин в его правом поддереве
Упорядоченная тройка (TL, R, TR)
R – корень дерева
TL, TR – левое и правое поддеревья корня R;
NL, NR – количество узлов в поддеревьях,
NL≥ 0, NR≥ 0
Общее количество узлов в дереве
NQ = NL + NR + 1
• Значение узла – ключ и некоторая запись RowId
• Левый и правый указатели на поддеревья
Длина поиска – длина пути от корня до целевой записи
• 1. Уровень вершины или листа i, обозначаемый Li, определяется длиной пути от корневой вершины TNR до вершины i. Корневая вершина, по определению, имеет уровень 0.
• 2. Высота дерева определяется как максимальный уровень среди всех вершин дерева.
• 3. Бинарное дерево называется сбалансированным, если разница уровней любых двух листьев не превышает 1.