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