Управление данными в таблице

Автор: Тихонова Алена Валерьевна

Организация: ГАПОУ ЧР «ЧПК им.Н.В.Никольского»

Населенный пункт: г. Чебоксары

Дисциплина (МДК): ОП.08 Основы проектирования баз данных

Тема урока: Управление данными в таблице

Тип урока: Урок комплексного применения знаний

Вид урока: Практикум

Цели занятия:

Обучающая: сформировать умения и навыки выполнения базовых операций манипулирования данными в реляционной базе данных.

Задачи:

  1. Формирование представлений о составе и назначении CRUD-операций.
  2. Формирование умений составлять и выполнять SQL-запросы INSERT, UPDATE, DELETE.
  3. Формирование понимания принципов целостности данных при их изменении.

Развивающая: формирование учебно-познавательных, информационных и технологических компетенций.

Задачи:

  1. Способствовать развитию алгоритмического и логического мышления.
  2. Развитие умений анализировать поставленную задачу, выбирать оптимальный способ её решения и делать выводы.
  3. Развитие умений пользоваться профессиональной терминологией (CRUD, WHERE, целостность данных).

Воспитательные: Формирование компетенции социального взаимодействия и готовности к самообразованию.

Задачи:

  1. Воспитывать внимательность, аккуратность и ответственность при работе с данными.
  2. Воспитывать учебно-познавательный интерес к предмету через решение практико-ориентированных задач.
  3. Формировать осознание ценности получаемых знаний для будущей профессиональной деятельности.

Методы и приемы организации и осуществления учебно-познавательной деятельности обучающихся:

  1. словесные методы – объяснение, беседа, проблемно-поисковые методы;
  2. наглядные методы – метод иллюстрации с использованием компьютера.

Методы контроля и самоконтроля:

устный (фронтальный) опрос, самоконтроль.

Форма организации обучения:

групповая, индивидуальная работа.

Межпредметные связи:

МДК.09.01 Проектирование и разработка веб-приложений

Средства обучения:

Визуальные: мультимедийная презентация

Формируемые ОК, ПК:

ПК 11.3. Разрабатывать объекты базы данных в соответствии с результатами анализа предметной области.

ПК 11.4. Реализовывать базу данных в конкретной системе управления базами данных.

ПК 11.5. Администрировать базы данных.

ОК 1. Выбирать способы решения задач профессиональной деятельности, применительно к различным контекстам.

ОК 2. Осуществлять поиск, анализ и интерпретацию информации, необходимой для выполнения задач профессиональной деятельности.

ОК 4. Работать в коллективе и команде, эффективно взаимодействовать с коллегами, руководством, клиентами.

ОК 9. Использовать информационные технологии в профессиональной деятельности.

Ход занятия (этапы и части занятия)

  1. Организационный момент (2 мин.)
  2. Актуализация опорных знаний (8 мин.)
  3. Изучение нового материала (75 мин.)
  4. Рефлексия занятия (5 мин.)

Оборудование: компьютер, мультимедийный проектор

Информационное обеспечение

Основные источники информации

  1. Федорова, Г.Н. Основы проектирования баз данных: учебник для студ. учреждений сред. проф. Образования / Г.Н. Федорова. – 2-е изд., стер. – М. : Издательский центр «Академия», 2018. – 224 с.

Результатом занятия должно стать, что обучающиеся знают:

  1. основы типов моделей данных;
  2. основные понятия реляционной базы данных;
  3. особенности реляционной модели.

 

В результате занятия обучающийся должен:

Знать:

• Синтаксис SQL-команд INSERT, UPDATE, DELETE.

• Понятие условия WHERE и его обязательность для операций модификации и удаления.

• Основные принципы обеспечения целостности данных (в частности, ограничения внешнего ключа).

Уметь:

• Составлять и выполнять SQL-запросы для добавления новых записей в таблицу.

• Составлять и выполнять SQL-запросы для изменения существующих данных.

• Составлять и выполнять SQL-запросы для безопасного удаления записей с учетом целостности данных.

Применять:

• Полученные умения для наполнения и модификации базы данных в рамках практического задания.

I. ОРГАНИЗАЦИОННЫЙ МОМЕНТ (2 минуты)

Действия преподавателя:

  1. Приветствие студентов, проверка готовности аудитории и технических средств
  2. Отметка отсутствующих в журнале
  3. Создание рабочей атмосферы и позитивного настроя на занятие
  4. Краткое представление темы и плана занятия

Речь преподавателя:

«Добрый день, уважаемые студенты! Сегодня мы приступаем к изучению одной из ключевых тем в работе с базами данных — операциям редактирования, добавления и удаления записей. Эти навыки являются фундаментальными для вашей будущей профессии программиста. Давайте настроимся на продуктивную работу и активное участие в занятии.»

