Встречается на собеседованиях • сегодня
В чем разница между использованием внешнего ключа и id записи из другой таблицы
Внешний ключ (foreign key) — это механизм реляционных БД, который обеспечивает ссылочную целостность данных. Он автоматически проверяет, что значение в поле соответствует существующему первичному ключу в связанной таблице.
Различия:
- Целостность данных: Внешний ключ гарантирует, что запись в связанной таблице существует (или NULL). Простое использование ID без ограничения не обеспечивает такой проверки.
- Каскадные операции: Внешний ключ может автоматически обновлять или удалять связанные записи (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 или распределенных системах).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы