- •Введение
- •1. Концепция информационных систем
- •1.1. Информация и данные предметных областей
- •1.2. Структура банка данных
- •1.2.1. База данных
- •1.2.2. Система управления базами данных
- •1.2.3. Словарь данных
- •1.2.4. Администратор базы данных и его функции
- •1.3. Контрольные вопросы
- •2. Инфомационное моделирование предметных областей для баз данных
- •2.1. Отображение явлений реального мира данными
- •2.2. Инфологическое моделирование по
- •2.3. Трехуровневое представление информационных объектов
- •2.4. Структурные элементы для моделирования данных
- •2.5. Ключи бд
- •2.6. Интеграция полей бд в отношения
- •2.7. Требования интеграции полей в отношения
- •2.8. Обобщенная структура модели данных в бнд
- •2.9. Er-модель бд
- •2.10. Формирование связей сущностей
- •Способ 1. Определение связи сущностей введением дополнительной сущности
- •Способ 2. Определение связей сущностей добавлением в тип сущности общих атрибутов
- •2.11. Бинарные отношения сущностей
- •2.12. Формы представления структур данных
- •2.13. Организация систем бд
- •2.14. Средства поддержки бд
- •2.15. Виды моделей данных для бд
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Контрольные вопросы
- •3. Системы управления базами данных
- •3.1. Функции и состав универсальной субд
- •3.2. Лингвистическое обеспечение субд
- •3.3. Независимость прикладных программ от данных
- •3.4. Операции над данными
- •Селекция данных
- •Обработка данных
- •Запросы к бд
- •3.5. Схема реализации запроса в БнД
- •Распределенная обработка данных
- •Комбинированная обработка данных
- •3.7. Целостность и ограничения целостности данных
- •3.8. Защита данных в бд
- •Контрольные вопросы
- •4.2.2. Вторичный ключ
- •4.3. Функциональные и многозначные зависимости
- •4.3.1. Функциональные зависимости
- •X y (X влечет y).
- •4.3.2. Аксиомы функциональных зависимостей
- •Контрольные вопросы
- •5. Реляционная алгебра
- •5.1. Операции над отношениями
- •5.2. Оператор "объединение" (union)
- •5.3. Оператор "вычитание" (difference)
- •5.4. Оператор "пересечение" (intersection)
- •5.5. Оператор "проектирование" (proj)
- •5.6. Оператор "выбор" (sel)
- •Комбинированный запрос с операторами proj и sel
- •5.7 Оператор "соединение" (join)
- •Запрос с соединением по одному полю
- •Алгоритм реализации
- •Запрос с соединением по нескольким полям
- •Алгоритм реализации
- •Оператор "соединение по условию"
- •5.8. Оператор "умножение" (product)
- •Запрос с оператором умножения
- •Алгоритм реализации
- •5.9. Оператор "деление" (division)
- •5.10. Оптимизация алгоритмов реализации запросов
- •Контрольные вопросы
- •6. Нормализация реляционных бд
- •6.1. Задачи нормализации Бд
- •6.2. Первая нормальная форма
- •6.3. Декомпозиция реляционных таблиц
- •Проблема дублирования, операторы реляционной алгебры для декомпозиции и объединения таблиц
- •Присоединенные записи
- •Теорема Хита
- •Критерий полной декомпозиции с исключением дублирования
- •6.4. Вторая нормальная форма
- •6.5. Третья нормальная форма
- •6.6. Экстранормализационные формы
- •Нормальная форма Бокса-Кодда
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •6.7. Методические аспекты реализации нормализации
- •Контрольные вопросы
Распределенная обработка данных
Распределённая (или децентрализованная) обработка данных обеспечивает распределение нагрузки по нескольким узлам обработки информации. Это улучшает использование информации на местах, уменьшает затраты по обработке данных. Децентрализация удобна для периферийных подразделений, данные которых не используются в других подразделениях. Если на некоторых рабочих станциях данные очень часто обновляются, то в этом случае также выгоднее обрабатывать и хранить данные децентрализованно, т.е. на месте, а не в центральном узле.
Распределенная обработка данных ставит и новые задачи:
обеспечение логической прозрачности данных по всей БД, т.е. решение вопроса о создании единой концептуальной схемы для всей сети. При этом схема должна содержать информацию о местонахождении данных в сети, чтобы пользователь в запросе не указывал, в каком узле находятся интересующие его данные;
автоматическая декомпозиция запроса пользователя на отдельные составные части, которые для выполнения могут пересылаться в различные узлы сети по месту хранения данных на текущий момент обработки запроса, т.е. по текущей операционной обстановке. При этом одновременно должна быть обеспечена координация процессов обработки;
синхронизация обновления и обработки копий данных;
защита данных и их восстановление при сбоях в сети;
автоматическое управление словарями данных.
При использовании децентрализованной обработки данных следует учитывать определенные затруднения по обеспечению целостности и непротиворечивости данных, а также их безопасности.
Распределенная БД представляет собой информационную систему, состоящую из совокупности узлов (рис. 3.4). Для описания информационной структуры всей сети, т.е. распределенной БД, вводится концептуальная модель данных (или глобальная сетевая концептуальная схема, которая называется также сетевой метамоделью данных), содержащаяся в соответствующем файле.
Рис. 3.4
Для обеспечения работы внешнего пользователя вводится внешняя модель, которая называется также внешней схемой сети и содержится в соответствующем файле. В результате пользователи могут формулировать запросы, не рассматривая реальное распределение данных в сети.
Для каждого отдельного локального узла сети предусматривается соответствующая локальная общая схема, содержащая:
описание локальных данных, хранимых в этом узле;
описание данных, хранимых в других узлах, но используемых прикладными программами и пользователями в данном узле.
Для реализации запроса его соответствующая внешняя схема транслируется в общую схему сети, содержащую информацию о размещении требуемых данных в сети.
Поступивший запрос пользователя в серверной части сети декомпозируется на составные операции, называемые подзапросами. На этой основе строится план перемещения и обработки подзапросов в сети. На базе плана реализуется пересылка подзапросов в соответствующие локальные СУБД для их выполнения. Выполнив поступивший запрос, СУБД узла выдает результат выполнения на серверную часть сети. После поступления ответов на все подзапросы в серверной части системы формулируется окончательных ответ, который направляется пользователю, инициировавшему запрос.