Загрузка данных


Ниже приведены ответы на контрольные вопросы из файла **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 (проверка ссылочной целостности).