Встречается на собеседованиях • сегодня

Как можно обеспечить целостность данных в БД

Используйте транзакции (Transaction) для группировки операций в атомарные блоки. Если одна операция в транзакции завершится неудачно, все изменения откатятся (rollback).

Пример с JDBC:

java
Connection conn = DriverManager.getConnection(url, user, password);
try {
    conn.setAutoCommit(false); // Отключаем авто-коммит
    Statement stmt = conn.createStatement();
    stmt.executeUpdate("UPDATE accounts SET balance = balance - 100 WHERE id = 1");
    stmt.executeUpdate("UPDATE accounts SET balance = balance + 100 WHERE id = 2");
    conn.commit(); // Фиксируем изменения
} catch (SQLException e) {
    conn.rollback(); // Откатываем при ошибке
} finally {
    conn.setAutoCommit(true);
    conn.close();
}

Дополнительные методы:

  • Ограничения (CONSTRAINTS)PRIMARY KEY, FOREIGN KEY, NOT NULL, UNIQUE, CHECK.
  • Триггеры (TRIGGERS) – автоматическая проверка/коррекция данных при изменениях.
  • Оптимистичная/пессимистичная блокировки – для предотвращения конфликтов в многопоточной среде.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы