Модуль 00 — Введение в базы данных и SQL

Что такое реляционная база данных, зачем нужен SQL и как настроить рабочее место

Прогресс курса Модуль 1 из 9

Что вы освоите в этом модуле

01

Что такое реляционная база данных

База данных — это организованное хранилище данных. В реляционной базе данных (РБД) данные хранятся в виде таблиц, связанных между собой.

Ключевые понятия

  • Таблица (отношение) — набор строк одинаковой структуры. Например, таблица пользователей.
  • Строка (запись, кортеж) — один объект: один пользователь, один пост.
  • Столбец (атрибут, поле) — один признак объекта: имя, возраст, город.
  • Первичный ключ (Primary Key, PK) — уникальный идентификатор строки. Не может быть NULL и не повторяется.
  • Внешний ключ (Foreign Key, FK) — ссылка из одной таблицы на первичный ключ другой. Обеспечивает связи между таблицами.
  • Ограничение (Constraint) — правило целостности данных (NOT NULL, UNIQUE, CHECK и др.).
Реляционная модель была предложена Эдгаром Коддом в 1970 году. Почти все современные СУБД — реляционные: PostgreSQL, MySQL, Oracle, SQL Server, SQLite.
02

Что такое SQL и его подмножества

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

Подмножества SQL

  • DQL (Data Query Language) — выборка данных: SELECT
  • DML (Data Manipulation Language) — изменение данных: INSERT, UPDATE, DELETE
  • DDL (Data Definition Language) — определение структуры: CREATE, ALTER, DROP
  • DCL (Data Control Language) — управление доступом: GRANT, REVOKE
  • TCL (Transaction Control Language) — управление транзакциями: COMMIT, ROLLBACK

В этом курсе вы освоите все подмножества — от SELECT до триггеров.

03

Выбор СУБД и инструментов

Все примеры курса написаны для PostgreSQL — одной из самых мощных и популярных open-source СУБД. Большинство запросов работают в MySQL, SQLite и других СУБД с минимальными изменениями.

Варианты для работы

  • PostgreSQL + DBeaver — локальная установка, бесплатный клиент с удобным GUI. Рекомендуется.
  • PostgreSQL + pgAdmin — официальный клиент от сообщества PostgreSQL.
  • SQLiteOnline / DB Fiddle — онлайн-тренажёры, не нужно ничего устанавливать. Подходит для старта.
  • Neon / Supabase — бесплатный PostgreSQL в облаке, доступен через браузер.
Если не хотите устанавливать PostgreSQL локально — используйте db-fiddle.com и выберите PostgreSQL. Вставьте содержимое файла socialnet_db.sql в левое окно и запускайте любые примеры курса.
04

Учебная база данных — «Социальная сеть»

На протяжении всего курса мы работаем с базой данных небольшой социальной сети. Это 5 связанных таблиц:

Схема базы данных

users
idinteger PK
namevarchar
ageinteger
gendervarchar
cityvarchar
communities
idinteger PK
namevarchar
ratingnumeric(3,1)
posts
idinteger PK
community_idFK → communities
titlevarchar
scoreinteger
views
idinteger PK
user_idFK → users
community_idFK → communities
viewed_atdate
likes
idinteger PK
user_idFK → users
post_idFK → posts
liked_atdate

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

Примерные данные в таблицах

  • Пользователи: Andrey, Anna, Denis, Dmitriy, Kate, Irina и другие из разных городов России
  • Сообщества: TechTalks, GamersHub, PhotoWorld, TravelDiaries, FoodLovers, SportLife
  • Посты: tutorial-контент, review-обзоры, guide-инструкции — с оценкой вовлечённости (score)
  • Данные о просмотрах и лайках — январь–февраль 2026
05

Первый запрос

Убедитесь, что подключение работает, выполнив простой запрос:

SELECT 'Hello, SQL!';

Чтобы посмотреть все строки таблицы:

SELECT * FROM communities;
SELECT * FROM users;
SELECT * FROM posts;
SELECT * на больших таблицах в продакшне — плохая практика. Для обучения — нормально. В реальных задачах явно перечисляйте нужные столбцы.

Ключевые выводы модуля

Запомните главное

  • SQL — декларативный язык: вы говорите что хотите, а не как это получить
  • Таблица — набор строк одинаковой структуры; строки связываются через PK/FK
  • 5 подмножеств SQL: DQL, DML, DDL, DCL, TCL — каждое для своей задачи
  • Учебная база: 5 таблиц — users, communities, posts, views, likes
  • SELECT * — только для изучения; в продакшне явно перечисляйте столбцы
Практические задания — на учебном портале. Задания, критерии оценивания, сдача работ и оценки преподавателя — в курсе на portal.nevabit.ru. Учётную запись выдаёт преподаватель.
Все модули Модуль 01: SELECT и множества