
- •История развития субд.
- •Информационные системы. Основные функции и области применения.
- •Банк данных и его компоненты.
- •Классификация моделей представления данных
- •Сетевая модель данных. Достоинства и недостатки
- •Иерархическая модель данных. Достоинства и недостатки
- •Классификация программ субд
- •Общие понятия реляционного подхода к организации баз данных. Основные концепции и термины
- •Первичный и внешний ключи. Индексы
- •Реляционная алгебра. Основные операции
- •Реляционное исчисление
- •Проектирование реляционных баз данных с использованием нормализации
- •Целостность баз данных. Каскадное удаление и изменение данных.
- •Структуры внешней памяти. Хранение отношений. Индексы. Методы организации индексов. Служебная информация
- •Журнализация изменений бд
- •Сериализация транзакций. Синхронизационные захваты. Метод временных меток
- •Синхронизационные захваты
- •Транзакция. Уровни изолированности пользователей
- •Функции и основные возможности языка sql.
- •Отличие sql от процедурных языков программирования.
- •Интерактивный и встроенный sql
- •Типы данных sql
- •4.1. Тип данных «строка символов»
- •Varchar[(длина)]
- •4.2 Числовые типы данных
- •4.3 Дата и время
- •4.4 Неопределенные или пропущенные данные (null)
- •Простейшие select-запросы. Синтаксис
- •Операторы in, between, like, is null
- •Агрегирование и групповые функции. Упорядочение выходных полей
- •Команды манипулирования данными. Использование подзапросов в insert
- •Использование подзапросов, основанных на таблицах внешних запросов
- •Использование подзапросов с delete
- •Использование подзапросов с update
- •Основные особенности архитектуры клиент-сервер
- •Организация данных в InterBase.
- •InterBase и область его применения
- •Описание данных на основе sql Организация данных в InterBase. Типы данных.
- •Домены. Создание доменов. Изменение доменов. Удаление доменов.
- •Индексы. Создание индексов. Изменение индекса. Восстановление индекса. Удаление индекса.
- •4.1 Создание индексов
- •4.3. Восстановление индекса
- •4.4 Удаление индекса
- •Исключения. Создание исключения. Изменение исключения. Удаление исключения
- •Триггеры и их назначение. Команды создания, удаления и модификации триггеров и хранимых процедур.
- •Работа с blob и функции, определенные пользователем
- •Объявление внешней функции
Целостность баз данных. Каскадное удаление и изменение данных.
Структуры внешней памяти. Хранение отношений. Индексы. Методы организации индексов. Служебная информация
Реализационная СУБД обладает рядом особенностей, влияющих на организацию внешней памяти. В результате этого возникают следующие разновидности объектов во внешней памяти БД:
1. Строки отношений - это основная часть БД, большей частью, непосредственно видимая пользователем.
2. Управляющие структуры - индексы, создаваемые из соображений повышения эффективности выполнения запросов.
3. Журнальная информация - информация, поддерживаемая для удовлетворения потребности надежного хранения данных.
Служебная информация - информация свободной памяти и т.п
Существует 2 подхода к физическому хранению отношений:
1. Покортежное хранение отношений - то есть кортеж является единицей хранения информации (отношения).
2. Хранение отношений по столбцам - то есть единицей хранения является столбец отношения с исключенными результатами.
Под индексом понимают средство ускорения операции поиска записи в таблице, а следовательно и других операций, использующих поиск:
- извлечение;
- модификация;
- сортировка;
Таблицу, для которой используют индекс, называют индексированной. Как бы ни были организованы индексы в конкретной СУБД, их основное назначение состоит в обеспечении эффективного прямого доступа к кортежу отношения по ключу.
Обычно индекс определяется для одного отношения и ключом этого индекса является значение атрибута. Если ключом этого индекса является возможный ключ отношения, то индекс должен обладать свойством уникальности, то есть не должен заключать дубликата ключа.
На практике ситуация выглядит обычно противоположно. При объявлении первичного ключа отношения автоматически заводится уникальный индекс, а единственным способом объявления возможного ключа отличного от первичного является явное создание уникального индекса. Это связано с тем, что для проверки сохранения свойства уникальности возможного ключа, так или иначе, требуется индексная поддержка. Общей идей любой организации индекса, поддерживающего прямой доступ по ключу и последовательный просмотр в порядке возрастания или убывания значений ключа, является хранение упорядоченного значения списков ключа с привязкой к каждому значению ключа списка и идентификаторов кортежей. Одна организация индекса отличается от другой главным образом в способе поиска ключа с заданным значением. Наиболее популярным подходом к организации индексов в БД является использование техники В-деревьев.
Журнал обычно представляет собой чисто последовательный файл с записями переменного размера, который можно просматривать в прямом или обратном порядке. Обмены производятся стандартными порциями (страницами) с использованием буфера ОП. В грамотно организованных системах структура и тем более смысл журнальных записей известны только компонентам СУБД, ответственным за журнализацию и восстановление. Поскольку содержимое журнала является критичным при восстановлении БД после сбоев, то к ведению файла журнала предъявляются особые требования по части надежности, в частности, обычно стремятся поддерживать 2 идентичные копии журнала на разных устройствах внешней памяти.
Набор структур служебной информации зависит от общей организации системы, но обычно требуется поддержание следующих служебных данных:
1. Внутренние каталоги - описывают физические свойства объектов БД - например, число атрибутов отношения, их размер и возможных типов данных, описание индексов, определенных для данного отношения и т.д.
2. Описатели свободной и занятой памяти в страницах отношения - такая информация требуется для нахождения свободного места при занесении кортежа.
3. Связывание страниц одного отношения - если в одном файле внешней памяти могут располагаться страницы нескольких отношений, то нужно каким-то образом связать страницы одного отношения.