3.1. Основные понятия
3.1.1.
Понятие базы данных, банка данных, СУБД
В широком
смысле слова база данных (БД) – это совокупность сведений о конкретных
объектах реального мира в какой-либо предметной области [5].
Для удобной работы с данными их необходимо структурировать, т. е.
ввести определённые соглашения о способах их представления.
База
данных (в узком смысле слова) — поименованная совокупность
структурированных данных, относящихся к некоторой предметной области
[6].
В реальной деятельности в основном используют системы БД.
Банк
данных (БнД) является современной формой организации
хранения и доступа к информации. Существует множество определений
банка данных. В [7]
дано следующее определение:
«Банк
данных — это система специальным образом организованных
данных (баз данных), программных, технических, языковых, организационно-методических
средств, предназначенных для обеспечения централизованного накопления
и коллективного многоцелевого использования данных». |
В данном определении подчёркивается, что банк данных является сложной
системой, включающей в себя все обеспечивающие подсистемы, необходимые
для функционирования любой системы автоматизированной обработки данных.
В этом определении обозначены и основные отличительные особенности
банков данных. Прежде всего это то, что базы данных создаются обычно
не для решения какой-либо одной задачи для одного пользователя, а
для многоцелевого использования.
БД
отражают определённую часть реального мира. Эта информация должна
по возможности фиксироваться в базе данных однократно, и все пользователи,
которым эта информация нужна, должны иметь возможность работать с
ней.
Другой отличительной особенностью банков данных является наличие специальных
языковых и программных средств, облегчающих для пользователей выполнение
всех операций, связанных с организацией хранения данных, их корректировки
и доступа к ним.
Такая
совокупность языковых и программных средств называется системой управления
базой данных (СУБД).
Нельзя сказать, что термин «банк данных» является общепризнанным.
В некоторой англоязычной литературе в последнее время используется
термин «система баз данных» (database system), который по своему содержанию
близок введённому понятию банка данных (система баз данных включает
базу данных, систему управления базами данных, соответствующее оборудование
и персонал).
Система
баз данных (СБД) – это компьютеризированная система
хранения структурированных данных, основная цель которой – хранить
информацию и предоставлять её по требованию.
Системы БД существуют и на малых, менее мощных компьютерах, и на больших,
более мощных. На больших применяют в основном многопользовательские
системы, на малых – однопользовательские.
Однопользовательская
система (single-user system) – это система, в которой
в одно и то же время к БД может получить доступ не более одного пользователя.
Многопользовательская система
(multi-user system) – это система, в которой в одно и то же время
к БД может получить доступ несколько пользователей [8].
Основная задача большинства многопользовательских систем – позволить
каждому отдельному пользователю работать с системой как с однопользовательской.
Различия однопользовательской и многопользовательской систем – в их
внутренней структуре, конечному пользователю они практически не видны.
Система баз данных содержит четыре основных элемента:
-
данные;
-
аппаратное обеспечение;
-
программное обеспечение;
-
пользователи.
Данные
в БД являются интегрированными
и общими.
-
Интегрированные
– значит, данные можно представить как объединение нескольких, возможно
перекрывающихся, отдельных файлов данных. Например, имеется файл,
содержащий данные о студентах – фамилию, имя, отчество, дату рождения,
адрес и т. д., а другой файл содержит данные о спортивной секции.
Необходимые данные о студентах, посещающих секцию, можно получить
путём обращения к первому файлу.
-
Общие – значит,
отдельные области данных могут использовать различные пользователи,
т. е. каждый из этих пользователей может иметь доступ к одной и
той же области данных, даже одновременно. Например, одни и те же
данные БД о студентах может одновременно использовать студенческий
отдел кадров и деканат.
К аппаратному
обеспечению относятся:
-
накопители для хранения информации вместе с подсоединёнными устройствами
ввода-вывода, каналами ввода-вывода и т. д.;
-
процессор (или процессоры) вместе с основной памятью, которая используется
для поддержки работы программного обеспечения системы.
Между собственно данными и пользователями располагается уровень программного
обеспечения. Ядром его является система управления
базами данных (database management system – DBMS), или диспетчер БД
(database manager).
Система
управления базами данных (СУБД) – это комплекс программных
и языковых средств, необходимых для создания БД, поддержания их в
актуальном состоянии и организации поиска в них необходимой информации
[9].
Основная функция СУБД – это предоставление пользователю БД возможности
работы с ней, не вникая в детали на уровне аппаратного обеспечения,
т. е. все запросы пользователя к БД, добавление и удаление данных,
выборки, обновление данных – всё это обеспечивает СУБД.
Иными словами, СУБД поддерживает пользовательские операции высокого
уровня. Сюда включены и операции, которые можно выполнить с помощью
языка SQL.
СУБД имеют свою архитектуру
[10].
В процессе разработки и совершенствования СУБД предлагались различные
архитектуры, но самой удачной оказалась трёхуровневая архитектура,
предложенная исследовательской группой ANSI/SPARC американского комитета
по стандартизации ANSI (American National Standards Institute). Упрощенная
схема архитектуры СУБД приведена на рис.
3.1.
Внешний уровень
– это уровень пользователя. По сути, это совокупность внешних представлений
данных, которые обрабатывают приложения и какими их видит пользователь
на экране. Это может быть таблица с отсортированными данными, с примененным
фильтром, форма, отчет, результат запроса. Внешние представления взаимосвязаны,
т. е. из одного внешнего представления можно получить другое.
Концептуальный уровень
– центральный. Здесь БД представлена в наиболее общем виде, который
объединяет данные, используемые всеми приложениями, т.е. это обобщённая
модель предметной области, для которой созданы БД. Можно сказать,
что концептуальный уровень формируется при создании таблиц (определение
их полей, типов, свойств), связей, а также при заполнении таблиц.
Физический уровень –
собственно данные, расположенные на внешних носителях.
SQL
– это специальные язык БД. Сейчас он поддерживается большинством СУБД,
он является официальным стандартом языка для работы с реляционными
системами. Название SQL вначале было аббревиатурой от Structured Query
Language (язык структурированных запросов), сейчас название языка
уже не считается аббревиатурой, так как функции его расширились и
не ограничиваются только созданием запросов.
СУБД – это не единственный программный компонент системы, хотя и наиболее
важный. Среди других – утилиты, средства разработки приложений, средства
проектирования, генераторы отчётов и т. д.
Пользователей
СУБД можно разделить на три группы:
Прикладные
программы выполняют над данными стандартные операции – выборку, вставку,
удаление, обновление – через соответствующий запрос к СУБД. Такие
программы бывают простыми – пакетной обработки, или оперативными
приложениями – для поддержки работы конечного пользователя.
-
Конечные пользователи.
Работают с системами БД непосредственно через рабочую станцию или
терминал. Конечный пользователь может получить доступ к БД, используя
оперативное приложение или интегрированный интерфейс самой СУБД
(такой интерфейс тоже является оперативным приложением, но встроенным).
В большинстве систем есть хотя бы одно такое встроенное приложение
– процессор языка запросов (или командный интерфейс).
Язык SQL – пример языка запросов для БД. Кроме языка запросов в современных
СУБД, как правило, есть интерфейсы, основанные на меню и формах
– для непрофессиональных пользователей. Понятно, что командный интерфейс
более гибок, содержит больше возможностей.
-
Администраторы БД.
Отвечают за создание БД, технический контроль, обеспечение быстродействия
системы, её техническое обслуживание.
|