Вводная лекция.

05.09.2025 Обновлено: 05.09.2025

Лекция 1. Вводная лекция

Почему PostgreSQL?

  • Популярность — большое сообщество, много документации и готовых решений.
  • MS SQL Server ушёл из России — миграция на PostgreSQL стала практической необходимостью для многих компаний.
  • Open source — бесплатный и с открытым исходным кодом.
  • Лёгкость запуска на любом устройстве — в отличие от MS SQL Server, который тяжело запустить где-то кроме Windows.
  • Нетребовательна к ресурсам — MS SQL Server не запустить на сервере с 2 ГБ ОЗУ, в то время как PostgreSQL может работать даже в очень скромных условиях (условно, от ~16 МБ).

Правила курса

  • Сервера с mock-данными для практики.
  • Методичка (ликбез по SQL).

Защита лабораторных работ

  • Тестовый запрос, который вы не видели, — пишете его за отведённое время.
  • 5 минут на запрос: если корректен — сдали.
  • Пары дробятся на слоты по 25 минут.
  • Запись через Telegram-бота (или Google-таблицу, если не успеют).
  • Приходим ко времени, есть ~20 минут на написание теста.

Дедлайны

Жёстких дедлайнов нет — только мягкие, со снятием баллов:

  • Сдал вовремя — полный балл.
  • Не сдал — штрафы по арифметической прогрессии (-1, -1, -2, -3, …).
  • Сдавать желательно равномерно: количество людей на слот ограничено.

Распределение баллов

КомпонентБаллы
Лабораторные работы60
Рубежное тестирование20 (диапазон может меняться, обсуждается)
Экзамен20

Рубежка одна, поэтому баллы могут перераспределить (например, 10 на рубежку и 30 на экзамен).

Разбалловка лаб

6 + 8 + 10 + 12 + 12 + 12

  • Лабы 1 и 2 идут вместе.
  • Лабы 3 и 4 — скорее всего, тоже вместе.
  • Освободившиеся «лабы» могут уйти на другие СУБД, например MongoDB.

Полезная ссылка: https://info.sqlwars.ru


Что такое данные?

  • Данные — нет контекста, нет осмысленности. Своего рода «атомы» — измеряются в байтах.
  • К данным добавляется контекст — получается информация.
  • Знания — субъективное понятие: по одной и той же информации каждый делает свой вывод.

Данные — ресурс. Информация — продукт. Знания — сила.

База данных

Аналогия с библиотекой:

  • Книги — данные.
  • Полки и каталоги — структура базы данных.
  • Библиотекарь — Система Управления Базами Данных (СУБД).

Какую структуру данных лучше использовать? — всё зависит от специфики данных.

База данных — это компонент информационной системы.

Почему бы не писать просто в файл?

  • Безопасность. Если есть доступ к ОС, к файлу легко добраться напрямую.
  • Дубликаты. Как исключить повторы? Сложно и долго.
  • Плюс отсутствие транзакционности, многопользовательского доступа, индексов и т.д.

Требования к БД

  • Структура.
  • Целостность.
  • Многопользовательский доступ (в т.ч. параллельный).
  • Безопасность — даже при доступе к системному уровню данные защищены.
  • Язык запросов — более-менее одинаков для всех БД (SQL).

Нас не интересует, что под капотом у СУБД. Мы говорим, что нужно сделать, а как — это её забота.

Модель данных

Архитектурный «чертёж» будущего здания, где кирпичи — это данные.

Формальное описание того, как мы будем хранить данные, как они связаны между собой и какие у них правила (ограничения).

Уровни моделирования

  • Концептуальный уровень
    • Сущности и связи.
    • Модель для общения с заказчиками.
  • Логический уровень
    • Для реляционной модели: проектирование без привязки к конкретной СУБД.
  • Физический уровень
    • На какие диски будут положены данные?
    • Какие индексы создать для ускорения поиска?
    • Как партиционировать данные?

Реляционные базы данных

Виды связей:

  • one-to-one
  • one-to-many
  • many-to-one
  • many-to-many

Избыточность приемлема ради оптимизации.