23 Окт 2022
10 мин
5103

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

Какие данные в ней хранятся, как их получить и связать.

Содержание

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

Способы хранения информации зависят от масштабов компании. Если компания небольшая, то данные можно сохранить в Google Sheets, файлах Excel или даже в печатном виде в папках. Однако, если речь идет о крупной компании с миллионами операций в день, то в файле Excel информацию уже не сохранить — в одном файле Excel максимум помещается только около миллиона строк. Кроме этого, файлы Excel и Google Sheets при сотнях тысяч строк начинают сильно тормозить, и работать с информацией в них становится неудобно.

Тогда на помощь приходят базы данных.

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

База данных простыми словами — это место, где хранятся данные в электронном виде.

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

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

Чем база данных отличается от таблиц Excel и Google Sheets

Внешне Excel, Google Sheets и базы данных похожи, но между ними большие различия:

  • например, в таблицах Google Sheets и Excel нельзя установить отношения между несколькими таблицами;
  • другое отличие в том, что в базах данных можно хранить гораздо большее количество записей, при этом быстро их обрабатывать;
  • кроме этого, в базе данных нельзя выполнять вычисления непосредственно в самой таблице — для этого нужно использовать запросы.

Получается, что Excel и Google Sheets могут подойти, если нужна база для небольшого количества данных, которые можно поместить на листах Excel или Google Sheets.

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

Базы данных делятся на два типа — реляционные и нереляционные.

Реляционная БД — это такой тип баз данных, содержащий некоторое количество таблиц.

Две основные характеристики реляционной базы:

  1. Информация лежит в некотором количестве таблиц и распределена по ним по смыслу
  2. Таблицы не существуют независимо друг от друга — они связаны определенными столбцами

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

  • заказы такси;
  • таксисты;
  • клиенты (или пассажиры);
  • автомобили.

Пример реляционной БД такси

На изображении выше изображена реляционная БД бизнеса такси. База данных такси, как видно из рисунка, содержит 4 таблицы, в каждом из которых содержится определенное количество столбцов. Например, таблица «Клиенты» содержит три столбца — «ID клиента», «Телефон клиента» и «Город клиента».

Можно было бы добавить всю информацию по заказам, таксистам, клиентам и автомобилям в одну таблицу, но она получилась бы слишком громоздкой. Анализировать и тем более строить ml модели на основе такой таблицы было бы очень сложно. Поэтому удобно, когда информация располагается в реляционной базе данных, то есть в разных таблицах в зависимости от смысла.

Нереляционная БД. Нереляционные системы баз данных — такие виды баз данных, в которых информация не обязательно находится в виде множества таблиц. В таких типах данные могут быть, например, просто парами «key — value» или графом.

Подробнее о разных типах нереляционных баз — ниже.

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

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

  • Быстродействие. Все нужные данные в большом количестве информации проще найти, когда эти данные лежат в БД. В файлах Excel или Google Sheets искать нужное сложнее.
  • Простота получения и обновления данных. Чтобы добавить или обновить данные в базе, нужно сделать минимум действий.
  • Безопасность. В большинстве БД можно настраивать разные уровни доступа — давать разрешение смотреть таблицы не всем, а только некоторым людям. При этом можно выбирать, разрешать ли пользователю редактировать базу или просто смотреть ее содержимое без возможности редактирования.
  • Многопользовательский доступ. С БД одновременно могут работать несколько человек.
  • Объем хранимых данных. База данных дает возможность сохранять очень большие объемы данных — миллионы различных записей.

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

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

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

База данных — это совокупность множества таблиц, которые связаны между собой.

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

Таблица выглядит как лист в Google Sheets или Excel. Она состоит из определенного количества строк и столбцов. У каждого столбца бывает свое имя. В каждом из столбцов содержатся данные, относящаяся к заголовку столбца.

Запись — это одна строка в таблице в базе данных. Если менеджер добавляет данные нового пассажира или водителя в систему баз данных, то в таблице появляется новая запись.

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

Как получить информацию из БД

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

Как связать данные между собой 

Реляционные базы данных отличаются от других типов данных в том числе тем, что между таблицами в БД есть связи. Чтоб обозначить связи, используются primary key и foreign key.

