Система управления базами данных (СУБД) — комплекс программ и языковых средств, предназначенных для создания, ведения и использования баз данных. В англоязычной терминологии СУБД именуется DBMS (Database Management System).
Ведение базы данных — действия по добавлению, удалению и изменению хранимых данных.
Как видно из рис. 1.7. СУБД играет роль посредника между клиентом (человеком или программой) и данными.
Рис. 1.7. Роль СУБД
Главные задачи, которые решает СУБД:
• Хранение данных.
• Поддержание целостности данных.
• Предоставление инструментария для манипулирования данными.
Задача хранения подразумевает размещение данных на некотором носителе информации (например, диске), должен быть определен формат данных, обеспечивающие не только статичное хранение, но и эффективное манипулирование данными.
СУБД должна контролировать любые изменения в данных и гарантировать, что при любых действиях по манипулированию данными не возникнет противоречии в структуре или в самих данных (при условии, что такие противоречия не были заложены разработчиком). СУБД должна обеспечивать интерфейс (функции, программы) для доступа к манипулированию данными.
Виды СУБД:
• Локальная СУБД.
• Система «клиент-сервер».
Различие заключается в степени «удаленности» данных и СУБД от потребителя этих данных — клиента (человека или программы).
СУБД, организованная по технологии «клиент-сервер» (рис. 1.8). предоставляет средства, позволяющие работать с данными клиентам, имеющим различное местоположение и использующим различное программное обеспечение. При этом клиентское программное обеспечение не отвечает за хранение данных и поддержание их целостности, оно лишь отправляет запросы к СУБД и получает на них ответы. СУБД является сервером, хранящим данные, который обеспечивает некоторый интерфейс и при этом не отвечает за то, как эти данные могут быть использованы клиентами (внешними приложениями).
Рис. 1.8 Архитектура «клиент-сервер»
Локальные СУБД (рис. 1.9) интегрированы с конечным приложением — потребителем данных (программой автоматической обработки или интерфейсом пользователя). Соответственно, если с одними и теми же данными работает несколько приложений, каждое приложение должно включать в себя собственную СУБД.
Рис. 1.9. Локальная СУБД
Многие локальные СУБД изнутри организованы по технологии «клиент-сервер», но с точки зрения пользователя представляют собой единое приложение. В этом случае разделение скорее
логическое — одни процедуры внутри программы отвечают только за доступ к данным и их целостность, другие выполняют только обработку н взаимодействие с пользователем, обращаясь к данным не напрямую, а лишь с помощью процедур первой группы.
Ниже перечислены некоторые из известных СУБД, относящиеся к первому и второму виду.