Font size
WorksheetsSQL триггеры и транзакции — контрольные вопросы
Total questions: 105
Worksheet time: 53mins
Что такое оконные функции?
Функции, работающие с набором строк без группировки
Функции удаления
Функции индексации
Функции фильтрации
Функции сортировки
Для чего нужны временные таблицы (CTE)?
Для упрощения и структурирования сложных запросов
Для хранения JSON
Для удаления строк
Для транзакций
Для объединений
Почему SQL остаётся ключевым навыком?
Потому что используется во всех СУБД и обеспечивает работу с данными
Потому что заменяет все языки программирования
Потому что работает без сервера
Потому что не требует данных
Потому что работает только с JSON
Что такое триггер в базе данных?
Особый тип хранимой процедуры, автоматически срабатывающий в ответ на события изменения данных
Команда SQL для создания новой таблицы
Инструмент для ручного запуска процедур
Переменная, хранящая результат запроса
Функция, возвращающая только одно значение
Какова главная особенность запуска триггера?
Он запускается сервером базы данных самостоятельно, без прямого вызова
Он запускается только пользователем с правами администратора
Он запускается только командой EXECUTE TRIGGER
Он запускается только через приложение
Он запускается только после команды SELECT
Какие DML-операции являются ключевыми событиями для срабатывания триггеров?
INSERT, UPDATE, DELETE
CREATE, ALTER, DROP
SELECT, INSERT, UPDATE
JOIN, UNION, INTERSECT
GRANT, REVOKE, DENY
В чем заключается механизм срабатывания триггера?
Операция над таблицей активирует связанную процедуру, которая выполняет заданную логику
Пользователь вручную вызывает процедуру
Триггер ждёт, пока система попросит его выполниться
Операция над таблицей немедленно удаляется
Выполняется только логирование без действий
Какая основная польза триггеров в контексте «Автоматизации»?
Выполнение рутинных операций и реализация сложной бизнес-логики без участия разработчиков
Создание новых таблиц
Замена всех SQL‑запросов
Ускорение только операций SELECT
Только сбор аналитических данных
Как триггеры способствуют «Целостности данных»?
Обеспечивают корректность и согласованность информации на уровне базы данных
Защищают от вирусов
Повышают скорость соединения
Создают резервные копии
Делают запросы короче
Что позволяет сделать триггер, срабатывающий при событии DELETE?
Предотвратить удаление критичных данных или выполнить каскадные операции очистки
Проверить данные перед вставкой
Сохранить историю изменений
Обновить связанные таблицы
Запустить транзакцию
Какой тип триггера срабатывает «отдельно для каждой» изменяемой строки?
Триггер уровня строки (FOR EACH ROW)
Триггер уровня инструкции
BEFORE триггер
AFTER триггер
INSTEAD OF триггер
Какой тип триггера выполняется «один раз» на всю операцию, независимо от количества затронутых строк?
Триггер уровня инструкции
Триггер уровня строки (FOR EACH ROW)
BEFORE триггер
AFTER триггер
ROW‑LEVEL триггер
Для чего используются INSTEAD OF триггеры?
Работают с представлениями (VIEW) и позволяют переопределить стандартное поведение DML
Срабатывают до начала операции
Срабатывают после завершения операции
Используются для массового обновления данных
Используются только для аудита
Какое действие может инициировать триггер при обнаружении нарушения бизнес‑логики, согласно лекции?
ROLLBACK (откат транзакции)
COMMIT (фиксация транзакции)
SELECT (выборка данных)
CREATE TABLE (создание таблицы)
VACUUM (очистка базы)
Что делает триггер в примере «Контроль целостности данных: Валидация бизнес‑правил»?
Проверяет корректность данных, например, запрещает отрицательные остатки товара
Автоматически создаёт новые заказы
Удаляет все старые данные
Обновляет права доступа
Ведёт журналы только ошибок
Какой тип триггера используется для автоматического обновления полей created_at и updated_at ?
BEFORE INSERT / BEFORE UPDATE (для временных меток)
INSTEAD OF DELETE
BEFORE SELECT
FOR EACH STATEMENT
ROLLBACK TRIGGER
Что представляет собой механизм «Ведение аудита и логирование» с помощью триггеров?
Автоматическая запись всех изменений данных в специальные аудит‑таблицы
Удаление старых записей из базы данных
Ручная проверка всех транзакций
Отправка еженедельного отчёта по почте
Создание новых пользователей
Какую информацию об изменении данных записывают триггеры аудита?
Старые и новые значения полей, пользователь и время операции, тип операции
Только имя пользователя
Только дату изменения
Только тип операции
Только количество затронутых строк
Что обновляет пример триггера tg_UpdateTimestamp на таблице Products ?
Поля LastModified и ModifiedBy (временную метку и пользователя)
Поле ProductID
Цену товара
Остаток на складе
Название товара
Что проверяет триггер контроля остатков товара перед оформлением заказа?
Доступное количество товара ( StockQuantity ) относительно запрашиваемого ( Quantity )
Дату создания заказа
Имя покупателя
Цену товара
Наличие других триггеров
Какое действие выполняет триггер контроля остатков товара, если товара недостаточно?
Отменяет всю операцию вставки деталей заказа и выдаёт сообщение об ошибке
Увеличивает остаток на складе
Предполагает вставку с нулевым количеством
Обновляет таблицу продуктов
Игнорирует ошибку и идёт дальше
Как называется специальная таблица, в которую триггер аудита записывает информацию об изменениях данных сотрудников?
Аудит‑таблица (например, EmployeeAuditLog )
Таблица сотрудников ( Employees )
Таблица заказов ( Orders )
Временная таблица
Таблица логов системы
Что является лучшей практикой при работе с логикой триггеров?
Держать логику простой и избегать длительных операций, которые блокируют транзакции
Использовать максимально сложные вычисления
Всегда вызывать другие триггеры
Отправлять email и вызывать внешние API
Не документировать логику
Какую проблему может создать «каскадный триггер» (триггер, вызывающий другой триггер)?
Сложность отладки и риск бесконечной рекурсии
Ускорение работы системы
Повышение безопасности данных
Уменьшение логики
Уменьшение нагрузки на сервер
Почему важно документировать поведение триггеров?
Триггеры работают незаметно, и их наличие и логику нужно знать
Это требование всех СУБД
Документация ускоряет работу триггера
Без документации триггер не сработает
Это позволяет отключать их автоматически
Какое правило относится к тестированию триггеров?
Тестировать производительность, так как медленный триггер замедлит всю систему
Тестировать только в ручном режиме
Тестировать только при операции SELECT
Не тестировать, так как они просты
Тестировать только после релиза
Какой ключевой вывод о триггерах связан с «Безопасностью»?
Автоматический аудит и логирование создают прозрачную историю всех изменений
Триггеры заменяют систему аутентификации
Триггеры автоматически шифруют данные
Они блокируют все внешние подключения
Они всегда требуют пароль
Какой главный вывод лекции о триггерах?
Это мощный инструмент для автоматизации, контроля и защиты данных на уровне БД
Используются только для операций DELETE
Заменяют внешние ключи
Требуют ручного запуска администратором
Должны быть максимально сложными
Почему в триггерах не рекомендуется выполнять длительные операции или внешние вызовы (side effects)?
Они могут замедлить транзакцию и вызвать блокировку базы данных
Это запрещено синтаксисом PL/pgSQL
Они не работают с DML‑операциями
Это повышает безопасность
Триггер может сработать только один раз
Что такое триггер?
Действие, выполняемое автоматически при наступлении определённого события
Команда, выполняемая вручную
Процесс установки программы
Системное уведомление
Метод копирования файла
Что такое транзакция в базе данных?
Последовательность операций как единое целое
Одиночная команда SELECT
Файл данных
Резервная копия
Триггер
Главная цель транзакции?
Сохранение целостности данных
Ускорение сети
Удаление таблиц
Создание индексов
Резервное копирование
Что происходит при ошибке внутри транзакции?
Все изменения откатываются
Часть изменений сохраняется
Ошибки игнорируются
Транзакция блокируется навсегда
Таблица удаляется
Какая основная характеристика транзакции?
Выполняется полностью или не выполняется вовсе
Может выполняться частично
Зависит от индекса
Создаёт копию данных
Удаляет ключи
Что означает ACID?
Atomicity, Consistency, Isolation, Durability
Access, Control, Integrity, Data
Algorithm, Cache, Index, Driver
Array, Column, Index, Data
Archive, Code, Input, Delete
Что означает Atomicity?
Неделимость транзакции
Согласованность
Изоляция
Транзакция во времени
Скорость выполнения
Что означает Consistency?
Сохранение согласованного состояния БД
Выполнение быстрее
Удаление индексов
Создание дубликатов
Хранение в файлах
Что означает Isolation?
Транзакции не влияют друг на друга
Транзакции выполняются только последовательно
Транзакции создают индексы
Транзакции игнорируются
Транзакции удаляют данные
Что означает Durability?
Результат сохраняется даже при сбоях
Удаление данных при ошибке
Сохранение только в памяти
Только временные данные
Резервное копирование всегда
Какой оператор начинает транзакцию?
BEGIN
START
RUN
OPEN
CREATE
Какой оператор завершает транзакцию и сохраняет изменения?
COMMIT
ROLLBACK
SAVE
END
STOP
Какой оператор откатывает транзакцию?
ROLLBACK
COMMIT
DELETE
DROP
CANCEL
Что гарантирует атомарность?
Выполнение всех шагов или ни одного
Скорость транзакции
Создание индекса
Удаление таблицы
Создание файла
Что гарантирует согласованность?
Соблюдение правил и ограничений целостности
Создание индексов
Удаление ключей
Ускорение сети
Форматирование
Что обеспечивает изоляцию?
Независимость параллельных транзакций
Удаление индексов
Создание новых таблиц
Оптимизацию памяти
Резервное копирование
Что обеспечивает устойчивость (Durability)?
Сохранение результата после сбоя
Удаление индексов
Сжатие таблиц
Временные данные
Удаление ключей
Что происходит после COMMIT?
Все изменения фиксируются в базе
Изменения откатываются
Транзакция удаляется
Создаются новые таблицы
Схема сбрасывается
Что происходит после ROLLBACK?
Все изменения отменяются
Изменения фиксируются
Создаётся резервная копия
Данные дублируются
Файл обновляется
Как транзакции повышают надёжность БД?
Гарантируют целостность при ошибках
Уменьшают скорость
Создают дубликаты
Удаляют индексы
Форматируют файлы
Какая команда проверяет текущую транзакцию?
SHOW TRANSACTION
SHOW TABLES
SELECT TRANSACTION
LIST ALL
Что обеспечивает свойство Isolation при одновременных транзакциях?
Результат такой же, как при последовательном выполнении
Ускорение транзакций
Удаление индексов
Создание таблиц
Форматирование базы
Зачем нужны журналы транзакций?
Для восстановления данных после сбоя
Для удаления индексов
Для резервного копирования
Для форматирования
Для ускорения запросов
Какая проблема решается транзакциями?
Нарушение целостности при сбоях
Удаление таблиц
Создание индексов
Сжатие файлов
Оптимизация сети
Что делает команда SAVEPOINT?
Создаёт промежуточную точку отката
Сохраняет резервную копию
Удаляет индекс
Создаёт таблицу
Удаляет транзакцию
Главный вывод лекции?
Транзакции и ACID обеспечивают надёжность и целостность данных
Транзакции устарели
ACID не нужен
Транзакции заменяют индексы
Транзакции применимы только в Oracle
Что означает экспорт данных?
Выгрузка данных из базы в внешний файл или систему
Удаление базы данных
Создание новой таблицы
Оптимизация индекса
Обновление транзакции
Что означает импорт данных?
Загрузка данных из внешнего источника в базу
Удаление данных
Создание индекса
Удаление индекса
Создание схемы
Зачем нужен экспорт данных?
Для резервного копирования, миграции и анализа
Для удаления таблиц
Для снижения производительности
Для форматирования базы
Для удаления ключей
Зачем нужен импорт данных?
Для загрузки информации в систему из файлов или API
Для очистки базы
Для удаления индексов
Для проверки паролей
Для оптимизации памяти
Какой популярный формат экспорта?
CSV
DOCX
EXE
JPG
Какой формат удобен для восстановления базы?
SQL
TXT
PNG
CSV
XLSX
Какой формат часто используется в веб-приложениях?
JSON
CSV
SQL
DOC
XML
Недостаток CSV-формата?
Не хранит связи между таблицами
Слишком сложный синтаксис
Слишком большой размер
Поддерживается только в Oracle
Требует шифрования
Преимущество SQL-экспорта?
Сохраняет структуру и связи базы
Работает только с числами
Использует только JSON
Не поддерживает индексы
Удаляет данные
Преимущество JSON-экспорта?
Удобен для веб-интеграции и иерархических структур
Поддерживает только числа
Сохраняет только индексы
Удаляет данные
Не используется в API
Что важно при импорте данных?
Соответствие формата схеме базы
Удаление ключей
Форматирование таблиц
Создание индексов
Удаление логов
Какой риск при импорте данных?
Повреждение целостности данных
Ускорение работы
Создание новых индексов
Удаление резервных копий
Создание дубликатов пользователей
Какой метод импорта подходит для малых объёмов?
Ручной ввод
API
Пакетный импорт
Скрипты
Миграция
Какой метод импорта подходит для больших объёмов?
Пакетный импорт
Ручной ввод
Удаление таблиц
Создание индексов
Шифрование
Какой метод импорта используется для автоматизации?
API
Ручной ввод
Удаление базы
Создание резервной копии
Сжатие данных
Как повысить безопасность экспорта?
Использовать шифрование
Удалять таблицы
Создавать индексы
Удалять ключи
Использовать архивы
Что обеспечивает контроль доступа при экспорте?
Ограничение прав пользователей
Удаление схемы
Создание индексов
Создание логов
Форматирование данных
Что включает аудит экспорта и импорта?
Фиксацию всех операций
Удаление таблиц
Создание индексов
Очистку базы
Создание ключей
Какой инструмент используют для PostgreSQL?
pgAdmin
MongoDB Compass
MySQL Workbench
phpMyAdmin
MS Excel
Какой инструмент применяют для MySQL?
phpMyAdmin
pgAdmin
MongoDB Compass
Excel
Oracle Forms
Что помогает автоматизировать импорт/экспорт?
ETL-платформы (Airflow, Talend, Pentaho)
Word и Excel
Файловые архивы
Триггеры
API только для SELECT
Что обеспечивает резервное копирование?
Защиту от потери данных
Удаление таблиц
Оптимизацию индексов
Ускорение транзакций
Сжатие логов
Какая стратегия резервного копирования требует больше места?
Полная
Инкрементная
Дифференциальная
Ручная
API
Какая стратегия резервного копирования быстрее по времени выполнения?
Инкрементная
Полная
Дифференциальная
Автоматическая
API
Главный вывод лекции?
Экспорт и импорт обеспечивают целостность, интеграцию и безопасность данных
Экспорт устарел
Импорт не нужен
Только SQL подходит
Использовать нужно только ручной ввод
Что такое резервное копирование?
Создание копии данных для их сохранности
Удаление данных
Форматирование диска
Создание индекса
Сжатие базы
Зачем нужно резервное копирование?
Для защиты данных от сбоев и атак
Для уменьшения скорости работы
Для удаления ключей
Для форматирования таблиц
Для временного хранения
Какие угрозы предотвращает резервное копирование?
Системные сбои, вирусы, ошибки пользователей
Только сетевые атаки
Только аппаратные поломки
Только SQL-инъекции
Только обновления Windows
Сколько системных ошибок связано с отсутствием резервных копий?
70%
10%
30%
50%
90%
Что такое точка восстановления?
Снимок состояния системы на определённый момент
Файл резервной копии
Новый драйвер
Резерв базы данных
Триггер
Когда автоматически создаются точки восстановления?
При установке обновлений или драйверов
При каждом входе в систему
Только вручную
При удалении файлов
При выключении ПК
Что можно восстановить через точку восстановления?
Системные файлы и настройки
Личные документы
Музыкальные файлы
Видео
Изображения
Какой процент успешного восстановления при правильной настройке?
90%
10%
30%
50%
70%
Сколько времени в среднем нужно для создания точки восстановления?
2–3 минуты
30 минут
1 час
10 секунд
5 часов
Что не затрагивает точка восстановления?
Личные файлы
Системные настройки
Драйверы
Программы
Обновления
Что затрагивает точка восстановления?
Последние установленные программы и драйверы
Только документы
Только мультимедиа
Только SQL
Только фото
Как вручную создать точку восстановления?
Через «Панель управления» → «Система» → «Защита системы»
Через «Мой компьютер» → «Удалить»
Через «Проводник» → «Копировать»
Через «Word» → «Сохранить как»
Через BIOS
Какая функция позволяет восстановить прошлые версии файлов?
История файлов (Previous Versions)
SQL Restore
Undo
Flash Recovery
Index Repair
Что можно сделать с предыдущей версией файла?
Восстановить, скопировать или открыть
Удалить
Зашифровать
Сжать
Скопировать в SQL
Что такое BCD в Windows?
Конфигурация загрузки системы
База данных пользователей
Файл логов
Триггер
SQL-скрипт
Для чего нужна резервная копия BCD?
Для восстановления системы при сбое загрузки
Для ускорения сети
Для форматирования диска
Для установки драйверов
Для удаления вирусов
Как создать резервную копию BCD?
Через команду bcdedit /export
Через Панель управления
Через BIOS
Через SQL-запрос
Через Проводник
Где лучше хранить резервную копию BCD?
На внешнем носителе или в облаке
На том же диске
В системной папке
В файле Excel
В SQL-базе
Что такое системный реестр?
Централизованная база настроек Windows
SQL база
Индекс файлов
Антивирус
Драйвер
Где хранится резервная копия реестра Windows?
C:\Windows\System32\config\RegBack
C:\\Windows\\System32\\drivers
C:\\Program Files
D:\\Documents
E:\\Backup
Что может произойти при повреждении реестра?
Сбой работы всей системы
Удаление фото
Потеря музыки
Только потеря документов
Ошибки SQL-запросов
Как восстановить реестр из резервной копии?
Скопировать файлы из RegBack в папку config
Удалить ключи
Создать новый SQL
Форматировать диск
Создать индекс
Какая основная рекомендация по резервному копированию?
Создавать копии регулярно и хранить в разных местах
Создавать только один раз
Хранить только на локальном диске
Не использовать облако
Хранить в Excel
Что обеспечивает резервное копирование?
Надёжность, безопасность и возможность восстановления данных
Только хранение паролей
Ускорение работы SQL
Удаление индексов
Форматирование базы
Главный вывод лекции?
Резервное копирование — это жизненно важная страховка для вашей системы
Резервное копирование устарело
Его можно заменить индексами
Его можно не использовать
Оно применимо только к SQL