II. ЭТАП АКТУАЛИЗАЦИИ ОПОРНЫХ ЗНАНИЙ (8 минут)

Форма проведения: Фронтальный опрос с элементами проблемной беседы

Вопросы для актуализации знаний:

  1. «Что такое реляционная база данных и из каких основных элементов она состоит?»
  2. «Какие операции с данными мы уже умеем выполнять? Вспомните команду SELECT.»
  3. «Представьте ситуацию: в интернет-магазин поступил новый товар. Как мы должны отразить это в базе данных?»
  4. «Что произойдет, если клиент изменит свои личные данные в личном кабинете? Как это отразится в БД?»
  5. «С какими типами данных в SQL мы уже знакомы?»

III. ИЗУЧЕНИЕ НОВОГО МАТЕРИАЛА (75 минут)

Часть 1: Введение в тему

Действия преподавателя:

  1. Формулировка темы, целей и задач занятия
  2. Объяснение практической значимости темы для будущей профессии
  3. Демонстрация реальных примеров применения CRUD-операций

Мотивационная беседа:
«Представьте, что вы разрабатываете социальную сеть. Каждый день пользователи регистрируются, публикуют посты, редактируют профили, удаляют устаревшую информацию. Все эти действия — суть CRUD-операций. Сегодня мы научимся профессионально управлять этими процессами.»

Часть 2: Теоретический блок

Организация работы:

  • Лекция с использованием мультимедийной презентации
  • Демонстрация синтаксиса SQL-команд на проекторе
  • Интерактивное обсуждение примеров
  • Ведение конспектов студентами

Методические приемы:

  • Чередование теории и практических примеров
  • Использование аналогий (библиотека → база данных)
  • Акцент на типичных ошибках и способах их предотвращения

Часть 3: Практическая работа

Организация практикума:

  1. Инструктаж по технике безопасности
  2. Демонстрация выполнения заданий
  3. Самостоятельная работа студентов
  4. Индивидуальная консультация

IV. РЕФЛЕКСИЯ ЗАНЯТИЯ (5 минут)

Организация рефлексии:

Фронтальный опрос

  1. Какие новые знания и умения я приобрел сегодня?
  2. Какие трудности возникли при выполнении практической работы?
  3. Как я могу применить эти знания в будущей профессии?
  4. Какие преимущества дает генерация данных через ИИ по сравнению с ручным вводом?
  5. С какими проблемами вы столкнулись при настройке ИИ-генератора?
  6. Как обеспечить реалистичность сгенерированных данных?
  7. Какие меры безопасности необходимо соблюдать при работе с операциями UPDATE/DELETE?
  8. Как вы проверяли качество сгенерированных данных?

Групповая дискуссия:

  • Обсуждение наиболее интересных моментов занятия
  • Обмен опытом решения практических задач
  • Выявление неясных моментов для дополнительного объяснения

Заключительное слово преподавателя:

«Сегодня мы сделали важный шаг в освоении профессиональных навыков работы с базами данных. Умение грамотно управлять информацией — ключевая компетенция современного IT-специалиста. Полученные сегодня знания станут основой для вашего дальнейшего профессионального роста»

Контрольные вопросы для рефлексии

Критерии оценки

На "5" (отлично):

  • Успешная генерация всех записей через ИИ
  • Корректное выполнение всех CRUD-операций
  • Правильная обработка целостности данных
  • Качественная валидация сгенерированных данных
  • Полные и осмысленные ответы на вопросы рефлексии

На "4" (хорошо):

  • Генерация некоторых данных через ИИ
  • Незначительные ошибки в сложных запросах
  • В основном правильная работа с целостностью данных
  • Частичная валидация данных

На "3" (удовлетворительно):

  • Генерация только базовых данных
  • Выполнение только простых CRUD-операций
  • Проблемы с обработкой целостности данных
  • Минимальная валидация данных

УПРАВЛЕНИЕ ДАННЫМИ В ТАБЛИЦЕ

Что такое данные и как мы с ними работаем?

Представьте, что база данных — это электронная библиотека, где:

  • Таблицы — это стеллажи с книгами
  • Записи — это отдельные книги на полках
  • Столбцы — это информация о книгах (название, автор, год издания)

Как и в библиотеке, нам постоянно нужно:

📚 Добавлять новые книги

🔍 Искать и читать информацию

✏️ Обновлять данные (например, изменить статус книги)

🗑️ Удалять старые или поврежденные книги

Именно эти четыре действия образуют концепцию CRUD!

CRUD — это не случайный набор букв, а системный подход к управлению данными:

Операция

Команда в SQL

CREATE (Создать)

INSERT Добавить новую запись

