Базы данных и системы управления базами данных
Лекция 4. Технологии баз данных
База данных(БД) – это структурированный организованный набор данных, описывающий характеристики какой-либо физической или виртуальной системы. Организация структуры БД формируется исходя из следующих соображений:
• Адекватность описываемому объекту/системе – на уровне концептуальной и логической модели.
• Удобство использования для ведения учёта и анализа данных – на уровне так называемой физической модели.
Для создания и манипулирования базой данных используется специализированная программа, называемая системой управления базой данных (СУБД). Основные функции СУБД:
• управление данными во внешней памяти (на дисках);
• управление данными в оперативной памяти;
• журнализация изменений и восстановление базы данных после сбоев;
• поддержка языков БД (язык определения данных, язык манипулирования данными).
Обычно современная СУБД содержит следующие компоненты:
• ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию;
• процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода;
• подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД;
• сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.
По архитектуре организации хранения данных СУБД подразделяются на локальные (все части локальной СУБД размещаются на одном компьютере) и распределенные (части СУБД могут размещаться на двух и более компьютерах).
По способу доступа к БД СУБД разделяются на файл-серверные и клиент-серверные. Архитектура «файл-сервер» не имеет сетевого разделения компонентов диалога и использует компьютер для функции отображения, что облегчает построение графического интерфейса. «Файл-сервер» только извлекает данные из файлов, так что дополнительные пользователи добавляют лишь незначительную нагрузку на ЦП и каждый новый клиент добавляет вычислительную мощность сети. Минусом этой архитектуры является высокая загрузка сети при передаче данных. На данный момент файл-серверные СУБД считаются устаревшими. Клиент-серверная СУБД позволяет обмениваться клиенту и серверу минимально необходимыми объёмами информации. При этом основная вычислительная нагрузка ложится на сервер. Клиент может выполнять функции предварительной обработки перед передачей информации серверу, но в основном его функции заключаются в организации доступа пользователя к серверу.
В большинстве случаев клиент-серверная СУБД менее требовательна к пропускной способности компьютерной сети, чем файл-серверная СУБД, особенно при выполнении операции поиска в базе данных по заданным пользователем параметрам, т.к. для поиска нет необходимости получать на клиент весь массив данных: клиент передаёт параметры запроса серверу, а сервер производит поиск по полученному запросу в локальной базе данных. Результат выполнения запроса, который обычно на несколько порядков меньше по объёму, чем весь массив данных, возвращается клиенту, который обеспечивает отображение результата пользователю.