
- •Конспект лекций
- •Раздел «бд. Субд. Основные понятия» 8
- •2. Жизненный цикл баз данных
- •3 Эксплуатационные характеристики базы данных
- •Раздел «бд. Субд. Основные понятия»
- •4. Управление параллельным доступом.
- •Раздел «бд. Субд. Основные понятия» Лекция №3 Место баз данных в архитектуре ис
- •1 Локальные ис
- •2 Ис в файл-серверной архитектуре
- •3 Ис в клиент-серверной архитектуре
- •4 Двухзвенные модели архитектуры
- •5 Трехзвенные модели
- •6 Монитор транзакций
- •7 Ис в Internet и intranet
- •Раздел «Концептуальный уровень проектирования бд» Лекция №4 Концептуальная модель данных. Сущности, атрибуты, ключи
- •1 Основные понятия
- •2 Задачи моделирования данных
- •3 Сущности
- •4 Атрибуты
- •5 Ключи
- •Раздел «Концептуальный уровень проектирования бд» Лекция №5 Концептуальная модель данных. Связи. Классы и подклассы. Концептуальная схема
- •1 Связи
- •2 Классы и подклассы
- •3 Источники данных для концептуального проектирования
- •4 Построение концептуальной схемы
- •5 Анализ концептуальной модели
- •Раздел «Логический уровень проектирования бд»
- •3.3 Реляционная модель
- •3.4 Объектно-реляционная модель
- •3.5 Объектно-ориентированная модель данных
- •3.6 Модель данных на основе xml
- •Раздел «Реляционная теория бд» Лекция №7 Реляционная модель данных. Основные понятия
- •1 Словарь терминов
- •2 Целостность реляционной модели
- •3 Математическое описание реляционной модели
- •Раздел «Реляционная теория бд» Лекция №8 Реляционная алгебра и реляционное исчисление
- •1 Реляционная алгебра. Теоретико-множественные операции
- •2 Реляционная алгебра. Специальные реляционные операции
- •3 Дополнительные реляционные операции
- •4 Примеры записи запросов
- •5 Реляционное исчисление
- •Раздел «Реляционная теория бд» Лекция №9 Нормализация реляционной модели. Функциональные зависимости
- •1 Что такое нормализация?
- •2 Функциональная зависимость
- •3 Теоремы о функциональных зависимостях
- •5 Алгоритм нормализации отношений. Метод декомпозиции
- •6 Другие нормальные формы
- •Раздел «Реляционная теория бд»
- •1.2 Связь частичная для одной из сущностей
- •1.3 Связь частичная для обеих сущностей
- •2 Реализация бинарной связи 1:m («один-ко-многим»)
- •2.1 Связь обязательная для m-связной сущности
- •2.2 Связь частичная для m-связной сущности
- •3 Бинарная связь n:m («многие-ко-многим»)
- •4 Связи более высокого порядка (n-арные)
- •5 Классы и подклассы
- •Раздел «Реляционная теория бд» Лекция №12 Стандарт idef1x
- •1 Стандарты моделирования данных
- •2 Основные понятия стандарта idef1x
- •3 Графический язык idef1x
- •Раздел «Физический уровень проектирования бд» Лекция №13 Физическая модель данных
- •1 Исходные данные для физического проектирования
- •2 Возможная методика перехода к физической модели на примере реляционной модели
- •2.1 Преобразование отношений в таблицы
- •2.2 Преобразование атрибутов в поля (столбцы) таблиц
- •2.3 Преобразование доменов в типы данных
- •2.4 Первичные ключи
- •2.5 Порядок расположения столбцов
- •2.6 Создание ссылочных ограничений
- •3 Факторы, влияющие на производительность бд
- •3.1 Индексы
- •3.2 Денормализация
- •Раздел «Язык sql» Лекция №14 Введение в язык sql. Команда Select
- •1 Стандарты
- •2 Возможности sql
- •3 Запросы на выборку данных
- •4 Примеры запросов
- •Раздел «Язык sql» Лекция №15 Команды определения данных
- •1 Команда create table
- •2 Команда alter table
- •3 Поддержка ограничений целостности
- •4. Редактирование записей в таблице
- •Раздел «Язык sql» Лекция №16 Дополнительные аспекты реляционной технологии
- •1 Проблемы, требующие решения
- •2 Запросы
- •3 Представления
- •4 Курсоры
- •5 Хранимые процедуры
- •6 Триггеры
- •7 Функции, определяемые пользователем
- •8 Транзакции
3 Ис в клиент-серверной архитектуре
В клиент-серверной архитектуре клиент (клиентская часть приложения, установленная на компьютере-клиенте) управляет пользовательским интерфейсом и логикой приложения. Клиент принимает от пользователя запрос, проверяет его синтаксис и генерирует запрос к серверу на предоставление тех или иных данных. Сервер принимает и обрабатывает запрос, затем в зависимости от типа запроса либо передаёт полученные данные обратно клиенту, либо выполняет модификацию содержимого базы данных. Клиент принимает переданные сервером данные, форматирует их и предоставляет пользователю.
Обработка сервером запроса включает в себя проверку полномочий клиента, обеспечение требований целостности, собственно выполнение запроса и передачу клиенту необходимых результатов. При этом сервер занимается такими проблемами, как поддержка параллельной работы многих клиентов, которая включает, в первую очередь, согласование данных, одновременно предоставляемых и изменяемых различными клиентами.
Клиент-серверная архитектура обладает следующими преимуществами:
повышается общая производительность системы. Так как клиенты и сервер находятся на разных компьютерах, их процессы способны выполнять приложения параллельно. При этом настройка производительности сервера упрощается, если на компьютере, выделенном под сервер, выполняется только работа с базой данных;
сокращается нагрузка на компьютерную сеть. Это происходит за счёт того, что в ответ на запрос клиента сервер возвращает ему готовые результаты запроса, а не все данные, которые были использованы;
высокие аппаратные требования предъявляются только к компьютеру, выделенному под сервер;
появляется возможность использования специализированного аппаратного обеспечения для сервера, что повышает общую производительность системы;
повышается уровень непротиворечивости данных, так как все проверки выполняются в одном месте, то есть на сервере.
Основным недостатком клиент-серверной архитектуры является ограниченное число клиентских мест, т.к. при росте их количества сервер становится «узким местом» системы.
4 Двухзвенные модели архитектуры
Файл-серверная и клиент-серверная архитектура относятся к двухзвенным моделям.
Рассмотрим основные функции СУБД, в зависимости от реализации которых, определим разные варианты архитектуры ИС:
1) управление данными, находящимися в базе;
2) обработка данных с помощью прикладных программ;
3) представление информации в удобном для пользователя виде.
В двухзвенной модели эти функции распределены между двумя узлами сети: сервером и клиентом.
Возможны следующие варианты двухзвенных моделей:
1) распределенное представление;
2) удаленное представление;
3) распределенная функция;
4) удаленный доступ к данным;
5) распределенная БД.
На рисунке 1 показаны различия между вариантами.
Рисунок 1 – Двухзвенные модели
Рассмотрим более подробно некоторые варианты.
Remote Data Access (RDA) – удаленный доступ к данным.
Обработка и представление осуществляются на компьютере-клиенте. Обращение к функциям управления осуществляется через сеть с помощью команд SQL или путем вызова функций библиотеки API.
Недостатки:
- высокая загрузка сети, когда передаются целые базы данных;
- проблемы модификации, т.к. в одном приложении реализованы функции обработки и представления.
DataBase Server (DBS) – сервер БД или удаленное представление.
Функции обработки и управления данными реализованы на сервере. Приложения имеют вид хранимых процедур, т.е. ссылки на них хранятся в словаре БД. Хранимые процедуры разделяются нескольким клиентами (см. СУБД Ingress, Sybase, Oracle и др.).
Недостатки:
- ограниченный набор средств разработки хранимых процедур;
- средства разработки привязаны к конкретной СУБД;
- низкая эффективность использования ресурсов сервера из-за сложности управления потоком запросов к программам сервера.