Ниже приведены ответы на контрольные вопросы из файла **1000011561.jpg**:
### Ответы на контрольные вопросы:
1. **Основные операторы DML:**
DML (Data Manipulation Language) включает в себя:
* SELECT — выборка данных.
* INSERT — добавление новых записей.
* UPDATE — изменение существующих данных.
* DELETE — удаление записей.
2. **Добавление нескольких записей одним INSERT:**
Это делается путем перечисления наборов значений через запятую после ключевого слова VALUES:
INSERT INTO table (col1, col2) VALUES (val1, val2), (val3, val4), (val5, val6);.
3. **UPDATE без условия WHERE:**
Если выполнить UPDATE без WHERE, изменения применятся ко **всем** строкам в таблице без исключения.
4. **Удаление всех записей из таблицы:**
Существует два основных способа:
* DELETE FROM table_name; (удаляет строки одну за другой).
* TRUNCATE TABLE table_name; (быстрая очистка всей таблицы).
5. **Отличие TRUNCATE от DELETE:**
* DELETE — это DML-операция, она может удалять строки выборочно (с WHERE), записывает каждое удаление в лог и позволяет откатить изменения (ROLLBACK).
* TRUNCATE — это DDL-операция, она полностью очищает таблицу, работает быстрее, сбрасывает счетчики (автоинкремент) и обычно не может быть отменена обычным способом.
6. **Транзакция и зачем она нужна:**
Транзакция — это группа последовательных операций с базой данных, которая представляет собой единую логическую единицу работы. Она нужна для обеспечения целостности данных: либо все операции внутри транзакции выполняются успешно, либо ни одна из них не применяется (принцип «все или ничего»).
7. **Обновление данных на основе другой таблицы:**
Это выполняется с помощью конструкции UPDATE с использованием JOIN или подзапроса. Например:
UPDATE t1 SET t1.col = t2.col FROM table1 t1 JOIN table2 t2 ON t1.id = t2.id;.
8. **Оператор MERGE:**
Оператор MERGE позволяет выполнять вставку, обновление или удаление данных в целевой таблице в зависимости от того, найдены ли соответствующие данные в источнике. Он применяется для синхронизации двух таблиц (так называемый «upsert»).
9. **Обеспечение целостности данных при изменении связанных таблиц:**
Для этого используются:
* **Внешние ключи (Foreign Keys)** с каскадными правилами (ON UPDATE CASCADE, ON DELETE CASCADE).
* **Транзакции** для объединения изменений в нескольких таблицах.
10. **Ограничения, влияющие на операции изменения данных:**
* NOT NULL (запрет пустых значений).
* UNIQUE (уникальность значений).
* PRIMARY KEY (первичный ключ).
* CHECK (проверка логического условия).
* FOREIGN KEY (проверка ссылочной целостности).