Вводный курс
10 модулей
5 недели

База данных

Скопировать

Введение в базы данных


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

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

SQL

В СУБД (Система Управления Базами Данных) для управления данными с реляционной моделью используется язык SQL.

SQL - Structured Query Language (Язык структурированных запросов). Это декларативный язык, и это означает, что его команды описывают только необходимое действие (найти данные, удалить их, изменить), а каждая СУБД уже сама решает, как именно его выполнить.

Существует множество различных реляционных СУБД. В числе самых распространенных можно назвать Oracle, MySQL, MS SQL, PostgreSQL. Кстати, AppMaster использует именно PostgreSQL, а это означает, что используется современная продвинутая СУБД, которая работает в огромном количестве различных организаций и к тому же является свободным ПО (то есть за использование не нужно платить дополнительных денег).

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

NoSQL

При этом существует и альтернативный подход. Нереляционные базы данных, или NoSQL. Стоит заметить, что No в данном случае является не отрицанием “нет”, а аббревиатурой от Not only. То есть “Не только SQL”.

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

Они не требуют однозначно определенной структуры хранения данных. Сами данные хранятся в них уже не в виде строгих таблиц, а в виде объектов с произвольным набором атрибутов (примерно так же, как JSON). Это может быть актуально при работе с данными, чья структура подвержена частым изменениям.

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

В качестве примера NoSQL СУБД можно назвать MongoDB и Redis.

Was this article helpful?
Все еще ищете ответ?
Cообщество