Базы данных и системы управления базами данных

Лекция 4. Технологии баз данных

 

База данных(БД) – это структурированный организованный набор данных, описывающий характеристики какой-либо физической или виртуальной системы. Организация структуры БД формируется исходя из следующих соображений:

• Адекватность описываемому объекту/системе – на уровне концептуальной и логической модели.

• Удобство использования для ведения учёта и анализа данных – на уровне так называемой физической модели.

Для создания и манипулирования базой данных используется специализированная программа, называемая системой управления базой данных (СУБД). Основные функции СУБД:

• управление данными во внешней памяти (на дисках);

• управление данными в оперативной памяти;

• журнализация изменений и восстановление базы данных после сбоев;

• поддержка языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты:

• ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию;

• процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода;

• подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД;

• сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.

По архитектуре организации хранения данных СУБД подразделяются на локальные (все части локальной СУБД размещаются на одном компьютере) и распределенные (части СУБД могут размещаться на двух и более компьютерах).

По способу доступа к БД СУБД разделяются на файл-серверные и клиент-серверные. Архитектура «файл-сервер» не имеет сетевого разделения компонентов диалога и использует компьютер для функции отображения, что облегчает построение графического интерфейса. «Файл-сервер» только извлекает данные из файлов, так что дополнительные пользователи добавляют лишь незначительную нагрузку на ЦП и каждый новый клиент добавляет вычислительную мощность сети. Минусом этой архитектуры является высокая загрузка сети при передаче данных. На данный момент файл-серверные СУБД считаются устаревшими. Клиент-серверная СУБД позволяет обмениваться клиенту и серверу минимально необходимыми объёмами информации. При этом основная вычислительная нагрузка ложится на сервер. Клиент может выполнять функции предварительной обработки перед передачей информации серверу, но в основном его функции заключаются в организации доступа пользователя к серверу.

В большинстве случаев клиент-серверная СУБД менее требовательна к пропускной способности компьютерной сети, чем файл-серверная СУБД, особенно при выполнении операции поиска в базе данных по заданным пользователем параметрам, т.к. для поиска нет необходимости получать на клиент весь массив данных: клиент передаёт параметры запроса серверу, а сервер производит поиск по полученному запросу в локальной базе данных. Результат выполнения запроса, который обычно на несколько порядков меньше по объёму, чем весь массив данных, возвращается клиенту, который обеспечивает отображение результата пользователю.