- •1. Основные требования к организации базы данных
- •2. Основные компоненты субд
- •3. Этапы проектирования баз данных
- •4. Модели данных. Классификация баз данных
- •5. Модель «сущность-связь». Основные понятия, область применения.
- •6. Иерархическая модель данных.
- •7. Сетевая модель данных
- •8. Реляционная модель данных. Элементы модели
- •9. Операции реляционной алгебры
- •10. Реляционное исчисление с переменными кортежами
- •11. Реляционное исчисление с переменными на доменах
- •12. Функциональные зависимости, аксиомы, правила вывода функциональных зависимостей
- •13. Избыточные функциональные зависимости, минимальное покрытие декомпозиции
- •Обобщённый алгоритм декомпозиции:
- •14. Нормальные формы схем отношений. 1нф 2нф.
- •15. 3Я нормальная форма
- •16. Нормальная форма Бойся - Кода(нфбк)
- •17. Многозначная зависимость. Аксиомы многозначной зависимости.
- •18. 4Я нормальная форма
- •19. 5Я нормальная форма
- •20. Соединение без потерь, сохраняющих зависимость
- •21. Условия отсутствия потерь при соединениях
- •22. Метод в Табло
- •23. Создание и модификация, перемещение бд. (FoxPro)
- •24. Создание индексов
- •25. Поиск и сортировка, ускоренный поиск (на примере субд FoxPro).
- •26. Язык запросов sql. Основные категории
- •27. Структурированный язык запросов sql, описание данных, таблиц, типы данных, целостность данных.
- •28. Структурированный язык запросов sql, операторы манипулирования данными, курсор.
- •29. Язык запросов sql. Тип связывания
- •30. Язык запросов sql. Многотабличные запросы
- •31. Структурированный язык запросов sql, операции изменения и обновления бд.
- •32. Структурированный язык запросов sql, индексы.
- •33. Структурированный язык запросов sql, определение пользовательских представлений.
- •34. Файловые структуры для хранения информации в базах данных
- •35. Файлы прямого и последовательного доступа
- •36. Плотный, неплотный индекс
- •37. Инвертированные списки
- •38. Модель «клиент-сервер» в технологии бд.
- •39. Модель файлового сервера
- •40. Модель удаленного доступа к данным (достоинства и недостатки).
- •41. Модель сервера бд (достоинства и недостатки).
- •42. Модель сервера приложений (достоинства и недостатки).
- •43. Транзакции (свойства, способы завершения, журнал).
- •44. Защита бд, методы обеспечения защиты данных.
38. Модель «клиент-сервер» в технологии бд.
Вот теперь пришло время разобраться, что же такое модель КЛИЕНТ-СЕРВЕР? И понять, как вообще работают серверы баз данных основанных на этой модели.
Технология клиент-сервер означает такой способ взаимодействия программных компонентов, при котором они образуют единую систему. Как видно из самого названия, существует некий клиентский процесс, требующий определенных ресурсов, а также серверный процесс, который эти ресурсы предоставляет. Совсем необязательно, чтобы они находились на одном компьютере. Обычно принято размещать сервер на одном узле локальной сети, а клиентов – на других узлах.
В контексте базы данных клиент управляет пользовательским интерфейсом и логикой приложения, действуя как рабочая станция, на которой выполняются приложения баз данных. Клиент принимает от пользователя запрос, проверяет синтаксис и генерирует запрос к базе данных на языке SQL или другом языке базы данных, соответствующем логике приложения. Затем передает сообщение серверу, ожидает поступления ответа и форматирует полученные данные для представления их пользователю. Сервер принимает и обрабатывает запросы к базе данных, после чего отправляет полученные результаты обратно клиенту. Такая обработка включает проверку полномочий клиента, обеспечение требований целостности, а также выполнение запроса и обновление данных. Помимо этого поддерживается управление параллельностью и восстановлением.
Архитектура клиент-сервер обладает рядом преимуществ:
обеспечивается более широкий доступ к существующим базам данных;
повышается общая производительность системы: поскольку клиенты и сервер находятся на разных компьютерах, их процессоры способны выполнять приложения параллельно. Настройка производительности компьютера с сервером упрощается, если на нем выполняется только работа с базой данных;
снижается стоимость аппаратного обеспечения; достаточно мощный компьютер с большим устройством хранения нужен только серверу – для хранения и управления базой данных;
сокращаются коммуникационные расходы. Приложения выполняют часть операций на клиентских компьютерах и посылают через сеть только запросы к базам данных, что позволяет значительно сократить объем пересылаемых по сети данных;
повышается уровень непротиворечивости данных. Сервер может самостоятельно управлять проверкой целостности данных, поскольку лишь на нем определяются и проверяются все ограничения. При этом каждому приложению не придется выполнять собственную проверку;
архитектура клиент-сервер естественно отображается на архитектуру открытых систем.
Дальнейшее расширение двухуровневой архитектуры клиент-сервер предполагает разделение функциональной части прежнего, "толстого" (интеллектуального) клиента на две части. В трехуровневой архитектуре клиент-сервер "тонкий" (неинтеллектуальный) клиент на рабочей станции управляет только пользовательским интерфейсом, тогда как средний уровень обработки данных управляет всей остальной логикой приложения. Третий уровень – сервер базы данных. Эта трехуровневая архитектура оказалась более подходящей для некоторых сред – например, для сетей Internet и intranet, где в качестве клиента может выступать обычный Web-браузер.