READ (Прочитать)

SELECT Найти и посмотреть данные

UPDATE (Обновить)

UPDATE Изменить существующие данные

DELETE (Удалить)

DELETE Удалить ненужные данные

 

Почему CRUD так важен?

  • Это основа ЛЮБОГО приложения (соцсети, интернет-магазины, банковские системы)
  • Единый стандарт для всех разработчиков
  • Логичная структура для организации кода

Операция CREATE: Добавляем новые данные

Как это работает в жизни? Когда новый клиент регистрируется на сайте — мы создаем запись о нем в базе данных.

SQL-команда: INSERT

-- Базовая структура

INSERT INTO имя_таблицы (столбец1, столбец2, ...)

VALUES (значение1, значение2, ...);

-- Пример из жизни: добавляем нового сотрудника

INSERT INTO employees (first_name, last_name, position, salary)

VALUES ('Анна', 'Иванова', 'Разработчик', 85000.00);

Что важно запомнить:

  • Указывайте столбцы в том же порядке, что и значения
  • Строки всегда в кавычках '...'
  • Числа без кавычек
  • Даты в формате 'ГГГГ-ММ-ДД'

Операция UPDATE: Изменяем существующие данные

Жизненная ситуация:

Сотрудник получил повышение — нужно изменить его должность и зарплату.

SQL-команда: UPDATE

-- Базовая структура

UPDATE имя_таблицы

SET столбец1 = новое_значение1, столбец2 = новое_значение2

WHERE условие;

-- Пример: повышаем сотрудника

UPDATE employees

SET position = 'Старший разработчик', salary = 95000.00

WHERE first_name = 'Анна' AND last_name = 'Иванова';

КРИТИЧЕСКИ ВАЖНО: WHERE

Без условия WHERE команда UPDATE изменит ВСЕ записи в таблице!

-- ОПАСНО! Изменит зарплату ВСЕМ сотрудникам

UPDATE employees SET salary = 50000.00;

-- ПРАВИЛЬНО! Изменит только конкретному сотруднику

UPDATE employees SET salary = 50000.00 WHERE employee_id = 5;

Операция DELETE: Удаляем данные

Когда это нужно?

  • Сотрудник уволился
  • Товар снят с продажи
  • Устаревшая информация

SQL-команда: DELETE

-- Базовая структура

DELETE FROM имя_таблицы

WHERE условие;

-- Пример: удаляем уволившегося сотрудника

DELETE FROM employees

WHERE employee_id = 10;

🚨 ТРОЙНАЯ ОСТОРОЖНОСТЬ!

Операция DELETE без WHERE удалит ВСЕ данные из таблицы!

-- КАТАСТРОФА! Удалит всех сотрудников

DELETE FROM employees;

-- БЕЗОПАСНО! Удалит только одного

DELETE FROM employees WHERE employee_id = 10;

6. Четвертая операция: READ (SELECT)

Для полноты картины:

-- Получить всех сотрудников

SELECT * FROM employees;

-- Найти конкретного сотрудника

SELECT * FROM employees WHERE first_name = 'Анна';

7. Безопасность прежде всего: Защита от ошибок

Сначала SELECT, потом UPDATE/DELETE

-- Шаг 1: Смотрим, что будем менять

SELECT * FROM employees WHERE department = 'IT';

-- Шаг 2: Выполняем изменение

UPDATE employees SET salary = salary * 1.1 WHERE department = 'IT';

8. Мягкое удаление: Цифровая культура

Проблема: Удаляя данные, мы теряем историю.

Решение: Флаг is_active вместо физического удаления.

-- Добавляем поле для пометки "удалено"

ALTER TABLE employees ADD COLUMN is_active BOOLEAN DEFAULT TRUE;

-- Вместо DELETE используем UPDATE

UPDATE employees SET is_active = FALSE WHERE employee_id = 10;

-- При выборке учитываем флаг

SELECT * FROM employees WHERE is_active = TRUE;

9. Практические примеры из разных областей

Интернет-магазин:

-- Добавляем товар

INSERT INTO products (name, price, category)

VALUES ('Смартфон', 29999.00, 'Электроника');

-- Обновляем цену

UPDATE products SET price = 27999.00 WHERE name = 'Смартфон';

-- Удаляем неактивный товар

UPDATE products SET is_active = FALSE WHERE product_id = 15;

10. Типичные ошибки новичков

  1. "WHERE забыл" — самая частая ошибка
  2. Несоответствие типов данных — числа vs строки
  3. Неправильные кавычки — 'строка' vs столбец

Заключение: Хороший разработчик не просто знает синтаксис, а понимает КОГДА и КАК применять каждую операцию, предвидя последствия для данных и бизнеса.

