Size: a a a

2019 December 11

DS

David Shiko in SPb Python
схемка
источник

DS

David Shiko in SPb Python
David Shiko
Парни, я правильно БД сделал?
Я делаю таблицу с каким то текстом и лайками. Лайки ссылаются на другую таблицу, в которой просто id лайкнувшего юзера.
Забыл сам DDL скинуть😆

connection = sqlite3.connect('my_db')
cursor = connection.cursor()

cursor.execute("""CREATE TABLE posts(
id INTEGER PRIMARY KEY,
post_stuff TEXT,
likes INTEGER,
FOREIGN KEY (user_id) REFERENCES posts(id))""")

cursor.execute("""CREATE TABLE users_ids(
id INTEGER PRIMARY KEY,
user_id INTEGER)""")
источник

AS

Anatoly Shirokov in SPb Python
David Shiko
Парни, я правильно БД сделал?
Я делаю таблицу с каким то текстом и лайками. Лайки ссылаются на другую таблицу, в которой просто id лайкнувшего юзера.
источник

AS

Anatoly Shirokov in SPb Python
но возможно, надо будет в таблицу post добавлять поле "число лайков", чтобы не делать запрос к таблице post_like
источник

DS

David Shiko in SPb Python
Anatoly Shirokov
но возможно, надо будет в таблицу post добавлять поле "число лайков", чтобы не делать запрос к таблице post_like
Спасибо. А как мне 3 таблицу с user_id к post_likes прицепить, и насколько это необходимо, вроде же без этого можно обойтись?
источник

AS

Anatoly Shirokov in SPb Python
David Shiko
Спасибо. А как мне 3 таблицу с user_id к post_likes прицепить, и насколько это необходимо, вроде же без этого можно обойтись?
?
источник

DS

David Shiko in SPb Python
Я не собирался в таблице user хранить что лайкнул пользователь. т.е. post знает, кто его лайкнул, а сам user этого не знает ( не хранит).
Надо ли, что бы user хранил кого он лайкнул. У тебя на схеме эта связь есть.
источник

AS

Anatoly Shirokov in SPb Python
David Shiko
Я не собирался в таблице user хранить что лайкнул пользователь. т.е. post знает, кто его лайкнул, а сам user этого не знает ( не хранит).
Надо ли, что бы user хранил кого он лайкнул. У тебя на схеме эта связь есть.
у тебя три таблицы: post, user, post_like, по post_like можно определить и что лайкнули и кто лайкнул
источник

AS

Anatoly Shirokov in SPb Python
или ты совсем в реляционных бд плаваешь?
источник

AS

Anatoly Shirokov in SPb Python
тебе эта схема понятна?
источник

DS

David Shiko in SPb Python
Anatoly Shirokov
или ты совсем в реляционных бд плаваешь?
понимаю на 4 из 10
источник

AS

Anatoly Shirokov in SPb Python
post имеет отношение многие ко многим с таблицей user, что означает, что post могут лайкнуть несколько человек, и что один человек может лайкнуть несколько постов. это отношение отражается в таблице post_like
источник

DS

David Shiko in SPb Python
Anatoly Shirokov
тебе эта схема понятна?
Да, она соответствует DDL что я скинул и добавляет связь между users и likes (в users надо отдельную колонку с foreign key сделать, которая ссылается на колонку id в posts. Так я понял.
источник

AS

Anatoly Shirokov in SPb Python
David Shiko
Да, она соответствует DDL что я скинул и добавляет связь между users и likes (в users надо отдельную колонку с foreign key сделать, которая ссылается на колонку id в posts. Так я понял.
в users как и posts ничего не надо
источник

AS

Anatoly Shirokov in SPb Python
никаких foreign key
источник

DS

David Shiko in SPb Python
Anatoly Shirokov
никаких foreign key
Сейчас попробую DDL сделать и скину
источник

AS

Anatoly Shirokov in SPb Python
у тебя FK должны быть в post_like
источник

AS

Anatoly Shirokov in SPb Python
на posts и users
источник

DS

David Shiko in SPb Python
Anatoly Shirokov
на posts и users
Мне надо видео урок пересмотреть про многие ко многим и FK)
источник

DS

David Shiko in SPb Python
Anatoly Shirokov
никаких foreign key
Сделал по аналогии с видео, но сильно сомневаюсь, что у меня вышло правильно )

cursor.execute("""CREATE TABLE users_ids(
id INTEGER PRIMARY KEY,
user_id TEXT)""")


cursor.execute("""CREATE TABLE posts(
post_id INTEGER PRIMARY KEY,
likes INTEGER)""")


cursor.execute("""CREATE TABLE likes(
user_id INTEGER,
post_id INTEGER,
PRIMARY KEY (user_id, post_id),
FOREIGN KEY (user_id) REFERENCES users (user_id),
FOREIGN KEY (post_id) REFERENCES posts (post_id) )""")
источник