Современные компании хранят огромное количество информации: данные об операциях, контрагентах, работниках, клиентах и т. д. Сохранять информацию выгодно, потому что данные можно проанализировать и найти новые способы роста прибыли бизнеса.
Если компания небольшая, данные можно сохранить в Google Sheets, файлах Excel или даже в печатном виде в папках. Но если это крупная компания с миллионами операций в день, Excel уже не подойдет: в одном файле помещается максимум около миллиона строк.
Файлы Excel и Google Sheets при сотнях тысяч строк начинают сильно тормозить — работать с информацией в них уже неудобно. Тут на помощь приходят базы данных (БД). В статье разберем виды БД, свойства и популярные системы управления базами данных.
База данных: что это
База данных простыми словами — это место, где хранятся данные в электронном виде.
В базе данных может храниться что угодно: фотографии на телефоне, расположение игроков на карте в компьютерной игре, номера заказов в сервисе такси или доставки продуктов. Назначение базы данных — сохранение, изменение, быстрый поиск.
На курсе «Python-разработчик» целый блок посвящен изучению баз данных. Вы узнаете, как работать с SQLite, PostgreSQL и SQLAlchemy. Сделаете проект, где компания сможет выбирать поставщика товаров, исключить поставку одинаковых товаров от разных поставщиков, искать и сортировать информацию.
Чем база данных отличается от таблиц Excel и Google Sheets
Внешне Excel, Google Sheets и базы данных похожи, но разница есть. В БД можно:
- Хранить больше записей и быстро их обрабатывать.
- Установить отношения между несколькими таблицами — связи, благодаря которым одновременно обрабатывают данные в нескольких таблицах одной БД. Еще связи нужны, чтобы обеспечить целостность данных и чтобы в базе не было потерянных записей. Если удалить из БД клиента, информация о нём удаляется во всех связанных таблицах. Если добавить — добавляется.
- Работать с расширенным набором функций: поиск, фильтрация, сортировка, агрегация и т. д.
Excel и Google Sheets ограничены размером файла. Они подойдут, если нужно работать с небольшим количеством данных и выполнять базовые операции. Для хранения и анализа больших объемов структурированных данных понадобится БД.
Свойства базы данных
Свойства баз данных:
- Быстродействие. Excel и Google Sheets тормозят, когда много данных. В них сложнее найти нужное. В БД проще и быстрее — и ничего не тормозит.
- Простота получения и обновления данных. За два клика можно обновить или добавить данные в базу.
- Безопасность. В большинстве БД можно настраивать разные уровни доступа к таблицам. Например, давать разрешение читать и редактировать не всем пользователям, а только некоторым.
- Многопользовательский доступ. С БД одновременно могут работать несколько человек.
- Объем хранимых данных. База данных дает возможность сохранять миллионы различных записей.
Как хранится информация в БД
По способу хранения данных БД делятся на:
- Централизованные — вся информация хранится на одном компьютере. Это может быть автономный ПК или сервер, к которому есть доступ у пользователей.
- Распределенные — информация распределена по разным компьютерам. Используется в локальных и глобальных компьютерных сетях.
База данных — это информационный склад. Сам по себе этот склад не может найти и обработать нужную клиенту информацию.
Приходите на курс «Java-разработчик» — это не только подробные знания и практические навыки по базам данных. Еще 440 часов обучения от топовых экспертов в области, 5 проектов в портфолио, помощь в составлении резюме и диплом установленного образца. Благодаря этому вы легко найдете работу.
Типы баз данных
Существует огромное множество типов баз данных. Наиболее часто используют следующие типы:
- реляционные,
- нереляционные,
- документоориентированные,
- графовые,
- колоночные (столбцовые),
- key-value,
- сетевые,
- иерархические.
✔️ Реляционные. Состоят из множества таблиц, а между таблицами есть связи.
Две основные характеристики реляционной базы:
- Информация лежит в некотором количестве таблиц и распределена по ним по смыслу.
- Таблицы не существуют независимо друг от друга — они связаны определенными столбцами.
Чаще всего специалисты пользуются реляционными базами данных. Это базы, состоящие из множества таблиц, между которыми есть связи. Реляционные БД используют везде, где есть необходимость в сохранении огромных объемов информации: в IT-компаниях, банках, магазинах и так далее.
Обычно данные в реляционной БД хранят во вложенных таблицах. Информацию вносят с помощью записей.
Таблица — это вложенный объект по отношению к базе данных. Это значит, что база данных содержит внутри себя некоторое количество таблиц. Таблицы хранят разные группы данных. Например, одна таблица может хранить номера телефонов клиентов, а другая — список товаров на складе.
Таблица выглядит как лист в Google Sheets или Excel. Она состоит из определенного количества строк и столбцов. У каждого столбца бывает свое имя. В каждом из столбцов содержатся данные, относящиеся к заголовку столбца.
Запись — это одна строка в таблице в базе данных. Если менеджер добавляет данные нового пассажира или водителя в систему баз данных, то в таблице появляется новая запись.
К значениям столбца обычно есть некоторые требования. Часто в столбце реляционной базы данных хранятся данные одного типа: числа, тексты, файлы или другое.
Если создать реляционную базу данных, например, для такси, то она может содержать такие таблицы:
- заказы такси;
- таксисты;
- клиенты (или пассажиры);
- автомобили.
База данных такси содержит четыре таблицы, в каждой из которых — определенное количество столбцов. Например, в таблице «Клиенты» три столбца: «ID клиента», «Телефон клиента» и «Город клиента».
Можно было бы добавить всю информацию по заказам, таксистам, клиентам и автомобилям в одну таблицу, но она получилась бы слишком громоздкой. Анализировать и строить модели машинного обучения на основе такой таблицы было бы очень сложно, потому что модели машинного обучения нужны данные с определенным типом закономерностей. Удобнее, когда информация — в реляционной базе данных. То есть в разных таблицах в зависимости от смысла.
Реляционные базы данных не годятся для хаотичных неструктурированных данных, которые сложно распределить по нескольким таблицам в зависимости от смысла.
Еще бывают бизнесы и продукты, где необходим быстрый ответ на запрос, например онлайн-торги. Для них реляционные БД не подходят — лучше использовать другой тип.
✔️ Нереляционные БД. Нереляционные системы баз данных — базы данных, в которых информация содержится в виде документов JSON — стандартный текстовый формат, в котором данные структурированы на основе определенного языка программирования — джаваскрипт. Это язык программирования, который используется, например, для механизма обновления ленты новостей в соцсетях, анимации, интерактивных карт и многого другого. А в случае БД помогает структурировать данные.
✔️ Документоориентированные базы данных. По названию можно понять, что в базе данных такого типа единицей информации является документ. Обычно нет никаких ограничений по формату этого документа — он может быть в json-формате, xml, int и т. д.
В документоориентированных базах данных нет схемы данных — это значит, что можно добавлять новые данные как угодно и в каком угодно формате, не требуя, чтобы у всех остальных записей БД была одинаковая структура.
Примеры таких БД — MongoDB, Couchbase, Firebase.
✔️ Key-value базы данных. В такой базе данных удобно хранить информацию, которая легко представляется в виде пары «ключ — значение». Ключ — это специальное поле в таблице с уникальной информацией. Эти поля используют для хранения уникальных идентификаторов объектов, например ID клиента или кода товара. Значение указывает на характеристики ключа.
Самый главный плюс key-value-баз — они быстро выдают значение по ключу. Поэтому такие БД часто используют в задачах, когда ответ от базы важно получать в режиме онлайн.

