Learning Platform
Урок 02.01 · 12 мин
Начальный
sqlосновы

С чего вообще всё начинается

Давай договоримся сразу: чтобы начать писать SQL, тебе не нужно знать ни одной формулы и ни одного умного слова. Тебе нужно понять всего четыре простые вещи — что такое база данных, таблица, строка и столбец. Всё. После этого ты уже сможешь доставать данные.

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

База данных — это просто место, где живут данные

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

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

Excel-файл и база данных -- одно и то же на пальцах

Слева привычный Excel, справа то же самое словами базы данных.

Excel-файлвсё хранилище
лист 'Клиенты'список клиентов
лист 'Заказы'список заказов
строка на листеодин клиент
колонка на листеодно свойство
база данныхвсё хранилище
таблица customersсписок клиентов
таблица ordersсписок заказов
строка (row)один клиент
столбец (column)одно свойство

Видишь? Это одни и те же понятия, просто на двух языках. Дальше мы будем говорить на языке справа — именно его понимает SQL.

Таблица: строки и столбцы

Давай разберём одну таблицу подробно. Возьмём таблицу клиентов — по-английски она называется customers (так мы и будем её звать в запросах).

В таблице две оси:

  • Столбец (column) — это одно свойство, которое мы храним про каждого клиента. Например: имя, страна, email, год рождения. У всех клиентов набор свойств одинаковый — у каждого есть имя, у каждого есть страна. Столбцы — это как раз шапка таблицы, заголовки колонок.
  • Строка (row) — это одна запись, то есть один конкретный клиент целиком. В строке собраны значения всех столбцов для этого одного человека: его имя, его страна, его email.

Проще всего запомнить так: столбцы — это вопросы (“как зовут?”, “из какой страны?”), а каждая строка — это один человек со всеми ответами на эти вопросы.

Таблица customers: строки и столбцы

Шапка -- это столбцы (свойства). Каждый ряд под ней -- строка (один клиент).

столбецid
столбецfull_name
столбецcountry
столбецemail
строка 11
Анна Соколова
RU
строка 22
John Smith
US
строка 33
Liu Wei
CN

Посмотри на эту картинку и проговори про себя: вот строка 2 — это один человек, John Smith из США. Вот столбец country — это свойство “страна”, оно есть у всех трёх клиентов. На пересечении строки и столбца стоит одно конкретное значение — например, страна Джона это US. Эту клеточку называют ячейкой (cell), как и в Excel.

Каждый столбец обычно хранит данные одного вида: в full_name лежат тексты (имена), в birth_year — числа (годы). В id лежит уникальный номер клиента — такой “табельный номер”, по которому одного человека всегда можно отличить от другого, даже если их зовут одинаково.

А что такое СУБД и при чём тут PostgreSQL

Excel-файл сам по себе ничего не делает — его открывает и показывает программа Excel. С базами данных так же: сами данные где-то лежат, а управляет ими отдельная программа. Её называют СУБД — система управления базами данных (по-английски DBMS). СУБД отвечает на запросы: “дай мне всех клиентов из России”, “добавь нового клиента”, “посчитай, сколько всего заказов”.

PostgreSQL (часто говорят просто “Постгрес”) — это одна из самых популярных СУБД в мире. Бесплатная, надёжная, её используют огромные компании. Именно с ней мы и будем работать в этом курсе. Тебе пока не нужно ничего про неё знать, кроме одного: это та программа, которая будет понимать твои SQL-запросы и отдавать ответы.

TIP

Запомни короткую цепочку: данные лежат в таблицах -> таблицы лежат в базе данных -> базой данных управляет СУБД (у нас это PostgreSQL) -> ты задаёшь ей вопросы на языке SQL. Всё, что будет дальше в курсе — это просто как правильно задавать эти вопросы.

Зачем вообще нужен отдельный язык

Можно спросить: если это так похоже на Excel, почему нельзя просто кликать мышкой по фильтрам? Можно — пока строк сотня. Но настоящие базы данных хранят миллионы и миллиарды строк, и кликать по ним мышкой бессмысленно. Поэтому придумали короткий язык, на котором человек одной фразой говорит, чего хочет, а СУБД сама бежит по всем строкам и приносит ответ.

Этот язык называется SQL (произносят “эс-кью-эль” или “сиквел”). Слова в нём почти английские: SELECT — “выбери”, FROM — “из”, WHERE — “где (при условии)”. Запрос “выбери всё из таблицы клиентов” пишется почти по-английски: SELECT * FROM customers. Звёздочка * означает “все столбцы”. Не пугайся, если выглядит непривычно — в следующих уроках ты напишешь это сам и сразу увидишь результат.

Что важно унести из этого урока

  • База данных — это надёжное хранилище данных, как Excel-файл, только серьёзнее.
  • Внутри неё лежат таблицы — как отдельные листы; каждая хранит один тип вещей.
  • Строка — это одна запись (один клиент целиком). Столбец — это одно свойство (имя, страна, email), общее для всех записей.
  • СУБД — программа, которая управляет данными и отвечает на запросы; PostgreSQL — конкретная популярная СУБД, с которой мы работаем.
  • SQL — короткий язык, на котором ты задаёшь базе вопросы.
Проверка знанийKnowledge check
Если таблица -- это как лист в Excel, то что в этой аналогии будет одной строкой таблицы customers?
ОтветAnswer
Одна строка -- это одна запись, то есть один конкретный клиент целиком: его имя, страна, email и остальные свойства, собранные вместе. Столбцы (имя, страна, email) -- это свойства, общие для всех клиентов, а строка берёт по одному значению из каждого столбца и описывает одного человека. В Excel это ровно один ряд под шапкой.

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

Проверьте понимание

Результат: 0 из 0
Концептуальный
Вопрос 1 из 3. В аналогии с Excel: чему в базе данных соответствует отдельный лист Excel-файла?

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 3