CHATGPT_SQL_NOSQL-3.png

<aside> 📌

Началось всё с того, что я начал описывать ответ на вопрос “Чем отличаются SQL от NoSQL Баз Данных” для своих учеников. Через два часа стало понятно, что это переваливает за пару экранов, а я только начала про SQL и надо это полотно выносить в отдельную статью. А ещё позже я решил, что этим стоит поделиться публично и вот мы здесь.

</aside>

Содержание


1. SQL (Реляционные БД)

Скованные одной цепью,

Связанные одной целью.

— Nautilus Pompilius

И первый вопрос, который возник в моей голове: почему между терминами SQL и Реляционный ставится знак равно?

SQL (Structured Query Language) — структурированный язык запросов. С его помощью мы описываем какие операции хотим выполнить с данными.

Реляционный (Relational) с английского означает связь или соотношение. Это тип БД, который представляет данные как таблицы, имеющие связь между собой.

Давай посмотрим на пример простой структуры реляционной базы данных из 3 таблиц.

https://sql-academy.org/ru/guide/relation-databases

https://sql-academy.org/ru/guide/relation-databases

Видишь линии между таблицами? Это и есть реляционность, то есть связность. Данные из одной таблицы мы можем связать с данными из другой. Таким образом имея таблицу Покупателей и таблицу Товаров, мы можем создать ещё одну таблицу, в которой будет перечислено какой покупатель купил тот или иной ****товар. И вот мы получаем взаимосвязи между данными.

Ага, окей, наверное SQL используется только в Реляционных Базах Данных и потому между ними и ставят знак равно?

“Бинго!” — ответил бы я в 1980-x.

Историческая справка

Сначала БД не было и данные хранили в “плоском” виде. Ты прямо сейчас можешь переместиться в то время, открыв текстовый редактор. Вот как-то так примерно и выглядели базы данных, с оговоркой, что 50-е и 60-е не было такой программы, как блокнот или vim и для хранения данных использовали перфокарты. Фраза “хранили в плоском виде” заиграла новыми красками, да?

Примерно так выглядели перфокарты, по мнению Sora

Примерно так выглядели перфокарты, по мнению Sora

Затем для проекта NASA “Аполлон” в 1966 году компания IBM разработала иерархическую СУБД IBM IMS (Information Management System). Данная база устроена по принципу РодительПотомок. То есть древовидная структура взаимосвязей данных.

Hierarchy.jpg