Для чего предназначены базы данных
В жизни мы нередко сталкиваемся с необходимостью собрать в одном месте однотипную информацию. Например:
пятиклассник Арсений учит японский язык и записывает новые слова на карточках: с одной стороны — японское слово, с другой — перевод на русский;
бабушка Валя собирает понравившиеся ей рецепты в бумажную тетрадку;
предприниматель Степан ведёт учёт товаров, которые закупил для своего магазина, и покупок, которые совершили в его магазине клиенты.
Если информации относительно немного и пользуется ей один человек, как в случае с бабой Валей и Арсением, то хранить её в бумажном виде вполне удобно. А вот для предпринимателя такой формат не очень-то удобен, и вот почему:
невозможно предоставить одновременный доступ к информации разным сотрудникам (например, бухгалтеру и менеджеру по продажам);
трудно отследить, у кого есть доступ к данным и кто может вносить в них изменения;
невозможно или очень трудозатратно искать взаимосвязи между данными: например, найти все заказы одного и того же клиента или рассчитать, как сезонность повлияла на спрос.
Напрашивается очевидное решение: оцифровать данные. Например, создать таблицу в Google Sheets и записывать на одном её листе информацию о закупках, на другом — о продажах. Тогда несколько человек смогут просматривать информацию одновременно, и можно частично решить проблему с безопасностью: выдать доступ к таблице только на имейлы сотрудников. Искать и обрабатывать информацию также станет проще, если использовать для этого встроенные инструменты таблиц: поиск и формулы.
Однако, если бизнес Степана будет развиваться, скоро данным станет тесно в Google-таблице. Таблица с таким большим количеством строк будет долго грузиться и тормозить. К тому же Степан не застрахован, например, от того, что его менеджер по продажам просто скопирует таблицу со всеми данными клиентов к себе на диск и продаст конкуренту.
Тут мы и подходим к такому удобному инструменту хранения информации, как база данных.
База данных (БД) — это упорядоченный набор информации, который хранится в электронном виде.
База данных на самом деле очень похожа на ту же гугл-таблицу, но, в отличие от неё, заточена под хранение больших объёмов данных, обеспечение доступа к этим данным многим пользователям одновременно, шифрование чувствительной информации и наличие взаимосвязей между данными.
Базы данных обычно живут на серверах — мощных компьютерах, постоянно подключённых к сети для бесперебойного доступа разных пользователей к данным.
Где и для чего применяют базы данных
Сказать, что базы данных используют повсеместно, не будет преувеличением. Вот лишь несколько примеров использования БД в разных областях.
Интернет-магазины. Выше мы уже коснулись того, для чего нужны базы данных в бизнесе. Как правило, магазинам нужны как минимум две БД: одна — с информацией о товарах, их комплектации, моделях, ценах и т. п.; другая — с данными о покупателях: Ф. И. О., адресами, платёжной информацией, историей покупок.
Государственные учреждения и сервисы. Национальное бюро кредитных историй, Федеральная налоговая служба, Федеральная миграционная служба и другие государственные организации хранят гигантские объёмы данных о гражданах страны. Благодаря тому, что сегодня эти данные хранятся в электронном виде, а не в бумажных архивах, любой гражданин может оперативно получить нужную ему справку.
Отделы кадров. Пока компания маленькая, информация об отпусках, зарплатах и номерах СНИЛС сотрудников может храниться в эксельке на рабочем столе руководителя. Но когда в штате тысячи человек, это становится неудобно, да и небезопасно, — и на помощь приходят базы данных.
Социальные сети. Любая соцсеть, вроде «ВКонтакте», хранит в своей базе то, что пользователи указали о себе в профиле — дату рождения, интересы, список друзей. А может хранить и другую информацию, например, предполагаемый доход или категории постов, которым вы более вероятно поставите лайк.
Офлайн-бизнесы. Если у вас есть карта любимого магазина или кофейни — значит, информация о вас есть в их базе данных. Там хранится история покупок, начислений и списаний баллов, контактные данные для маркетинговых рассылок и т. п.
Информационные сайты. В базе данных блога или онлайн-журнала хранятся тексты постов, данные об авторах, датах публикации, категориях, комментариях и комментаторах.
Картографические сервисы. Карты и справочники вроде 2GIS или Google Maps хранят в своих базах данных координаты населённых пунктов, улиц и домов, а также информацию об организациях.
Медиахранилища и стриминги. У любого стримингового сервиса, от «Кинопоиска» до «Сберзвука», есть своя база данных: об авторах песен и актёрах фильмов, о пользователях, их интересах и историях просмотра.
Получи больше пользы от Skysmart:
-
Научись программировать на курсах разработки.
-
Выбирай из 130+ наставников по программированию.
Записывайся на бесплатные курсы для детей.
Кто создаёт базы данных
Структуру баз данных продумывают системные администраторы и разработчики на начальных этапах жизни проекта. Они собирают требования с конечных клиентов и проектируют такую систему БД, которая отвечала бы задачам проекта, была гибкой и масштабируемой.
Кроме того, в большинстве сфер есть возможность использовать всё, что даёт база данных, в рамках готового решения. Например, начинающий предприниматель может установить для работы программу 1С, которая уже включает в себя готовую систему БД. А начинающий блогер — создать сайт на Wordpress и не думать о настройке базы данных для своего сайта, ведь разработчики CMS о ней уже позаботились.
Конечные пользователи приложений постоянно взаимодействуют с базами данных, сами того не замечая: например, когда вы оставляете комментарий в блоге или делаете заказ в интернет-магазине, то создаёте новую запись в базе данных этих сайтов.
Реляционные и нереляционные базы данных
Существует много классификаций баз данных по разным признакам, но в рамках этой статьи мы остановимся только на различиях между реляционными и нереляционными БД.
Реляционные базы данных также называют SQL-базами — по названию языка, на котором с ними общаются программисты. SQL расшифровывается как Structured Query Language — структурированный язык запросов. Выше мы сравнивали БД с электронными таблицами — так вот, в SQL-базах данные хранятся в отдельных сущностях, которые так и называются — таблицы. Особенностью реляционных БД является то, что данные в разных таблицах могут быть связаны между собой. Отсюда и название: английское relation означает «связь».
Так, в контексте БД интернет-магазина мы можем связать таблицу, в которой хранятся данные о заказах, с таблицей, которая содержит данные о покупателях. Тогда, во-первых, нам не придётся дублировать информацию в обе таблицы сразу — например, об адресе доставки. А во-вторых, мы сможем при необходимости выгрузить из БД информацию обо всех заказах одного покупателя.
Упрощённый пример реляционной базы данных
Нереляционные базы данных, они же NoSQL, хранят информацию по-другому: например, в виде графов или пар «ключ-значение». В них связи между записями не предусмотрены. Такой способ хранения информации удобен, если набор данных изначально слабо структурирован или его развитие трудно прогнозировать. Наиболее популярные БД такого типа — MongoDB и Apache Cassandra.
Упрощённый пример БД вида «ключ-значение»
Существуют и другие типы баз данных — разработчики проекта выбирают тот или иной тип в зависимости от задач, которые планируют решать с помощью БД.
Связанные термины
Отвечая на вопрос, что называется базой данных, мы уже говорили о том, что это просто структурированный набор информации. Чтобы работать с этой информацией: вносить изменения в БД, просматривать записи, разграничивать уровни доступа и т. п., нужно специальное программное обеспечение, которое называется СУБД — система управления базой данных.
Совокупность баз данных и СУБД, которая ими управляет, называется системой баз данных.
Например, файлы employees.mdb и products.mdb на сервере организации — это базы данных о сотрудниках и производимых товаров. Программа Microsoft Access, с помощью которой сисадмин загружает и обновляет информацию в базах данных — это СУБД. А совокупность баз данных employees.mdb, products.mdb и программы Microsoft Access, которую используют для взаимодействия с ними сисадмины — это уже система баз данных.
Защита баз данных
В базах данных нередко хранится чувствительная информация: логины и пароли, номера банковских карт, домашние адреса, размеры зарплаты и т. п. А значит, нужно обеспечить их защиту. В противном случае может произойти утечка данных. Вы могли слышать о громких случаях, когда в сеть попадали данные пользователей популярных онлайн-сервисов — речь как раз идёт об утечке информации из БД.
Чтобы защитить данные в БД, используют такие способы:
Шифрование чувствительных данных. Например, если нам нужно сохранить пароль юзера, мы можем его зашифровать и сохранить в БД уже в зашифрованном виде. При этом ключ, который нужен для расшифровки пароля, мы будем хранить в другом месте. Теперь, даже если злоумышленник получит доступ к БД с паролями, без ключей эта информация будет бесполезна (хотя у хакеров есть приёмчики, чтобы расшифровать наиболее простые и популярные пароли, но это уже тема для отдельной статьи).
Разграничение прав доступа. Это значит, что разным категориям пользователей БД доступны разные права. Например, кадровик может прочитать из БД информацию о сотруднике, но не может изменить её — такие права есть только у сисадмина. Или менеджер по продажам может видеть информацию о тех клиентах, которых привёл сам, но не может посмотреть всех клиентов компании, а значит, не сольёт эти данные конкуренту.
В этой статье мы познакомились с тем, что такое база данных в информатике и программировании. Ещё больше актуальных знаний из мира IT — на курсах программирования для детей и подростков в онлайн-школе Skysmart Pro. Здесь можно научиться создавать свои сайты, игры и приложения, прокачать компьютерную грамотность и цифровую безопасность или подготовиться к экзаменам по информатике. Приходите на бесплатный вводный урок, чтобы определиться с подходящим направлением обучения.