Содержание

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

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

Для чего нужна база данных

При открытии бизнеса нужна хорошая структура для анализа конкурентов и поставщиков, а также возможность работать с несколькими таблицами синхронно. Сделать это в «Google Таблице» или Microsoft Excel вряд ли получится. База данных — отличный способ решать такие виды задач.

Для работы с базами данных необходим язык структурированных запросов SQL (Structured Query Language). Он позволяет создавать, изменять, удалять и извлекать данные.


SQL: что это, зачем он нужен и где используют
Где используется язык программирования SQL, зачем он нужен и как работает
Читать далее

Управление БД и электронными таблицами: отличия

Их можно представить на примере: вам необходимо вести учет всех клиентов компании. В таблице Microsoft Excel вы отмечаете данные клиентов, время прихода, место работы, причину обращения, дату последнего визита. Этот файл един для всех сотрудников компании. Когда вы заполняете таблицу, другой работник параллельно с вами делает то же самое: вносит изменения в те же ячейки, что и вы. Тут и кроется основной минус в управлении электронными таблицами с изменяющимися данными: ваша сохраненная информация не отобразится у другого сотрудника, если он открыл файл до ваших действий.  Поэтому, когда он сохранит проделанную работу, внесенная вами информация будет утеряна.

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

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


Как выглядит база данных

База данных похожа на таблицу Microsoft Excel: у нее есть колонки с заголовками и информация внутри.

Пример базы данных
Пример реляционной БД

Свойства базы данных

  1. У БД обязательно должно быть имя.
  2. БД может быть доступна только для чтения: пользователи считывают данные, но не могут изменять их или объекты БД.
  3. БД может выводить свое текущее состояние, которое нельзя отредактировать.
  4. Для БД можно включить шифрование и ограничить доступ.
  5. БД может фиксировать состояние объектов и их отношений в заданный момент времени.
  6. БД постоянна: данные безостановочно накапливаются и используются.
  7. БД подстраивается под новые данные и актуализируется.

Типы баз данных

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

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

Имеют древовидную схему, в которой корень (единый ствол) порождает множество расходящихся ветвей. Данные структурируются отношением «родитель-потомок». Примером иерархической базы служат файлы в вашем компьютере. Имеется основной диск, в котором лежат папки, содержащие другие папки. Физическая связь возможна путем взаимодействия с предыдущей папкой.

Пример иерархической базы данных

Преимущества: обеспечивает целостность данных из-за отношений «родитель-потомок», а все изменения, сделанные в родительской таблице, автоматически обновляются в каждой дочерней.

Недостатки: если родительская и дочерняя таблицы не связаны между собой, добавление новых данных в дочернюю таблицу проблематично, ее нужно будет добавлять также в родительскую.

Иерархическая БД поддерживает отношения «один ко многим», но не поддерживает «многие ко многим». В основном используется там, где существуют явные иерархические отношения между элементами.

Сетевые

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

Пример сетевой базы данных

Рассмотрим на примере изготовления кофе. У нас есть ингредиенты: вода, эспрессо, молоко, молочная пенка. Если мы смешаем воду и эспрессо, то получим американо. Эспрессо, молоко и молочная пенка сделают латте. Из молока и эспрессо получится капучино. В данном случае у капучино и латте два общих родителя: молоко и эспрессо.

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

Расширение традиционных реляционных баз данных, в котором данные хранятся и обрабатываются в виде объектов. Объекты могут содержать также методы работы с данными, благодаря этому с данными можно работать эффективнее.

Пример объектно-ориентированной базы данных

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

Наследование упрощает моделирование иерархических отношений между объектами, создавая новые классы на основе существующих и приобретая их атрибуты и методы.

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

Инкапсуляция скрывает внутренние детали объекта и предоставляет доступ к ним только через определенные методы. Так улучшается безопасность и взаимодействие с объектами.

Реляционные

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

Реляционные БД поддерживают как модель «один ко многим», так и «многие ко многим».

Основные принципы реляционных БД:

  1. Все данные на концептуальном уровне представляются в виде объектов, заданных в виде строк и столбцов.
  2. В пересечение строки и столбца таблицы можно занести только одно значение.
  3. Все операции выполняются над целыми отношениями, и результатом этих операций является отношение.

Реляционные базы могут быть организованы по строкам или столбцам, что влияет на их оптимальное использование в различных сценариях: учет персонала и товаров, ведение бухгалтерии и электронного документооборота.

Преимущества: обеспечивается целостность больших объемов информации, предоставляется доступ для нескольких пользователей одновременно при настройке уровней доступа.

Недостатки: требуют большого объема физической памяти, невысокая производительность. Чем больше объем базы, тем дольше обрабатываются запросы.

Примеры реляционных баз данных: PostgreSQL, MySQL, Oracle, SQLite и Microsoft SQL Server.

Нереляционные (NoSQL)

Способны обрабатывать неструктурированные данные. Применяют несколько моделей в зависимости от типа обрабатываемых данных.

Нереляционные базы отлично подходят для обработки неструктурированных или полуструктурированных данных.

Преимущества: быстрая скорость работы, не требуется организация данных в виде таблиц.

Недостатки: уступают в скорости обработки структурированных данных реляционным базам.


Популярные СУБД и их отличие от БД

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

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

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

Реляционные СУБД (MySQL, Oracle, PostgreSQL)

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

Колоночные СУБД (Vertica, ClickHouse)

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

Графовые СУБД (Neo4j, Amazon Neptune)

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

СУБД ключ-значение (Redis, Memcached)

Предназначены для быстрого доступа к данным по ключу и часто используются для кеширования данных или брокеров сообщений. Они подходят для хранения простых структур данных с быстрым доступом.

Документные СУБД (MongoDB, CouchDB)

В них данные хранятся в формате документов, в том числе с разной структурой в одной сущности.

Карьера продакт-менеджера

Освоите профессию в IT без программирования на реальных задачах и кейсах компаний. Средняя зарплата продакт-менеджера в РФ — 200 000 ₽. Через 6 месяцев после начала обучения сможете претендовать на позицию младшего менеджера по продукту с зарплатой от 105 000 ₽.

Стать продакт-менеджером ⚡️
Поделиться