← К оглавлению занятия

Занятие 16. Summary session 4

📁 Блок: SQL / MySQL / DDL / Views / Повторение ⏱️ Время изучения: ~60 мин 🎯 Сложность: Средняя
#create #drop #view #auto_increment #null #unique #default #check #insert #update #delete #select #set #where

⚡ Кратко: суть темы

Повторение блока «Таблицы и представления». Ограничения, CREATE TABLE, UPDATE, Views и связка Python + SQL + BI.

  • PRIMARY KEY, NOT NULL, UNIQUE, CHECK, DEFAULT — основные ограничения.
  • CREATE TABLE, INSERT, UPDATE — основные DDL/DML команды.
  • CREATE VIEW — виртуальная таблица на основе запроса.

Частая ошибка: забыть WHERE в UPDATE.

📖 Ограничения (constraints)

Ограничения определяют, какие значения можно вводить в столбцы. Основные типы:

ОграничениеНазначениеПример
PRIMARY KEY Уникально идентифицирует каждую строку product_id INT PRIMARY KEY
AUTO_INCREMENT Автоматически увеличивает значение столбца product_id INT AUTO_INCREMENT PRIMARY KEY
NOT NULL Запрещает NULL product_name VARCHAR(100) NOT NULL
UNIQUE Требует уникальности значений email VARCHAR(100) UNIQUE
CHECK Проверяет условие для значений price DECIMAL(8, 2) CHECK (price >= 0)
DEFAULT Значение по умолчанию category VARCHAR(50) DEFAULT 'General'

📖 Создание таблицы

Общий шаблон:

CREATE TABLE TableName (
    Column1 DataType Constraints,
    Column2 DataType Constraints,
    ...
);

Пример таблицы товаров:

CREATE TABLE products (
    product_id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(100) NOT NULL,
    category VARCHAR(50) DEFAULT 'General',
    price DECIMAL(8, 2) CHECK (price >= 0),
    stock_quantity INT CHECK (stock_quantity >= 0),
    supplier_id INT
);

📖 Оператор UPDATE

Изменяет существующие записи. Всегда используйте WHERE:

UPDATE products
SET stock_quantity = stock_quantity - 3
WHERE product_id = 1;

📖 Представления Views

View — виртуальная таблица на основе SQL-запроса:

CREATE VIEW product_overview AS
SELECT
    product_name,
    category,
    price * stock_quantity AS stock_value,
    CASE
        WHEN stock_quantity < 20 THEN 'Low Stock'
        ELSE 'In Stock'
    END AS stock_status
FROM products;

📖 Связь Python, SQL и BI

Современная аналитика строится на связке:

  • Python — сбор, обработка и загрузка данных.
  • SQL / СУБД — хранение, структурирование и выборка.
  • BI-инструменты — визуализация и дашборды.

Views часто используются как слой между базой и BI, чтобы упростить отчёты и скрыть сложность.

📖 Источники данных

Данные обычно попадают в базу не вручную, а через:

  • Веб-формы и пользовательские интерфейсы.
  • API и интеграции между системами.
  • Импорт из файлов (CSV, Excel, JSON, XML).
  • Копирование из других баз данных.