
- •Оглавление
- •Глава 1. Модели данных 8
- •Глава 2. Теоретические основы реляционных баз данных 31
- •Глава 8. Администрирование баз данных на примере sql Server 99
- •Введение. Понятие баз данных. Виды баз данных. Средства реализации баз данных. Основные этапы создания баз данных
- •Глава 1. Модели данных
- •1.1 Уровни представления данных. Понятия схемы и подсхемы данных
- •1.2 Модели концептуального уровня представления данных
- •1.3 Модели данных логического уровня представления данных
- •1.4 Методология idef1x построения логических моделей реляционных баз данных
- •1.5 Case-средства проектирования баз данных
- •Глава 2. Теоретические основы реляционных баз данных
- •2.1 Основные понятия. Операции обновления и реляционной алгебры
- •2.2 Реляционное исчисление кортежей и доменов
- •2.3. Языки манипулирования данными в реляционных системах
- •2.4. Понятие ключа и функциональных зависимостей
- •2.5 Нормализация отношений. 1, 2, 3, 4, 5 нормальные формы отношений
- •2.6 Описание формального алгоритма приведения отношений к третьей нормальной форме
- •2.7 Пример анализа отношений базы данных на третью нормальную форму
- •Глава 3. Физическое проектирование баз данных
- •3.1 Формат и размещение физических (хранимых) записей
- •3.2 Методы доступа к данным
- •Глава 4. Свойства баз данных
- •4.1 Целостность данных
- •4.2 Свойство безопасности и секретности баз данных
- •4.3 Восстанавливаемость, согласованность и эффективность баз данных
- •4.4 Реорганизация баз данных. Администратор баз данных. Словарь данных
- •Глава 5. Язык sql. Стандарт языка sql
- •5.1 История sql. История стандарта sql. Уровни соответствия. Классы инструкций sql
- •5.2 Идентификаторы. Константы. Операторы. Типы данных. Ограничения
- •Глава 6. Теоретические основы распределенных баз данных
- •6.1 Основные понятия систем с распределенной обработкой данных
- •6.2 Изолированность пользователей в многопользовательских системах
- •6.3 Сериализация транзакций. Методы сериализации транзакций
- •6.4 Журнализация и буферизация изменений в базах данных
- •Глава 7. Пример реализации распределённых баз данных. Ms sql Server
- •7.1. Основные характеристики ms sql Server. Системные базы данных, таблицы и хранимые процедуры. Базы данных и файлы
- •7.2 Таблицы баз данных. Создание, удаление, изменение
- •7.3 Индексы баз данных
- •7.4 Программирование на Transact sql. Комментарии. Переменные. Команды управления
- •7.5 Курсоры. Типы курсоров. Работа с курсорами
- •7.6 Правила, значения по умолчанию, представления
- •7.7 Хранимые процедуры и функции
- •7.8. Управление триггерами и транзакциями
- •7.9 Диагностика и сбор данных. Оптимизация запросов
- •7.10 Удаленный доступ к данным
- •Глава 8. Администрирование баз данных на примере sql Server
- •8.1. Система безопасности. Аутентификация. Учетные записи и роли. Планирование разрешений
- •8.2. Репликация данных. Типы репликаций
- •8.3. Перемещение данных
- •8.4. Резервное копирование и восстановление баз данных
- •8.5 Автоматизация решения административных задач. Система оповещений
- •Заключение
- •Приложение
- •Список рекомендуемой литературы
Глава 6. Теоретические основы распределенных баз данных
6.1 Основные понятия систем с распределенной обработкой данных
Распределённая база данных – это база данных, состоящая из нескольких, возможно пересекающихся или дублирующих друг друга частей, хранимая в различных ЭВМ вычислительной сети. Распределённая база данных находится на рабочих станциях вычислительной сети.
Основная задача систем управления распределёнными базами данных состоит в обеспечении средства интеграции локальных баз данных, располагающихся в некоторых узлах вычислительной сети, с тем, чтобы пользователь, работающий в любом узле сети, имел доступ ко всем этим базам данных как к единой базе. При этом должны обеспечиваться: простота использования системы, возможности автономного функционирования при нарушениях связности сети или при административных потребностях, высокая степень эффективности.
В настоящее время системы коллективного доступа к данным могут поддерживать одну из следующих трех моделей: модель файлового сервера, модель сервера базы данных, модель сервера приложений. Модель файлового сервера представлена на рисунке 6.1.
Уровень Рабочая станция Файловый сервер
п
редставлений
Диалог с
Технологические
пользователем
бизнес-правила Операторы файлы
обращения к СУБД
Файлы базы
ядро СУБД Выполнение
операторов
данных
Запросы к файлу Данные из файла
Рисунок 6.1 – Модель файлового сервера
При реализации модели файлового сервера приложение выполняется на рабочих станциях, где находится и ядро СУБД, база данных расположена на сервере. Такие системы имеют низкую производительность, так как промежуточные данные передаются по низкоскоростной шине сети, а прикладные программы и ядро СУБД находятся на маломощных рабочих станциях. Такую модель в системах коллективного доступа к данным реализуют фактически локальные СУБД FoxPro, Access,Clipper,Paradox,dBase и другие. Модель файлового сервера не поддерживает распределенную обработку данных.
На рисунке 6.2 приведена модель сервера базы данных.
Уровень Рабочая станция Сервер
п
редставления
Диалог с
Файлы база данных
пользователем
б
изнес-правила
Операторы
обращения к Ядро СУБД
СУБД
SQL операторы Результаты выполнения
Рисунок 6.2 – Модель сервера базы данных
При реализации модели сервера базы данных приложение выполняется на рабочих станциях. Операторы не выполняются на рабочих станциях, а пересылаются для обработки на сервер. Ядро СУБД транслирует запрос и выполняет его, обращаясь к индексам и другим промежуточным данным. Обратно на рабочую станцию передаются только результаты обработки оператора. Эта модель поддерживает распределенную обработку данных. Модель сервера базы данных поддерживают такие СУБД как Oracle, MS SQL Server, Sybase, Informix, Ingress и другие. Системы с такой моделью имеют высокую производительность, так как по шине передаются только SQL-запросы и результаты выполнения. Сами запросы выполняются на высокоскоростных серверах. Недостатком такой модели является использование дорогих сервера и сети. На рисунке 6.3 показана модель сервера приложений.
Рабочая станция Сервер
У
ровень
Файлы базы данных
представления Вызов хранимых Сервер приложений
процедур
Реализация Ядро
бизнес-правил СУБД
Обращение к сервису Результаты выполнения сервиса
Рисунок 6.3 – Модель сервера приложений
Сервер приложений можно организовать с помощью хранимых процедур на языках, таких как PL/SQL, TRANSACT SQL и других. Эта модель также поддерживает распределенную обработку данных. Системы на базе моделей сервера базы данных и сервера приложений поддерживают архитектуру клиент-сервер. Сервер базы данных в системах распределенной обработки – это логический процесс, отвечающий за обработку запросов к базе данных. Клиент базы данных – это логический процесс, посылающий серверу запрос на обслуживание. Архитектура клиент-сервер позволяет нескольким клиентам использовать совместно один сервер. При большом числе клиентов такая архитектура приводит к увеличению вероятности отказов ее компонентов. Клиент также выполняет функции представления интерфейса пользователя и может выполнять несложные операции обработки данных. Другие функции распределены между несколькими компьютерами – серверами баз данных и сервером приложений. Серверы баз данных управляют данными, а сервер приложений выполняет все вычисления, связанные с реализацией бизнес - логики приложения. Такую архитектуру называют многозвенной.
Существуют различные виды распределенных баз данных. Возможны однородные и неоднородные распределённые базы данных. В однородном случае каждая локальная база данных управляется одной и той же СУБД. В неоднородной системе локальные базы данных – это актуальная, но очень сложная проблема. Многие решения известны на теоретическом уровне, но пока не удаётся справиться с главной проблемой – недостаточной эффективностью интегрированных систем. Более успешно практически решается промежуточная задача – интеграция неоднородных SQL-ориентированных систем. Понятно, что этому в большой степени способствует стандартизация языка SQL и общее следование производителей СУБД принципам открытых систем.