- •Иерархия элементов реляционной модели и способов их представления на уровне хранения
- •Предложение select
- •Предложения модификации Предложение delete имеет формат
- •Into {базовая таблица | представление} [(столбец [,столбец] ...)]
- •Values ({константа | переменная} [,{константа | переменная}] ...);
- •Into {базовая таблица | представление} [(столбец [,столбец] ...)]
- •Системный каталог
- •Управление доступом (предложения grant / revoke )
- •Модификация структуры таблицы (атрибутов):
- •Предложения модификации данных средствами sql Предложение delete имеет формат
- •Into {базовая таблица | представление} [(столбец [,столбец] ...)]
- •Values ({константа | переменная} [,{константа | переменная}] ...);
- •Into {базовая таблица | представление} [(столбец [,столбец] ...)]
- •Ddl: Операторы создания/удаления индексов.
- •Особенности обновления представлений
- •Ограничения (constraints) логической целостности
- •Целостность сущностей.
- •Объявление первичного ключа :
- •Целостность ссылок
- •Объявление внешнего ключа:
- •Триггеры.
- •Любое клиентское приложение может быть подключено к бд одним из двух способов:
- •С использованием специализированной библиотеки доступа (db-dll);
- •С использованием odbc-драйвера (см. Далее).
- •Into переменная [[indicator] индикаторная_переменная]
- •Into переменная [[indicator] индикаторная_переменная]
- •1. «Тупой» : объявление курсора в режиме «только чтение»
- •2. «Продвинутый» : объявление «нечувствительного» курсора (для нашей таблицы s ):
- •Безопасность и управление доступом средствами sql.
- •Понятие транзакций. Уровни изоляции. Проблема отката (rollback) результатов выполнения транзакций.
- •If (обнаружена_ошибка) rollback;
- •If (обнаружена_ошибка) rollback;
- •Структура защищенного хранилища документов «dokyment» Физическая организация нулевого служебного трека нд типа dokyment
- •Физическая организация рабочего трека нд типа dokyment
- •Физическая организация первого трека фд dokyment
- •Физическая организация файлов данных многосуточных архивов arxiv
- •Метод многоуровневого динамического хранения данных .
- •Иерархия объектов системы хранения
- •Приемы сегментирования записей переменной длины Пример физической организации блока, содержащего несегментированные записи на дорожке (треке) бд
- •Пример физической организации блока, содержащего сегментированные записи на дорожке (треке) бд
- •Описание структуры индексов (первичных)
- •Структуры вторичных индексов (прямые указатели на запись по каждому ключу)
- •(Последовательный доступ)
- •(Произвольный доступ)
- •(Последовательно- произвольный доступ)
- •1.3. Операции поиска / вставки / удаления записей в блоках k-d-дерева
- •Клиентская библиотека (sql-интерфейс к odbc-источнику данных)
- •I. Организация сеанса
- •II. Прием и компиляция запроса:
- •Агент_субд (локальный процесс – мультиплексирование обслуживания локальных запросов к удаленному sql-источнику данных)
- •Клиент_субд (локальный процесс – мультиплексирование приема и организации выполнения запросов к локальному sql-источнику данных)
- •Сервер_субд (операции с локальными бд)
- •2.1 Без оптимизации 2.2 Оптимизация плана
- •Индексирование элементов данных. Проблема выбора индексов.
- •1.1. Особенности логической организации (временнОй модели данных)
- •Темпоральные свойства данных, учитываемые при организации хранения
- •1.2. Особенности физической организации
- •1.3. Особенности выполнения запросов с использованием атрибута-времени
- •1.3.1. Выборка данных
- •1.3.2. Модификации данных
- •2.1. Первичные и вторичные индексы в темпоральных бд
- •2.2. Моделирование и анализ данных. Парадоксы времени.
- •Распределение бд в пространственно-временном континууме.
- •1. Использование Proxy-шлюза
- •2. Использование Proxy-шлюзования и мсэ
Пример физической организации блока, содержащего сегментированные записи на дорожке (треке) бд
№ байта |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
||||||||
1 запись |
№ трека |
№ записи |
Lзаписи |
Резерв |
Lсегмента |
|
Байт-описатель |
|||||||||||||||||
F0 |
F0 |
F0 |
F0 |
F0 |
F0 |
F0 |
F1 |
00 |
10 |
00 |
00 |
00 |
04 |
01 |
00 |
|||||||||
Типовая запись |
№ трека |
№ записи |
Lзаписи |
Резерв |
Т/М |
Lсегмента |
№ сегмента |
Байт-описатель |
||||||||||||||||
Тело сегмента (переменной длины) |
Lсегмента |
№ сегмента |
Байт-описатель |
|||||||||||||||||||||
Тело сегмента (переменной длины) |
Lсегмента |
№ сегмента |
Байт-описатель |
|||||||||||||||||||||
Другие сегменты (если они есть) … |
||||||||||||||||||||||||
|
Следующая запись и т.д. … |
|||||||||||||||||||||||
|
Последняя запись |
Конец трека |
||||||||||||||||||||||
00 |
Lзаписи – длина записи,
Lсегмента – длина сегмента,
Т/М – текущая метка.
Расчет оптимального размера блока для блочного поиска (выборки) данных при условии равновероятного нахождения искомой записи в произвольном блоке
Обозначения:
N – количество записей в файле БД
B – количество записей в блоке
V (B) = 1/2 ( N / B) + B / 2,
где V (B) – среднее число сканируемых записей
Из условия:
d V (B)
= 0 следует ……….
d B
Вывод: оптимальное число записей в блоке равно корню квадратному из общего числа записей в файле БД
Индексирование в БД. Структуры индексов. Многоуровневые индексы. Первичные и вторичные индексы. Инвертированные списки. B-деревья и хэш-таблицы.
1. «Индекс» особая структура данных, содержащая ссылки (указатели) на данные БД в целях оптимизации операций поиска (выборки)
2. Реализации:
- первичные индексы для упорядоченного множества RID-записей
- вторичные индексы для неупорядоченных множеств значений полей записей
- двоичные (В) деревья
- хеш-таблицы: h(значение) = номер блока данных
3. Проблемы организации и обслуживания индексов
Структуры индексов (первичных и вторичных). Многоуровневые индексы. Инвертированные списки. Представление индексов в системе хранения на физическом уровне.
Проблема: сочетание режимов последовательной и произвольной выборки / модификации