Что такое база данных и зачем она нужна
Привет! Давай начнём с самого начала 👋
Ты собираешься научиться разговаривать с базами данных на их родном языке — SQL. Это намного проще, чем кажется, и мы пойдём маленькими шагами. Не нужно ничего знать заранее: будем объяснять каждое новое слово простыми словами и на понятных примерах.
В этом самом первом уроке мы даже не будем писать запросы. Сначала разберёмся, что вообще такое «данные» и «база данных» и зачем людям всё это придумали. Когда картинка в голове сложится — писать запросы станет легко.
Что такое данные?
Данные — это просто записанные факты об окружающем мире. Звучит сложно, но ты сталкиваешься с данными каждый день:
- имя и телефон друга в контактах телефона;
- список покупок, который ты пишешь перед магазином;
- номер рейса, дата и время вылета в твоём авиабилете.
Каждый такой факт — это кусочек данных. По отдельности кусочки мало что значат. Но если их аккуратно собрать и разложить по порядку — они превращаются в мощный инструмент.
А что такое база данных?
Представь огромный шкаф с множеством подписанных ящиков. В одном ящике лежат карточки со всеми пассажирами, в другом — со всеми рейсами, в третьем — с билетами. Всё разложено по местам и подписано, поэтому любую карточку можно найти за секунду.
Вот это и есть база данных — место, где данные хранятся не в куче, а строго упорядоченно. А управляет этим шкафом специальная программа — СУБД (система управления базами данных). Она следит за порядком, быстро находит нужное и не даёт данным «перепутаться».
Наша СУБД называется PostgreSQL (читается «постгрес-кью-эл», в народе просто «постгрес»). Это одна из самых популярных и мощных баз данных в мире, и при этом она бесплатная и с открытым кодом. Именно ей пользуются многие крупные компании.
Зачем вообще нужна база данных? Нельзя просто в файле хранить?
Можно — пока данных мало. Но представь, что ты авиакомпания и у тебя миллионы билетов и тысячи рейсов каждый день. В обычном файле ты бы:
- искал нужный билет вечность;
- легко бы что-нибудь случайно стёр или продал одно место дважды;
- не смог бы работать, когда сто человек одновременно покупают билеты.
База данных решает всё это: она быстро ищет, бережёт данные от ошибок и спокойно обслуживает множество людей одновременно.
При чём тут SQL?
Чтобы попросить у базы данных что-нибудь — например, «покажи все рейсы в Сочи на завтра» — нужен общий язык. Этот язык называется SQL (Structured Query Language — «язык структурированных запросов»). Ты пишешь короткую фразу на SQL, отправляешь её базе, и она возвращает ответ. Весь курс мы будем учиться составлять такие фразы — от самых простых до довольно хитрых.
На чём будем тренироваться
Чтобы учиться было интересно, мы возьмём настоящую учебную базу данных «Авиаперевозки». В ней живут самолёты, аэропорты, рейсы, билеты, пассажиры и брони — как у настоящей небольшой авиакомпании. Прямо в браузере ты будешь писать запросы и сразу видеть результат — ничего устанавливать не нужно.
💡 Главное на старте: база данных — это упорядоченное хранилище данных, СУБД (у нас PostgreSQL) им управляет, а SQL — это язык, на котором мы у базы что-то спрашиваем. Всё остальное — детали, которые мы разберём шаг за шагом.
В следующем блоке мы заглянем внутрь «ящика» и узнаем, как именно данные раскладываются по таблицам, строкам и столбцам. Поехали! 🚀
Заглянем внутрь ящика: таблицы, строки и столбцы
Мы выяснили, что база данных — это шкаф с подписанными ящиками. Теперь откроем один такой ящик и рассмотрим его устройство. В мире баз данных «ящик» называется таблицей.
Таблица очень похожа на обычную таблицу из тетрадки в клеточку или из Excel: у неё есть строки (горизонтальные ряды) и столбцы (вертикальные колонки). Давай посмотрим на настоящую таблицу из нашей базы «Авиаперевозки» — таблицу самолётов airplanes:
Строка — это один объект
Каждая строка (её ещё называют записью) описывает один объект целиком. В таблице airplanes одна строка — это один самолёт: например, «Boeing 777-300, дальность 11100 км, скорость 905 км/ч». Сколько в таблице строк — столько у нас и самолётов.
Столбец — это одно свойство
Каждый столбец (его ещё называют полем или атрибутом) хранит одно и то же свойство у всех объектов. В airplanes четыре столбца:
airplane_code— короткий код самолёта (например,773);model— название модели (Boeing 777-300);range— дальность полёта в километрах;speed— крейсерская скорость в км/ч.
Важная деталь: у каждого столбца есть тип данных — он определяет, что в столбец можно класть. В range и speed хранятся числа, а в model — текст. Положить слово в числовой столбец база просто не разрешит — так она защищает данные от мусора. Про типы данных у нас будет отдельный урок.
Первичный ключ — «паспорт» строки
Посмотри на столбец airplane_code — он выделен особо. Это первичный ключ (по-английски PRIMARY KEY). Так называют столбец, значение которого уникально для каждой строки и не повторяется. Это как номер паспорта: по нему можно безошибочно найти ровно одного человека.
Зачем это нужно? Представь, что в базе два самолёта с одинаковым названием. Как понять, о каком из них речь? А по коду 773 — всегда понятно: он один такой. Первичный ключ не даёт строкам «слиться» и позволяет ссылаться на конкретную строку из других таблиц (об этих связях поговорим позже).
💡 Запомним три слова: таблица — это ящик с данными об объектах одного вида; строка — один объект; столбец — одно свойство всех объектов. А первичный ключ — это столбец-«паспорт», уникальный у каждой строки.
Отлично, с устройством таблицы разобрались! В следующем уроке познакомимся с самим языком SQL — узнаем, как именно мы будем «спрашивать» у базы данные. 🛫