Чем субд отличается от бд
Перейти к содержимому

Чем субд отличается от бд

  • автор:

Заблуждение о том, что СУБД и БД — это одно и то же

Эта статья о различии между понятиями система управления базами данных (СУБД) и база данных (БД); в ней подчеркивается, что система управления базами данных является субъектом управления и программой, а база данных объектом управления и собственно данными, которыми управляет СУБД. Из этого объяснения становится понятно, чем отчается СУБД от БД.

Раскрывая сокращения, получаем:

с СУБД – это система управления базами данных,

с БД – это база данных.

Другими словами, СУБД – это то, что управляет базой данных, а посему СУБД — это субъект, а БД — объект управления.

Различие между этими понятиями станет очевидным сразу же, как только мы вспомним, что СУБД – это программа 1 , а БД – это данные, которыми эта программа распоряжается (или управляет, или манипулирует).

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

На этой схеме базы данных содержат табличные данные, что не обязательно.

Рисунок 1 – СУБД – это программа, БД – это данные

Все базы данных имеют некоторую, не всегда табличную, внутреннюю структуру и содержат наборы данных, уложенных в эту структуру. Структуры «родственных» баз одинаковы, а наборы данных в каждой базе уникальны.

Иногда заявляют, что СУБД и БД неразрывны, так как СУБД может управлять только созданной ей же БД и никакой другой. И на этом неверном основании, что СУБД и БД неразрывны, заключают, что слова СУБД и БД взаимозаменяемы. Утверждение о неразрывности неверное. Во-первых, потому что одна СУБД может управлять несколькими созданными ей же БД и тогда говорить о взаимозаменяемости слов не приходится. Во-вторых, некоторые СУБД могут управлять «чужими» БД, например, СУБД Access может управлять базой dbf , спроектированной и наполненной в СУБД FoxPro .

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

СУБД – это программа, а БД – это данные.

Слова СУБД и БД не синонимы. Нельзя вместо слова СУБД писать слово БД и наоборот.

Одна СУБД может управлять несколькими базами данных. Однако одна БД не может находиться под управлением нескольких СУБД одновременно.

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

1 Понятие «программа» употребляется здесь в самом широком смысле, а именно, в смысле стандарта ГОСТ 19781-90 [1]: Программа данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма.

Понятие «данные» этот ГОСТ не определяет, однако исходя из определения программы, можно считать, что «данные» это поля из цифр, хранящиеся в памяти ЭВМ.

1. ГОСТ 19781-90. Единая система программной документации. Обеспечение систем обработки информации программное.

Чем БД отличается от СУБД?

Понятно дело, что СУБД это система управления базами данных. Но вот вопрос SQLLite. Где тут СУБД? Получается БД без него? А FireBird? Получается что в некоторых случаях БД может быть без СУБД (если она встраиваемая)?

  • Вопрос задан более трёх лет назад
  • 15551 просмотр

Комментировать
Решения вопроса 0
Ответы на вопрос 1

Но вот вопрос SQLLite. Где тут СУБД?

Вот тут: sqlite3.dll
А БД — файлики *.db3 которые появляются на диске и хранят ваши данные.

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

Чем отличаются базы данных, СУБД и системы баз данных

Если вы собираетесь внедрять IT-инфраструктуру в свой бизнес, а в будущем развиваться, то рано или поздно вам понадобится база данных (БД) и система управления базами данных (СУБД). В целом, эти понятия неразделимы, а вместе образуют системы баз данных.

Заваривайте чай, кофе и присаживайтесь поудобней: )

Что такое база данных

Информационные технологии во многом базируются на точных науках, а потому большинство терминов имеет единую трактовку. Но как бы мне ни хотелось дать общепризнанное определение БД, его нет. А это значит, что самое время обратиться к глоссарию. В нашем случае — к ребятам из Oracle. Это один из крупнейших производителей серверного железа; с 1977 года развивают объектно-реляционную СУБД Oracle Database, последние лет 10 лидируют в этой области. В общем, разбираются: )

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

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

Oracle. com

Самой наглядной аналогией реляционным базам данных, на мой взгляд, выступает секция в библиотеке, где книжные стойки — это таблицы БД, книжные полки – это столбцы, а книги — это конкретные записи. Всё это имеет логику, структуру и связано между собой. Все литературные произведения поделены по эпохам, странам, жанрам, писателям и другим параметрам. При этом в соседней секции хранение книг может быть организовано иначе (другая база данных) .

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

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

— А где у вас труды Фрейда?

— В какой-то из коробок на полу, там ещё 50 оттенков серого и Гарри Поттер сверху.

Получается, что БД — это большое количество упорядоченной информации, работать с которой нужно по определённым правилам.

Теперь давайте разберёмся с другим важнейшим понятием – с системой управления базами данных (СУБД) .

СУБД

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

Освойте профессию
«Fullstack-разработчик на Python»

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

Профессия / 8 месяцев
IT-специалист с нуля

Попробуйте 9 профессий за 2 месяца и выберите подходящую вам

vsrat_7 1 (1)

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

Кто пользуется СУБД

  • Бэкенд-разработчики, которые часто взаимодействуют с базой, чтобы получать данные для сайта или приложения.
  • Разработчики локальных приложений, которые тоже могут хранить собственные данные.
  • Администраторы баз данных — если продукт сложный, то для обслуживания базы, как правило, необходим собственный администратор. Такие сотрудники обычно специализируются на конкретной СУБД.
  • Другие IT-специалисты — в разных ситуациях работать с БД могут аналитики, DevOps-инженеры или специалисты по Big Data.

Для чего нужны СУБД

  • Создание и хранение базы данных нужного типа — он зависит от того, к какому виду относится система.
  • Управление базой — сюда относится создание новых записей, модификация существующих или удаление данных, которые уже не нужны.
  • Получение нужных сведений из базы в удобной форме с помощью запросов, обычно на специальном языке SQL. Запросы фильтруют данные и выдают только нужную информациЮ, так как в базе могут быть миллионы записей. СУБД обязана поддерживать хотя бы один язык запросов.
  • Администрирование и контроль доступа к базе данных, выдача разным пользователям различных прав и поддержка конфиденциальности сведений.
  • Обеспечение безопасности и целостности данных, чтобы какая-либо проблема не привела к потере информации из базы.
  • Защита от возможных атак и сбоев.
  • Отслеживание изменений, резервное копирование и восстановление базы в случае падения.

Как информация хранится в БД

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

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

Древовидные структуры. Еще один вариант системы хранения информации — иерархический. В нем данные хранятся в виде древовидной структуры. Его расширение — сетевой тип: он отличается от иерархического тем, что данные могут иметь больше одного «предка».

Иногда частным подвидом иеархического типа называют документно-ориентированную модель, при которой данные представлены в виде JSON-подобных документов. Она более гибкая и хорошо подходит для информации, не связанной между собой. Но для жестко связанных данных такой способ не подойдет.

Из чего состоят системы управления базами данных

Если база — это хранилище, то СУБД — комплекс средств для обслуживания хранилища. СУБД имеет сложное устройство.

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

Процессор языка или компилятор обрабатывает запросы. Обычно СУБД реляционного, объектно-ориентированного и объектно-реляционного типа поддерживают язык SQL и внутренние языки запросов.

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

Станьте аналитиком данных и получите востребованную специальность

Виды СУБД по способу доступа

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

Системы по-разному обеспечивают хранение и доступ к данным. Существуют три вида архитектуры.

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

Клиент-серверная архитектура подразумевает, что прямой доступ к базе есть только у сервера — он обрабатывает обращения клиентов. Сами клиенты не обязаны иметь специальное ПО для взаимодействия с базами данных. Так для доступа к сайту не нужно устанавливать программы, которые будут обрабатывать запросы, — все сделает сервер, жестко отделенный от клиентской части.

Такие базы надежны и обычно имеют высокую доступность. Ими пользуются чаще всего.

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

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

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

Что такое NoSQL-системы

Большинство баз данных управляется специальным языком запросов SQL. Но из этого правила есть исключения — системы, которые не подразумевают использования SQL. Их называют NoSQL.

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

Вместо SQL применяются внутренние языки запросов, часто основанные на тех или иных языках программирования. Иногда они схожи с SQL, а иногда вместо внутреннего языка система использует JavaScript или иной ЯП.

Примеры современных СУБД

  • Oracle Database — объектно-реляционная клиент-серверная СУБД, одна из первых и самых популярных в мире. Платная, сложная, подходит для больших проектов.
  • PostgreSQL — объектно-реляционная СУБД клиент-серверного типа, которую иногда называют бесплатным аналогом Oracle. Масштабная, рассчитана на высоконагруженные проекты, содержит огромное количество функций и распространяется бесплатно.
  • MySQL — реляционная клиент-серверная СУБД. Популярный выбор для проектов небольшого и среднего размера. Легкая, гибкая и довольно простая в использовании. Она бесплатная, хорошо подходит для обучения и веб-проектов.
  • MongoDB — документно-ориентированная NoSQL-СУБД, где данные хранятся в JSON-подобных файлах. Тоже бесплатная, а внутренний язык запросов основан на JavaScript.
  • SQLite — маленькая и легкая встраиваемая СУБД, которая активно применяется в локальных проектах.

Особенности построения баз данных, тонкости работы с запросами, поддержку целостности и другие важные темы можно изучить самостоятельно с помощью учебников и мануалов, а также на курсах SkillFactory.

Fullstack-разработчик на Python

Fullstack-разработчики могут в одиночку сделать IT-проект от архитектуры до интерфейса. Их навыки востребованы у работодателей, особенно в стартапах. Научитесь программировать на Python и JavaScript и создавайте сервисы с нуля.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *