
- •Глава 1. Базы данных и системы управления 9
- •Глава 2. Организация доступа к данным 45
- •Глава 3. Реляционная алгебра 60
- •Глава 4. Основы sql 67
- •Глава 5. Проектирование реляционных баз данных 89
- •Глава 6. Взаимодействие sql с приложениями 116
- •Глава 7. Некоторые проблемы администрирования баз данных 154
- •Базы данных и системы управления
- •Файловые системы
- •Концепция баз данных
- •Основные функции субд
- •Непосредственное управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация
- •Поддержка языков баз данных
- •Трехуровневая модель архитектуры систем баз данных
- •Модели данных
- •Характеристика связей
- •Компьютерно-ориентированные модели данных
- •Реляционный подход
- •Ключи и целостность реляционных данных
- •Моделирование концептуальной схемы базы данных
- •Организация доступа к данным
- •Страницы и файлы
- •Индексирование
- •Структуры типа б-дерева
- •Хеширование
- •Методы сжатия
- •Метод дифференциального сжатия
- •Иерархические методы сжатия
- •Кодирование по методу Хаффмена
- •Реляционная алгебра
- •Традиционные реляционные операции
- •Специальные реляционные операции
- •Дополнительные реляционные операции
- •Примеры использования реляционной алгебры для выражения словесных запросов в виде формул
- •Основы sql
- •Типы данных
- •Строковые типы данных
- •Битовые типы данных
- •Точные числовые типы данных
- •Вещественные числовые типы данных
- •Календарные типы данных
- •Значения null
- •Создание и обслуживание таблиц
- •Запрос на выборку
- •Статистические функции
- •Создание соединений
- •Вложенные запросы
- •Запрос на объединение
- •Запросы, выполняющие реляционные операции вычитания, пересечения и деления
- •Запросы на изменение
- •Перекрестные запросы
- •Проектирование реляционных баз данных
- •Нормализация отношений
- •Функциональные зависимости
- •Н ормальные формы, обоснованные функциональными зависимостями
- •Нормальная форма Бойса–Кодда
- •Нормальные формы, обоснованные более сложными зависимостями
- •Процедура нормализации и проектирования
- •Пример проектирования базы данных
- •Назначение и предметная область
- •Проектирование базы данных
- •Взаимодействие sql с приложениями
- •Встраивание sql-операторов в программный код
- •Тип курсора
- •Триггеры
- •Хранимые процедуры
- •Стандартные интерфейсы для доступа к данным
- •Информационное окружение веб-сервера
- •Стандарт odbc
- •Уровни соответствия
- •Уровень соответствия odbc
- •Задание имени источника данных odbc
- •Расширяемый язык разметки xml
- •Xml как язык разметки
- •Материализация хмl-документов с помощью xslt
- •Создание хмl-документов на основе информации из базы данных
- •Некоторые проблемы администрирования баз данных
- •Оптимизация запросов
- •Параллельная обработка данных
- •Потеря обновления
- •Зависимость от незафиксированных обновлений
- •Несогласованный анализ
- •Блокировки транзакций
- •Согласованность и уровень изоляции транзакций
- •Распределенные системы баз данных
- •Фрагментация
- •Репликация
- •Распространение обновлений
- •Управление каталогом
- •Распределенная обработка запросов
- •Типы распределенных систем баз данных
- •Нераспределенные мультибазовые субд
- •Клиент-серверные системы
- •Системы с общими ресурсами
- •Технические аспекты администрирования базы данных
- •Восстановление базы данных
- •Безопасность баз данных
- •Шифрование данных
- •Производительность баз данных
- •Администрирование данных
- •Литература
Типы распределенных систем баз данных
Распределенные системы баз данных можно классифицировать на гомогенные и гетерогенные.
Г
Рис. 7.4.1. Гомогенная
распределенная система баз данных со
шлюзом
Г
етерогенная
распределенная система баз данных –
это такая система, которая объединяет
несколько различных типов СУБД. Формы
реализации могут меняться в зависимости
от того, насколько разными являются
отдельные узлы.
Предположим, есть два узла, причем в обоих находятся реляционные базы данных, но поставщики этих баз данных – различные производители (например, ORACLE и SQL SERVER). Если узел ORACLE хочет получить доступ к базе данных в узле SQL SERVER и использовать ее так же, как если бы она была частью распределенной базы данных ORACLE, ему необходим шлюз к узлу SQL SERVER.
Шлюз – это уровень
программного обеспечения, благодаря
которому один продукт может "выглядеть"
как другой. Так шлюз SQL SERVER/ORACLE дает
возможность базе данных SQL SERVER
"выглядеть" как база данных ORACLE.
Помимо прочего, он обеспечивает
отображение типов данных SQL SERVER в
типы данных ORACLE, соответствие между
SQL-диалектами, используемыми этими двумя
программными продуктами, протоколы
синхронизации блокировок и стандартных
процедур фиксации и т.д. Шлюз находится
над программным обеспечением SQL SERVER,
и делает его похожим на узел O
Рис. 7.4.2. Гетерогенная
распределенная система баз данных со
шлюзом
Предложенное решение дает возможность приложениям в узле ORACLE использовать базу данных SQL SERVER так, как если бы она была частью распределенной системы ORACLE. Чтобы приложения в узле SQL SERVER могли использовать базу данных ORACLE как часть распределенной SQL SERVER-системы, необходимо установить в ORACLE-узле ORACLE/SQL SERVER-шлюз, который будет находиться между локальной системой и SQL SERVER-уровнем программного обеспечения распределенной базы данных.
Когда гетерогенная система создается на базе основанных на языке SQL реляционных СУБД, обычно есть возможность разработать шлюзы, которые обеспечат безшовный (seamless) интерфейс между различными системами. При этом каждый узел становится полноправным членом сети, а все его объекты будут доступны всем другим узлам. Если системы созданы на основе совершенно различных принципов (например, реляционные и иерархические системы), то редко удается полностью преодолеть их внутреннюю несовместимость. В таких случаях нужный уровень кооперации достигается посредством использования интегрированной СУБД.
И
Рис. 7.4.3.
Интегрированная гетерогенная
распределенная СУБД