Управление данными в таблице
Автор: Тихонова Алена Валерьевна
Организация: ГАПОУ ЧР «ЧПК им.Н.В.Никольского»
Населенный пункт: г. Чебоксары
Дисциплина (МДК): ОП.08 Основы проектирования баз данных
Тема урока: Управление данными в таблице
Тип урока: Урок комплексного применения знаний
Вид урока: Практикум
Цели занятия:
Обучающая: сформировать умения и навыки выполнения базовых операций манипулирования данными в реляционной базе данных.
Задачи:
- Формирование представлений о составе и назначении CRUD-операций.
- Формирование умений составлять и выполнять SQL-запросы INSERT, UPDATE, DELETE.
- Формирование понимания принципов целостности данных при их изменении.
Развивающая: формирование учебно-познавательных, информационных и технологических компетенций.
Задачи:
- Способствовать развитию алгоритмического и логического мышления.
- Развитие умений анализировать поставленную задачу, выбирать оптимальный способ её решения и делать выводы.
- Развитие умений пользоваться профессиональной терминологией (CRUD, WHERE, целостность данных).
Воспитательные: Формирование компетенции социального взаимодействия и готовности к самообразованию.
Задачи:
- Воспитывать внимательность, аккуратность и ответственность при работе с данными.
- Воспитывать учебно-познавательный интерес к предмету через решение практико-ориентированных задач.
- Формировать осознание ценности получаемых знаний для будущей профессиональной деятельности.
Методы и приемы организации и осуществления учебно-познавательной деятельности обучающихся:
- словесные методы – объяснение, беседа, проблемно-поисковые методы;
- наглядные методы – метод иллюстрации с использованием компьютера.
Методы контроля и самоконтроля:
устный (фронтальный) опрос, самоконтроль.
Форма организации обучения:
групповая, индивидуальная работа.
Межпредметные связи:
МДК.09.01 Проектирование и разработка веб-приложений
Средства обучения:
Визуальные: мультимедийная презентация
Формируемые ОК, ПК:
ПК 11.3. Разрабатывать объекты базы данных в соответствии с результатами анализа предметной области.
ПК 11.4. Реализовывать базу данных в конкретной системе управления базами данных.
ПК 11.5. Администрировать базы данных.
ОК 1. Выбирать способы решения задач профессиональной деятельности, применительно к различным контекстам.
ОК 2. Осуществлять поиск, анализ и интерпретацию информации, необходимой для выполнения задач профессиональной деятельности.
ОК 4. Работать в коллективе и команде, эффективно взаимодействовать с коллегами, руководством, клиентами.
ОК 9. Использовать информационные технологии в профессиональной деятельности.
Ход занятия (этапы и части занятия)
- Организационный момент (2 мин.)
- Актуализация опорных знаний (8 мин.)
- Изучение нового материала (75 мин.)
- Рефлексия занятия (5 мин.)
Оборудование: компьютер, мультимедийный проектор
Информационное обеспечение
Основные источники информации
- Федорова, Г.Н. Основы проектирования баз данных: учебник для студ. учреждений сред. проф. Образования / Г.Н. Федорова. – 2-е изд., стер. – М. : Издательский центр «Академия», 2018. – 224 с.
Результатом занятия должно стать, что обучающиеся знают:
- основы типов моделей данных;
- основные понятия реляционной базы данных;
- особенности реляционной модели.
В результате занятия обучающийся должен:
Знать:
• Синтаксис SQL-команд INSERT, UPDATE, DELETE.
• Понятие условия WHERE и его обязательность для операций модификации и удаления.
• Основные принципы обеспечения целостности данных (в частности, ограничения внешнего ключа).
Уметь:
• Составлять и выполнять SQL-запросы для добавления новых записей в таблицу.
• Составлять и выполнять SQL-запросы для изменения существующих данных.
• Составлять и выполнять SQL-запросы для безопасного удаления записей с учетом целостности данных.
Применять:
• Полученные умения для наполнения и модификации базы данных в рамках практического задания.
I. ОРГАНИЗАЦИОННЫЙ МОМЕНТ (2 минуты)
Действия преподавателя:
- Приветствие студентов, проверка готовности аудитории и технических средств
- Отметка отсутствующих в журнале
- Создание рабочей атмосферы и позитивного настроя на занятие
- Краткое представление темы и плана занятия
Речь преподавателя:
«Добрый день, уважаемые студенты! Сегодня мы приступаем к изучению одной из ключевых тем в работе с базами данных — операциям редактирования, добавления и удаления записей. Эти навыки являются фундаментальными для вашей будущей профессии программиста. Давайте настроимся на продуктивную работу и активное участие в занятии.»
II. ЭТАП АКТУАЛИЗАЦИИ ОПОРНЫХ ЗНАНИЙ (8 минут)
Форма проведения: Фронтальный опрос с элементами проблемной беседы
Вопросы для актуализации знаний:
- «Что такое реляционная база данных и из каких основных элементов она состоит?»
- «Какие операции с данными мы уже умеем выполнять? Вспомните команду SELECT.»
- «Представьте ситуацию: в интернет-магазин поступил новый товар. Как мы должны отразить это в базе данных?»
- «Что произойдет, если клиент изменит свои личные данные в личном кабинете? Как это отразится в БД?»
- «С какими типами данных в SQL мы уже знакомы?»
III. ИЗУЧЕНИЕ НОВОГО МАТЕРИАЛА (75 минут)
Часть 1: Введение в тему
Действия преподавателя:
- Формулировка темы, целей и задач занятия
- Объяснение практической значимости темы для будущей профессии
- Демонстрация реальных примеров применения CRUD-операций
Мотивационная беседа:
«Представьте, что вы разрабатываете социальную сеть. Каждый день пользователи регистрируются, публикуют посты, редактируют профили, удаляют устаревшую информацию. Все эти действия — суть CRUD-операций. Сегодня мы научимся профессионально управлять этими процессами.»
Часть 2: Теоретический блок
Организация работы:
- Лекция с использованием мультимедийной презентации
- Демонстрация синтаксиса SQL-команд на проекторе
- Интерактивное обсуждение примеров
- Ведение конспектов студентами
Методические приемы:
- Чередование теории и практических примеров
- Использование аналогий (библиотека → база данных)
- Акцент на типичных ошибках и способах их предотвращения
Часть 3: Практическая работа
Организация практикума:
- Инструктаж по технике безопасности
- Демонстрация выполнения заданий
- Самостоятельная работа студентов
- Индивидуальная консультация
IV. РЕФЛЕКСИЯ ЗАНЯТИЯ (5 минут)
Организация рефлексии:
Фронтальный опрос
- Какие новые знания и умения я приобрел сегодня?
- Какие трудности возникли при выполнении практической работы?
- Как я могу применить эти знания в будущей профессии?
- Какие преимущества дает генерация данных через ИИ по сравнению с ручным вводом?
- С какими проблемами вы столкнулись при настройке ИИ-генератора?
- Как обеспечить реалистичность сгенерированных данных?
- Какие меры безопасности необходимо соблюдать при работе с операциями UPDATE/DELETE?
- Как вы проверяли качество сгенерированных данных?
Групповая дискуссия:
- Обсуждение наиболее интересных моментов занятия
- Обмен опытом решения практических задач
- Выявление неясных моментов для дополнительного объяснения
Заключительное слово преподавателя:
«Сегодня мы сделали важный шаг в освоении профессиональных навыков работы с базами данных. Умение грамотно управлять информацией — ключевая компетенция современного 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. Типичные ошибки новичков
- "WHERE забыл" — самая частая ошибка
- Несоответствие типов данных — числа vs строки
- Неправильные кавычки — 'строка' 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)
- Увеличьте цену всех товаров категории "Электроника" на 10%:
- Измените статус всех заказов старше 10 дней на "Выполнен":
- Исправьте email для всех клиентов с доменом @mail.ru на @gmail.com:
Задание 3.3: Удаление данных (DELETE)
- Удалите все товары, у которых количество на складе равно 0:
- Удалите клиентов, которые не делали заказы (используйте подзапрос):
Часть 4. Работа с условиями WHERE и целостностью данных
Задание 4.1: Сложные условия обновления
Примените скидку 15% только к товарам категории "Аксессуары", у которых цена выше 2000 рублей и количество на складе больше 20:
Задание 4.2: Мягкое удаление с проверкой зависимостей
Пометьте как неактивных всех клиентов, которые не делали заказы в течение последних 3 месяцев:
Задание 4.3: Обработка ошибок целостности
Попробуйте удалить товар, на который есть ссылки в таблице Orders. Зафиксируйте ошибку и напишите решение:
Часть 5. Комплексная бизнес-задача
Ситуация: Подготовка к сезонной распродаже. Необходимо выполнить следующие действия:
- Сгенерируйте через ИИ 5 новых акционных товаров
- Установите для них специальные цены (на 20% ниже средней по категории)
- Для всех товаров категории "Электроника" дороже 30000 рублей установите скидку 12%
- Увеличьте количество на складе для товаров с количеством менее 10
- Отмените все заказы старше 14 дней со статусом "Новый"
- Добавьте 3 новых клиентов через ИИ-генератор
Часть 6. Анализ и валидация данных
Задание 6.1: Проверка сгенерированных данных
Напишите запросы для проверки качества сгенерированных данных:
- Найдите дубликаты email в таблице Customers
- Проверьте, есть ли товары с отрицательной ценой или количеством
- Найдите заказы с несуществующими customer_id или product_id
- Проверьте, все ли даты в допустимом диапазоне
Задание 6.2: Создание отчета
Создайте сводный отчет по данным:
- Общее количество товаров по категориям
- Средняя цена товаров в каждой категории
- Количество активных клиентов
- Статистика заказов по статусам
БЕСПЛАТНЫЕ семинары