ПРАКТИЧЕСКОЕ ЗАДАНИЕ ДЛЯ СТУДЕНТОВ

Тема: Редактирование, добавление и удаление записей в таблице. Реализация CRUD-операций с использованием ИИ

Цель задания: Закрепить практические навыки работы с операциями INSERT, UPDATE, DELETE в SQL, научиться генерировать тестовые данные с помощью ИИ и безопасно манипулировать данными в базе данных.

Форма отчета: Скриншоты о выполнении запросов и их результат по каждому пункту.

Часть 1. Подготовка базы данных

Создайте базу данных "Интернет-магазин" по диаграмме

 Часть 2. Генерация тестовых данных с помощью ИИ

Задание 2.1: Генерация данных для таблицы Products

Используйте онлайн-генератор данных для создания 30 товаров со следующими полями:

-- Структура для генератора:

-- product_name (название товара)

-- price (цена от 500 до 100000)

-- category (категория: Электроника, Аксессуары, Одежда, Книги, Спорт)

-- quantity (количество от 0 до 100)

Пример сгенерированных данных:

INSERT INTO Products (product_name, price, category, quantity) VALUES

('Смартфон Samsung Galaxy', 45900.00, 'Электроника', 25),

('Беспроводные наушники', 7500.00, 'Аксессуары', 40),

('Футболка хлопковая', 1200.00, 'Одежда', 60);

ВАЖНО!
Чтобы ИИ-генератор создал правильные данные, ему нужно показать ОБРАЗЕЦ.

Представьте, что вы просите помощника заполнить таблицу сотрудников. Если вы просто скажете "заполни данные", он не поймет, что именно писать.
Задание 2.2: Генерация данных для таблицы Customers

Сгенерируйте 10 клиентов со следующими полями:

-- first_name (имя)

-- last_name (фамилия)

-- email (email адрес)

-- phone (номер телефона)

-- registration_date (дата регистрации за последние 2 года)

Задание 2.3: Генерация данных для таблицы Orders

Сгенерируйте 5 заказов, связывающих клиентов и товары:

-- customer_id (id из таблицы Customers)

-- product_id (id из таблицы Products)

-- quantity (количество от 1 до 5)

-- order_date (дата за последние 30 дней)

-- status (статус: Новый, Подтвержден, Выполнен, Отменен)

Часть 3. Основные CRUD-операции

Задание 3.1: Добавление данных (INSERT)

Добавьте 3 новых товара вручную, которые не были сгенерированы ИИ:

Задание 3.2: Обновление данных (UPDATE)

  1. Увеличьте цену всех товаров категории "Электроника" на 10%:
  1. Измените статус всех заказов старше 10 дней на "Выполнен":
  1. Исправьте email для всех клиентов с доменом @mail.ru на @gmail.com:

Задание 3.3: Удаление данных (DELETE)

  1. Удалите все товары, у которых количество на складе равно 0:
  1. Удалите клиентов, которые не делали заказы (используйте подзапрос):

 

Часть 4. Работа с условиями WHERE и целостностью данных

Задание 4.1: Сложные условия обновления

Примените скидку 15% только к товарам категории "Аксессуары", у которых цена выше 2000 рублей и количество на складе больше 20:

Задание 4.2: Мягкое удаление с проверкой зависимостей

Пометьте как неактивных всех клиентов, которые не делали заказы в течение последних 3 месяцев:

Задание 4.3: Обработка ошибок целостности

Попробуйте удалить товар, на который есть ссылки в таблице Orders. Зафиксируйте ошибку и напишите решение:

Часть 5. Комплексная бизнес-задача

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

  1. Сгенерируйте через ИИ 5 новых акционных товаров
  2. Установите для них специальные цены (на 20% ниже средней по категории)
  3. Для всех товаров категории "Электроника" дороже 30000 рублей установите скидку 12%
  4. Увеличьте количество на складе для товаров с количеством менее 10
  5. Отмените все заказы старше 14 дней со статусом "Новый"
  6. Добавьте 3 новых клиентов через ИИ-генератор

Часть 6. Анализ и валидация данных

Задание 6.1: Проверка сгенерированных данных

Напишите запросы для проверки качества сгенерированных данных:

  1. Найдите дубликаты email в таблице Customers
  2. Проверьте, есть ли товары с отрицательной ценой или количеством
  3. Найдите заказы с несуществующими customer_id или product_id
  4. Проверьте, все ли даты в допустимом диапазоне

Задание 6.2: Создание отчета

Создайте сводный отчет по данным:

  1. Общее количество товаров по категориям
  2. Средняя цена товаров в каждой категории
  3. Количество активных клиентов
  4. Статистика заказов по статусам
Опубликовано: 05.12.2025