С чего вообще всё начинается
Давай договоримся сразу: чтобы начать писать SQL, тебе не нужно знать ни одной формулы и ни одного умного слова. Тебе нужно понять всего четыре простые вещи — что такое база данных, таблица, строка и столбец. Всё. После этого ты уже сможешь доставать данные.
Скорее всего, ты уже видел что-то очень похожее на базу данных — например, таблицу в Excel или в Google Таблицах. Если видел — считай, что половину этого урока ты уже знаешь, просто называл вещи другими словами. Давай свяжем знакомое с новым.
База данных — это просто место, где живут данные
Представь обычную электронную таблицу: сверху строка с названиями колонок, ниже — ряды с данными. Один лист — список клиентов, другой лист — список заказов. Файл целиком, со всеми листами, можно мысленно назвать “хранилищем данных”.
База данных — это ровно такое хранилище, только устроенное надёжнее и рассчитанное на то, что в нём будут копаться сразу много людей и программ. Внутри неё лежат таблицы — это как отдельные листы в Excel-файле. Каждая таблица хранит один тип вещей: таблица клиентов хранит клиентов, таблица заказов — заказы.
Слева привычный Excel, справа то же самое словами базы данных.
Видишь? Это одни и те же понятия, просто на двух языках. Дальше мы будем говорить на языке справа — именно его понимает SQL.
Таблица: строки и столбцы
Давай разберём одну таблицу подробно. Возьмём таблицу клиентов — по-английски она называется customers (так мы и будем её звать в запросах).
В таблице две оси:
- Столбец (column) — это одно свойство, которое мы храним про каждого клиента. Например: имя, страна, email, год рождения. У всех клиентов набор свойств одинаковый — у каждого есть имя, у каждого есть страна. Столбцы — это как раз шапка таблицы, заголовки колонок.
- Строка (row) — это одна запись, то есть один конкретный клиент целиком. В строке собраны значения всех столбцов для этого одного человека: его имя, его страна, его email.
Проще всего запомнить так: столбцы — это вопросы (“как зовут?”, “из какой страны?”), а каждая строка — это один человек со всеми ответами на эти вопросы.
Шапка -- это столбцы (свойства). Каждый ряд под ней -- строка (один клиент).
Посмотри на эту картинку и проговори про себя: вот строка 2 — это один человек, John Smith из США. Вот столбец country — это свойство “страна”, оно есть у всех трёх клиентов. На пересечении строки и столбца стоит одно конкретное значение — например, страна Джона это US. Эту клеточку называют ячейкой (cell), как и в Excel.
Каждый столбец обычно хранит данные одного вида: в full_name лежат тексты (имена), в birth_year — числа (годы). В id лежит уникальный номер клиента — такой “табельный номер”, по которому одного человека всегда можно отличить от другого, даже если их зовут одинаково.
А что такое СУБД и при чём тут PostgreSQL
Excel-файл сам по себе ничего не делает — его открывает и показывает программа Excel. С базами данных так же: сами данные где-то лежат, а управляет ими отдельная программа. Её называют СУБД — система управления базами данных (по-английски DBMS). СУБД отвечает на запросы: “дай мне всех клиентов из России”, “добавь нового клиента”, “посчитай, сколько всего заказов”.
PostgreSQL (часто говорят просто “Постгрес”) — это одна из самых популярных СУБД в мире. Бесплатная, надёжная, её используют огромные компании. Именно с ней мы и будем работать в этом курсе. Тебе пока не нужно ничего про неё знать, кроме одного: это та программа, которая будет понимать твои SQL-запросы и отдавать ответы.
Запомни короткую цепочку: данные лежат в таблицах -> таблицы лежат в базе данных -> базой данных управляет СУБД (у нас это PostgreSQL) -> ты задаёшь ей вопросы на языке SQL. Всё, что будет дальше в курсе — это просто как правильно задавать эти вопросы.
Зачем вообще нужен отдельный язык
Можно спросить: если это так похоже на Excel, почему нельзя просто кликать мышкой по фильтрам? Можно — пока строк сотня. Но настоящие базы данных хранят миллионы и миллиарды строк, и кликать по ним мышкой бессмысленно. Поэтому придумали короткий язык, на котором человек одной фразой говорит, чего хочет, а СУБД сама бежит по всем строкам и приносит ответ.
Этот язык называется SQL (произносят “эс-кью-эль” или “сиквел”). Слова в нём почти английские: SELECT — “выбери”, FROM — “из”, WHERE — “где (при условии)”. Запрос “выбери всё из таблицы клиентов” пишется почти по-английски: SELECT * FROM customers. Звёздочка * означает “все столбцы”. Не пугайся, если выглядит непривычно — в следующих уроках ты напишешь это сам и сразу увидишь результат.
Что важно унести из этого урока
- База данных — это надёжное хранилище данных, как Excel-файл, только серьёзнее.
- Внутри неё лежат таблицы — как отдельные листы; каждая хранит один тип вещей.
- Строка — это одна запись (один клиент целиком). Столбец — это одно свойство (имя, страна, email), общее для всех записей.
- СУБД — программа, которая управляет данными и отвечает на запросы; PostgreSQL — конкретная популярная СУБД, с которой мы работаем.
- SQL — короткий язык, на котором ты задаёшь базе вопросы.
В следующем уроке мы откроем песочницу прямо в браузере и убедимся, что ничего страшного не происходит — ты просто нажмёшь кнопку и увидишь данные.