Пример БД key-value
✔️ Графовые. Этот тип баз данных хранит информацию в графах. Графы — математический термин и означает совокупность двух множеств: множества объектов — вершин и множества парных связей этих объектов — ребер. Пример графа — дерево каталогов в компьютере: диски, папки и файлы — вершины, вложенность файлов и папок в папки и диски — ребра.
Графовый тип подходит, когда нужно получить информацию об основном объекте и об объектах, которые с ним связаны.
Пример проекта, в котором идеально использовать графовые базы данных, — обычная социальная сеть вроде ВК. Графовая база данных поможет быстро найти всю необходимую информацию не только нужного нам пользователя, но и всех его друзей, групп и сообществ.
✔️ Столбцовые. В столбцовые (или колоночные) БД данные записывают в столбцы, а не в строки.
Колоночные БД удобны, когда нас интересует информация не во всех столбцах, а в каких-то конкретных. Искать по конкретным столбцам быстрее, чем по строкам.
Допустим, у нас есть таблица, где 100 миллионов записей за год. В колонке «Дата» будут храниться только 366 записей, потому что в году 366 дней — включая високосные. Можно заменить 100 миллионов отсортированных записей в этом поле на 366 пар значений вида <Дата, количество раз> — и в таком виде хранить их в базе. Такая запись занимает в 100 тысяч раз меньше места и ускоряет выполнение запросов.
Денис Кондратьев, программист с опытом 17 лет, разработчик компьютерных игр, рассказывает о сетевых и иерархических типах баз данных.
Сетевые и иерархические базы данных — это два примера структур данных, используемых в системах управления базами данных (СУБД). Они впервые появились в 60–70-х годах и служат основой для многих современных концепций и практик в области управления данными.
✔️ Сетевая база данных — это тип БД, в которой данные организованы по принципу сети или связанной структуры. То есть у одной записи может быть несколько родительских и дочерних записей.
Представьте сетевую базу данных для больницы. У вас есть таблицы «Пациенты», «Врачи» и «Больницы». Пациент может наблюдаться у нескольких врачей: то есть может быть несколько родительских записей. А один врач может наблюдать разных пациентов: у врача несколько дочерних записей. Так врачи и пациенты образуют связанную структуру, или сеть отношений. Еще у больницы множество врачей и пациентов, а врач может быть связан с несколькими больницами. Это создает дополнительные связи в сети.
✔️ Иерархическая база данных строится по принципу «родитель — ребенок», где каждый дочерний элемент имеет только один родительский элемент. Эта модель организует данные в древовидной структуре и идеально подходит для сценариев, где нужно хранить информацию в предопределенной и строго упорядоченной иерархии.
Рассмотрим систему управления файлами на компьютере. Местоположение каждого файла уникально в иерархической структуре каталогов или папок. Например, папка «Мои документы» может содержать подпапки «Фотографии», «Видео» и «Текстовые документы». В этих подпапках есть собственные файлы или дополнительные подпапки. В этом примере «Мои документы» — родительский элемент для «Фотографий», «Видео» и «Текстовых документов», а эти элементы, в свою очередь, могут быть родительскими элементами для своих файлов или подпапок.
Эта структура напоминает иерархическую базу данных, где у элемента есть только один «родитель», но может быть несколько «детей» или подэлементов.
Иерархические базы данных были весьма популярны в ранних СУБД, но они менее гибкие по сравнению с сетевыми или реляционными базами данных.
Как получить информацию из БД и связать данные между собой
Чтобы получать, добавлять, сохранять нужные данные в базе данных, в большинстве случаев используют SQL. Это простой язык программирования, который помогает извлечь необходимый срез данных из базы.
Чтобы обозначить связи в БД, используют primary key и foreign key.
Primary key — это столбец (или группа столбцов) в таблице с уникальными значениями. Если брать пример с той же базой такси — primary key каждой таблицы там обозначен светло-зеленым цветом.

