Заблуждение о том, что СУБД и БД - это одно и то же
Эта статья о различии между понятиями система управления базами данных (СУБД) и база данных (БД); в ней подчеркивается, что система управления базами данных является субъектом управления и программой, а база данных объектом управления и собственно данными, которыми управляет СУБД. Из этого объяснения становится понятно, чем отчается СУБД от БД.
Сокращения
Раскрывая сокращения, получаем:
с СУБД – это система управления базами данных,
с БД – это база данных.
Другими словами, СУБД – это то, что управляет базой данных, а посему СУБД - это субъект, а БД - объект управления.
Семантика
Различие между этими понятиями станет очевидным сразу же, как только мы вспомним, что СУБД – это программа1, а БД – это данные, которыми эта программа распоряжается (или управляет, или манипулирует).
Насколько различны программы и данные, настолько же различны СУБД и БД. На схемах базы данных обычно рисуют в виде диска-бочонка с данными, а СУБД в виде прямоугольника, см. схему (рисунок 1).
На этой схеме базы данных содержат табличные данные, что не обязательно.
Рисунок 1 – СУБД – это программа, БД – это данные
Все базы данных имеют некоторую, не всегда табличную, внутреннюю структуру и содержат наборы данных, уложенных в эту структуру. Структуры «родственных» баз одинаковы, а наборы данных в каждой базе уникальны.
Иногда заявляют, что СУБД и БД неразрывны, так как СУБД может управлять только созданной ей же БД и никакой другой. И на этом неверном основании, что СУБД и БД неразрывны, заключают, что слова СУБД и БД взаимозаменяемы. Утверждение о неразрывности неверное. Во-первых, потому что одна СУБД может управлять несколькими созданными ей же БД и тогда говорить о взаимозаменяемости слов не приходится. Во-вторых, некоторые СУБД могут управлять «чужими» БД, например, СУБД Access может управлять базой dbf, спроектированной и наполненной в СУБД FoxPro.
Количественные отношения
Одна СУБД может управлять несколькими базами данных, что, собственно, подчеркивает предыдущая схема (Рисунок 1): СУБД одна, а баз данных – две. Неравные количественные отношения между двумя терминами тоже свидетельствуют об их принципиальном различии.
Выводы
СУБД – это программа, а БД – это данные.
Слова СУБД и БД не синонимы. Нельзя вместо слова СУБД писать слово БД и наоборот.
Одна СУБД может управлять несколькими базами данных. Однако одна БД не может находиться под управлением нескольких СУБД одновременно.
В подавляющем большинстве случаев, СУБД это серийно выпускаемый программный продукт, а БД всегда уникальна, по меньшей мере, набором данных.
См. список прочих заблуждений.
1 Понятие «программа» употребляется здесь в самом широком смысле, а именно, в смысле стандарта ГОСТ 19781-90 [1]: Программа данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма.
Понятие «данные» этот ГОСТ не определяет, однако исходя из определения программы, можно считать, что «данные» это поля из цифр, хранящиеся в памяти ЭВМ.
1. ГОСТ 19781-90. Единая система программной документации. Обеспечение систем обработки информации программное.