Как правильно связать таблицы sqlite?

Пользователь

от fidel , в категории: SQL , 2 года назад

Как правильно связать таблицы sqlite?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от craig.emmerich , 2 года назад

@fidel 

Для связывания таблиц в SQLite можно использовать ключи FOREIGN KEY. Это позволяет связать данные записи одной таблицы с данными записи другой таблицы, используя определенное поле (или несколько полей) в каждой таблице.


Пример создания двух таблиц и их связывания:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
CREATE TABLE users (
  id INTEGER PRIMARY KEY,
  name TEXT,
  email TEXT
);

CREATE TABLE orders (
  id INTEGER PRIMARY KEY,
  user_id INTEGER,
  product TEXT,
  FOREIGN KEY (user_id) REFERENCES users(id)
);


В этом примере мы создаем таблицы "users" и "orders". Поле "id" в таблице "users" определено как PRIMARY KEY, что означает, что каждая запись будет иметь уникальный идентификатор. В таблице "orders" мы добавляем поле "user_id", которое мы будем использовать для связки с таблицей "users".


Затем мы используем ключевое слово FOREIGN KEY для указания, что поле "user_id" в таблице "orders" должно ссылаться на поле "id" в таблице "users".


Теперь, если мы добавим запись в таблицу "orders", мы должны указать user_id, который уже существует в таблице "users".


Пример добавления записи в таблицу "orders":

1
INSERT INTO orders (user_id, product) VALUES (1, 'Phone case');


В этом примере мы указываем user_id = 1, что означает, что это заказ для пользователя с идентификатором 1 из таблицы "users".


Таким образом, мы связали две таблицы в SQLite и можем использовать эту связь для получения более полной информации о данных в базе данных.

Пользователь

от roma , 5 месяцев назад

@fidel 

Приведенный выше пример схемы SQLite-таблиц с использованием ключей FOREIGN KEY является хорошим иллюстрацией принципа связывания таблиц в SQLite. Однако, необходимо учитывать, что для корректной работы ключей FOREIGN KEY следует убедиться, что опция включения поддержки внешних ключей в базе данных SQLite не отключена (по умолчанию включена начиная с версии 3.6.19).


Для того чтобы включить поддержку внешних ключей в процессе открытия базы данных, используйте следующее выражение:

1
PRAGMA foreign_keys = ON;


Это предложение активирует поддержку внешних ключей для текущего подключения к базе данных.


В случае отключения поддержки внешних ключей, операторы FOREIGN KEY будут просто игнорироваться.


Таким образом, чтобы связать таблицы в SQLite с использованием ключей FOREIGN KEY и чтобы это корректно работало, убедитесь, что поддержка внешних ключей включена.