Primary key — это столбец (или иногда это может быть даже группа столбцов) в таблице с уникальными значениями. На картинке ниже primary key каждой таблицы обозначен светло-зеленым цветом. В верхней таблице, которая хранит заказы такси, каждая строка будет содержать в себе информацию об отдельном заказе со своим уникальным ID. Это означает, что в этой таблице нельзя будет найти две строки, содержащие информацию по одному и тому же заказу с одним и тем же ID.

Foreign key — это такой столбец в таблице, в котором содержится primary key из другой таблицы. На рисунке выше foreign key выделены серым.  ID автомобиля является primary key в таблице с автомобилями, но во всех других таблицах (например, в таблице с таксистами) ID автомобиля будет являться foreign key.

Выстраивание связей между таблицами не является единственной функцией foreign и primary key. Они также могут помочь контролировать корректность записей в таблицах. Например, если мы хотим добавить запись с новым таксистом в таблицу с таксистами и неправильно написали ID автомобиля, то база данных сообщит об этом. База не найдет соответствующее ID автомобиля в таблице с автомобилями и выдаст сообщение, что где-то произошла ошибка.

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

Существует огромное множество типов баз данных. Наиболее часто используются следующие типы:

  • реляционные,
  • документоориентированные,
  • графовые,
  • колоночные,
  • key-value.

Рассмотрим подробнее каждый из этих видов баз данных.

Реляционные. Как уже писали, реляционная БД состоит из множества таблиц, а между таблицами есть связи.

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

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

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

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

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

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

Самое главный плюс key-value-баз — умение выдать значение по ключу за короткий период времени. При этом, совсем не обязательно, чтоб столбец со значением состоял из какого-то одного определенного типа данных.

Из-за возможности быстрого поиска key-value базы данных часто используют в задачах, когда ответ от базы важно получать в режиме онлайн.

Пример БД key-value

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

Пример проекта, в котором идеально использовать графовые базы данных — обычная социальная сеть такая, как Facebook или VK. Графовая база данных поможет быстро найти всю необходимую информацию не только о том пользователе, которого мы исследуем, но и данные всех его друзей, групп и сообществ.

Столбцовые базы данных. В столбцовые (или иногда еще колоночные) БД данные записывают в столбцы, а не в строки.

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

Примеры использования баз данных

Базы данных сейчас используют почти везде: это один из надежных способов ничего не потерять.

На сайтах все статьи и картинки хранятся в базах данных. Когда пользователь заходит на сайт, контент извлекается из БД.

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

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

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

Аналитик данных: новая работа через 5 месяцев
Получится, даже если у вас нет опыта в IT
Узнать больше

Популярные СУБД

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

В компаниях наиболее популярны такие СУБД:

  • MySQL. Это реляционная СУБД. Ее используют в Google, LinkedIn, Amazon, Meta и других крупных и средних компаниях. MySQL — одна из самых популярных СУБД. Она бесплатная.
  • Oracle. Это объектно-реляционная СУБД. Ее можно быстро установить и запустить, просто настраивать. Лицензия Oracle дорогая, поэтому ее используют только крупные корпорации.
  • PostgreSQL. Это объектно-реляционная СУБД. Она поддерживает большое количество разных языков программирования и типов данных. Для этой СУБД можно использовать существующие расширения или писать собственные. PostgreSQL можно пользоваться бесплатно.
  • MongoDB. Это нереляционная документоориентированная СУБД. Может выдержать сильные нагрузки, можно пользоваться бесплатно.

Коротко о главном

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

Получите пошаговый план развития в карьере после записи на курс

    Оставляя заявку, вы принимаете условия соглашения

    Учёба ради учёбы — это не прикольно. На наших курсах вы ставите конкретные цели и достигаете их в заданные сроки. Начинайте карьеру с первых достижений!

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

    Вставить формулу как
    Блок
    Строка
    Дополнительные настройки
    Цвет формулы
    Цвет текста
    #333333
    Используйте LaTeX для набора формулы
    Предпросмотр
    \({}\)
    Формула не набрана
    Вставить