Как создать список друзей в sql /sqlite

#sql #node.js #sqlite #node-sqlite3

#sql #node.js #sqlite #узел-sqlite3

Вопрос:

Я относительно новичок в sql и пытаюсь создать отношения между двумя пользователями. Чтобы дружить друг с другом, необходимо отправить и принять запрос на дружбу. Теперь у меня есть третья таблица под названием «Предметы». Теперь пользователь должен иметь возможность видеть все предметы, принадлежащие его друзьям. Я вроде как застрял, написав этот запрос…

таблица товаров:

 CREATE TABLE IF NOT EXISTS item(  id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,  owner VARCHAR(50) NOT NULL,  borrowedBy VARCHAR(50),  imageUrl TEXT  );  

стол дружбы:

 CREATE TABLE IF NOT EXISTS friendship(  friendship_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL  );  

дружеские отношения с пользователем

 CREATE TABLE IF NOT EXISTS user_friendship(  username VARCHAR(50) NOT NULL,  friendship_id INTEGER NOT NULL,  status INTEGER NOT NULL,  PRIMARY KEY (username, friendship_id)  );  

Комментарии:

1. В чем заключается ваш вопрос? Пожалуйста, покажите примерные данные, фактические результаты и ожидаемые результаты.

2. в чем смысл вашего дружеского стола здесь, пожалуйста, дайте больше полезной информации

3. возможно, вам потребуется оптимизировать свою структуру

Ответ №1:

Вам нужно ознакомиться с учебными пособиями о том, как создать базу данных SQL, в основном на основе взаимосвязи таблиц.

Здесь, например, вам не нужна отдельная таблица дружбы и дружбы пользователей.

У тебя мог бы быть один столик для дружбы:

 CREATE TABLE IF NOT EXISTS friendship(  friendship_id INTEGER NOT NULL,  username1 VARCHAR(50) NOT NULL,  username2 VARCHAR(50) NOT NULL,  status INTEGER NOT NULL,  PRIMARY KEY (friendship_id, username1 , username2 )  );  

Обратите внимание, что для внешних ключей следует использовать целочисленное значение, а не varchar(50).