Пример реляционной БД такси
В верхней таблице, которая хранит заказы такси, каждая строка будет содержать в себе информацию об отдельном заказе со своим уникальным ID. Это значит, что в таблице не будет строк с одной и той же информацией.
Foreign key — это такой столбец в таблице, в котором содержится primary key из другой таблицы. На картинке foreign key выделены серым. ID автомобиля является primary key в таблице с автомобилями, но во всех других таблицах (например, в таблице с таксистами) ID автомобиля будет являться foreign key.
Выстраивание связей между таблицами — не единственная функция foreign и primary key. Еще они могут помочь контролировать корректность записей в таблицах. Например, если мы хотим добавить запись с новым таксистом в таблицу с таксистами и неправильно написали ID автомобиля, то база данных сообщит об этом. База не найдет соответствующий ID автомобиля в таблице с автомобилями и выдаст сообщение, что где-то произошла ошибка.
Примеры использования баз данных
Базы данных сейчас используют почти везде: это один из надежных способов ничего не потерять.
На сайтах все статьи и картинки хранятся в базах данных. Когда пользователь заходит на сайт, контент извлекается из БД. Чтобы хранить фото, контакты, музыку на смартфоне, тоже используют базы данных. Благодаря этому пользователь может получить молниеносный доступ к информации.
На любом сайте или в приложении, где есть регистрация, логины и пароли тоже хранятся в базе данных.
В большой компании данные о сотрудниках — имена, данные документов, банковские счета для зарплаты — всё хранится в базах данных. В маленькой компании информацию можно иногда хранить в обычной таблице.
Популярные СУБД
СУБД — система управления базами данных. Это инструменты, с помощью которых запрашивают данные в базе, изменяют или создают базы. В компаниях наиболее популярны такие бесплатные СУБД:
- Это реляционная СУБД. Ее используют в Google, LinkedIn, Amazon, Meta* и других крупных и средних компаниях.
- Это объектно-реляционная СУБД. Она поддерживает большое количество разных языков программирования и типов данных. Для этой СУБД можно использовать существующие расширения или писать собственные — создавать скрипты для новых объектов.
- Это нереляционная документоориентированная СУБД. Может работать с огромными массивами данных весом от 1 Тб.
- Redis (Remote Dictionary Server). Это открытая NoSQL-система управления базами данных. То есть она не использует язык запросов SQL, а запрашивает данные с помощью других языков программирования и конструкций. Redis полезна, чтобы хранить игровые сессии, рейтинговые таблицы, состояние игроков, статистику игр и других временных или постоянных данных, которые нужно обрабатывать быстро.
Полезные материалы для изучения баз данных
Рассказывает Денис Кондратьев, программист с опытом 17 лет, разработчик компьютерных игр.
Новичкам полезно изучить:
📌 Книги
«Базы данных: Введение в теорию и методологию» А. С. Маркова, К. Ю. Лисовского. В книге — обзор теории баз данных и как их применять на практике.
Database System Concepts А. Силбершатца, Г. Ф. Корта и С. Сударшана. Это классический учебник, который подробно рассказывает о концепциях баз данных.
📌 Онлайн-курсы
Introduction to Databases на Coursera от Стэнфордского университета. Этот курс включает различные виды баз данных: реляционные, иерархические, сетевые и объектно-ориентированные.
Databases на edX от Harvard University. В курсе — про важные концепции: SQL, реляционные базы данных и т. д.
📌 Любой курс по разработке от Skypro.
За 10–12 месяцев вы получите нужные основы, выполните практические задания и сразу сможете работать с базами данных. Готовый проект положите в портфолио — это увеличит ваш вес в глазах работодателей.
📌 Веб-сайты и блоги
W3Schools — множество учебников и руководств по SQL и другим темам, связанным с базами данных.
Stack Overflow — ответы на вопросы о базах данных и SQL.
Database Journal — статьи, советы, учебники и новости о различных типах баз данных.
📌 Интерактивные платформы для обучения
Codecademy — интерактивные курсы по SQL и работе с базами данных.
SQLZoo — интерактивные упражнения для изучения SQL.
«Важно помнить, что изучение баз данных — это не только о том, чтобы усвоить SQL или какой-то конкретный тип базы данных. Это про понимание основных принципов проектирования баз данных, моделирования и управления данными».
Денис Кондратьевпрограммист, разработчик компьютерных игр
Если хотите анализировать сложные данные, стать продвинутым пользователем Excel и научиться работать с SQL, пройдите курс «Аналитик данных». Освоите профессию с нуля, даже если совсем нет опыта в IT. Мы не только дадим знания, но и доведем до новой работы — или вернем вам деньги за курс. Гарантию прописываем в договоре.
Коротко: что такое база данных
- База данных — место хранения информации в электронном формате. БД нужны, чтобы собирать, сохранять и изменять большое количество данных.
- Бывают реляционные и нереляционные базы данных, а еще графовые, документоориентированные, колоночные (столбцовые), базы данных key-value, сетевые и иерархические.
- Основные свойства БД — быстродействие, безопасность данных, простота получения и обновления данных, многопользовательский доступ и способность хранить большое количество данных.
- Базы данных используют на сайтах, в приложениях, в ПО, в различных сервисах для работы менеджеров, продавцов, рекрутеров.
*Meta — организация, запрещенная в РФ.
Добавить комментарий