DBMS (Database Management System)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 02:10, 5 февраля 2019.

DBMS (Database Management System) - система управления базами данных "СУБД" представляет собой организованную совокупность программных и лингвистических данных, которые включают в себя схемы , таблицы , запросы , отчеты, просмотры и другое. В сущности DBMS - это программа, которая позволяет взаимодействовать с базами данных как абстрактным объектом (без необходимости писать запросы).

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

Система управления базами данных ( СУБД ) представляет собой компьютерное программное обеспечение, которое взаимодействует с пользователем, другими приложениями, а также отвечает за обработку запросов к базе данных , собирает и анализирует их. СУБД предназначена для определения, создания, выборки, обновления и администрирования баз данных Хорошо известная СУБД включает MySQL , PostgreSQL , MongoDB , MariaDB , Microsoft SQL Server , Oracle , Sybase , SAP HANA , MemSQL и IBM DB2 . База данных, как правило, не переносимы между разными СУБД, но разных СУБД могут взаимодействовать с помощью стандартов, таких как SQL и ODBC или JDBC для одного приложения для работы с более чем одной СУБД Системы управления базами данных часто классифицируются в зависимости от модели базы данных, которые они поддерживают, самые популярные систем баз данных с 1980-х годов представлены на языке SQL. Но может быть написана как на традиционных языках программирования (С/C++, Cobol и др.), так и на специализированных языках баз данных. .[Источник 1]

История

История развития СУБД насчитывает более 30 лет. В 1968 году была введена в эксплуатацию первая промышленная СУБД – система IMS фирмы IBM. (Information Management System). Несмотря на то, что IMS является самой первой из всех коммерческих СУБД, она до сих пор остается основной иерархической СУБД, используемой на большинстве крупных мейнфреймов. 1-й этап развития СУБД связан с организацией БД на больших машинах типа IBM360/370. БД хранились во внешней памяти центральной ЭВМ. Программы доступа к БД писались на различных языках. Интерактивный доступ обеспечивался с помощью консольных терминалов, которые не обладали собственными вычислительными ресурсами, и служили только устройствами ввода- вывода для центральной ЭВМ. На втором этапе - с появлением ПК начали развиваться настольные СУБД с монопольным доступом. Большинство СУБД имели удобный пользовательский интерфейс. В них был предусмотрен интерактивный режим работы с БД, как для описания БД, так и для проектирования запросов. Многие СУБД имели развитый и удобный инструментарий для разработки готовых приложений без программирования. Наличие монопольного режима работы, фактически, привело к вырождению функций администрирования БД, и в связи с этим в них отсутствовали инструментальные средства администрирования БД. Третий этап развития СУБД связан с широким развитием локальных сетей. Работа на изолированном компьютере с небольшой БД в настоящее время становится нехарактерной для большинства приложений. Компьютеры объединяются в сети и необходимость распределения приложений, работающих с единой БД совершенно очевидна. БД при этом становится доступна одновременно многим пользователям. Поэтому важной является проблема согласованности данных, хранящихся и обрабатывающихся в разных местах, но логически друг с другом связанных. Возникают задачи, связанные с параллельной обработкой транзакций – последовательности операций над БД, переводящих ее из одного непротиворечивого состояния в другое непротиворечивое состояние. Успешное решение этих задач приводит к появлению распределенных БД и баз данных с распределенной обработкой, позволяющих организовать параллельную обработку информации и поддержку целостности БД.

Состав СУБД

СУБД представляет собой оболочку, с помощью которой при организации структуры таблиц и заполнения их данными получается та или иная база данных. В связи с этим полезно поговорить о системе программно-технических, организационных и "человеческих" составляющих ( рис. 2.5). Программные средства включают систему управления, обеспечивающую ввод-вывод, обработку и хранение информации, создание, модификацию и тестирование БД. .[Источник 2]


Рисунок 1 - состав СУБД.


Базовыми внутренними языками программирования являются языки четвертого поколения. В качестве базовых языков могут использоваться C, C++, Object Pascal . Язык C++ позволяет строить программы на языке Visual Basic с широким спектром возможностей, более близком и понятном даже пользователю-непрофессионалу, и на непроцедурном (декларативном) языке структурированных запросов SQL. Следует отметить, что исторически для системы управления базой данных сложились три языка: 1. язык описания данных (ЯОД), называемый также языком описания схем, - для построения структуры ("шапки") таблиц БД; 2. язык манипулирования данными (ЯМД) - для заполнения БД данными и операций обновления (запись, удаление, модификация); 3. язык запросов - язык поиска наборов величин в файле в соответствии с заданной совокупностью критериев поиска и выдачи затребованных данных без изменения содержимого файлов и БД (язык преобразования критериев в систему команд). В настоящее время функции всех трех языков выполняет язык SQL, относящийся к классу языков, базирующихся на исчислении кортежей (кортеж чаще всего является единицей информации), языки СУБД FoxPro, Visual Basic for Application (СУБД Access) и т.д.

Основные функции СУБД

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

- ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию, - процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода, - подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД - а также сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы. [Источник 3]

Управление данными

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

Управление буферами ОЗУ

В преимущественном большинстве случаев функции СУБД принято использовать в достаточно объемных базах данных, и этот размер как минимум зачастую гораздо больше доступного объема ОЗУ. Конечно, если в случае обращения к каждому элементу данных будет осуществляться обмен с внешней памятью, скорость последней будет соответствовать скорости самой системы, поэтому практически единственным вариантом реального ее увеличения является буферизация информации в ОЗУ. При этом даже если ОС осуществляет общесистемную буферизацию, например с UNIX, этого не будет достаточно для того, чтобы обеспечивать у СУБД назначение и основные функции, так как она располагает гораздо большим объемом данных о полезных свойствах буферизации каждой конкретной части используемой базы данных. За счет этого развитые системы поддерживают собственный комплект буферов, а также уникальную дисциплину их замены.

Управление транзакциями

Транзакция является последовательностью операций с используемой базой данных, которые система управления рассматривает в качестве единого целого. Если транзакция полностью успешно исполняется, системой фиксируются изменения, которые были ею произведены, во внешней памяти или никакие из указанных изменений не будут отражаться на состоянии БД. Данная операция требуется для того, чтобы обеспечить поддержку логической целостности используемой БД. Стоит отметить, что поддержание правильного хода механизма транзакций является обязательным условием даже при применении однопользовательских СУБД, назначение и функции которых значительно отличаются от других типов систем.

Классификация СУБД

По характеру использования

СУБД бывают:

  • Персональные (совокупность языковых и программных средств, нужных для создания и управления базами данных - VISUAL FOXPRO, ACCESS).
  • Многопользовательские (использует разные операционные системы и включают в себя сервер базы данных и клиентскую часть) - ORACLE, INFORMIX.

По степени распределённости

СУБД бывают:

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

По способу доступа к БД

СУБД бывают:

  • Файл-серверные

В файл-серверных СУБД файлы данных располагаются централизованно на файл-серверные. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Примеры: Microsoft Access, Paradox, dBase, Visual FoxPro.

  • Клиент-серверные

Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.

  • Встраиваемые

Встраиваемая СУБД — СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы. Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.

По характеру записи

СУБД делятся на два типа:

  • СУБД с непосредственной записью

СУБД, в которых все измененные блоки данных незамедлительно записываются во внешнюю память при поступлении сигнала подтверждения любой транзакции. Такая стратегия используется только при высокой эффективности внешней памяти.

  • СУБД с отложенной записью

СУБД, в которых изменения аккумулируются в буферах внешней памяти до наступления конкреного события.

Иерархические

Используется представление базы данных в виде древовидной (иерархической) структуры, состоящей из объектов (данных) различных уровней. Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка к потомку , при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок. Объекты, имеющие общего предка, называются близнецами .

Сетевые

Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию.

Объектно-ориентированные

Управляют базами данных, в которых данные моделируются в виде объектов, их атрибутов, методов и классов. Этот вид СУБД позволяет работать с объектами баз данных так же, как с объектами в программировании в объектно-ориентированных языках программирования.

Объектно-реляционные

Этот тип СУБД позволяет через расширенные структуры баз данных и язык запросов использовать возможности объектно-ориентированного подхода: объекты, классы и наследование.

Реляционные

Система управления реляционными базами данных — СУБД, управляющая реляционными базами данных.

Источники

  1. DBMS // Studme. [2013-2019] Дата обновления 11.05.17. URL: http://studme.org/35664/informatika/bazy_dannyh (дата обращения: 05.02.2019)
  2. DBMS //Lecturesdb. [2017-2019] Дата обновления 11.12.17. URL: http://lecturesdb.readthedocs.io/databases/dbms.html (дата обращения: 05.02.2019)
  3. DBMS // Studopedia. [2019-2019] Дата обновления 05.07.15. URL: http://studopedia.ru/3_7985_sostav-subd-i-rabota-bd.html (дата обращения: 05.02.2019)