Ответ
Foreign key (внешний ключ) в SQLite обеспечивает связь между таблицами, гарантируя целостность данных. Он указывает, что значение в столбце одной таблицы должно соответствовать значению первичного ключа (Primary key) в другой таблице.
Пример:
CREATE TABLE Orders (
order_id INTEGER PRIMARY KEY,
customer_id INTEGER,
FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
);
Здесь customer_id в таблице Orders ссылается на customer_id в таблице Customers. Это предотвращает добавление заказов с несуществующими клиентами.
Плюсы:
- Поддержка ссылочной целостности
- Автоматическая проверка связей
- Каскадное удаление/обновление (если настроено)
В Android Room используйте аннотацию @ForeignKey в @Entity.
Видео-ответы
▶
▶
▶
▶