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

В чем разница между использованием внешнего ключа и id записи из другой таблицы

Внешний ключ (foreign key) — это механизм реляционных БД, который обеспечивает ссылочную целостность данных. Он автоматически проверяет, что значение в поле соответствует существующему первичному ключу в связанной таблице.

Различия:

  1. Целостность данных: Внешний ключ гарантирует, что запись в связанной таблице существует (или NULL). Простое использование ID без ограничения не обеспечивает такой проверки.
  2. Каскадные операции: Внешний ключ может автоматически обновлять или удалять связанные записи (ON DELETE CASCADE, ON UPDATE CASCADE).

Пример:

java
@Entity
public class Order {
    @Id
    private Long id;

    // Просто ID (без гарантии целостности)
    private Long customerId;

    // Внешний ключ (с проверкой)
    @ManyToOne
    @JoinColumn(name = "customer_id")
    private Customer customer;
}

Вывод: Внешний ключ — безопаснее, но может быть избыточен в некоторых сценариях (например, NoSQL или распределенных системах).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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