Senior
Koje tabele i polja su potrebni u PostgreSQL bazi podataka za ovaj messenger?
sobes.tech АИ
Одговор од АИ
Za messenger u PostgreSQL-u obično su potrebne sledeće tabele i polja:
- users — čuva informacije o korisnicima:
id SERIAL PRIMARY KEY,
username VARCHAR UNIQUE NOT NULL,
email VARCHAR UNIQUE NOT NULL,
hashed_password TEXT NOT NULL,
created_at TIMESTAMP DEFAULT now()
- conversations — čatovi ili dijalozi:
id SERIAL PRIMARY KEY,
title VARCHAR,
created_at TIMESTAMP DEFAULT now()
- conversation_members — veza između korisnika i čatova:
id SERIAL PRIMARY KEY,
conversation_id INT REFERENCES conversations(id),
user_id INT REFERENCES users(id),
joined_at TIMESTAMP DEFAULT now()
- messages — poruke u čatovima:
id SERIAL PRIMARY KEY,
conversation_id INT REFERENCES conversations(id),
sender_id INT REFERENCES users(id),
content TEXT NOT NULL,
sent_at TIMESTAMP DEFAULT now(),
edited_at TIMESTAMP
Takođe, mogu se dodati tabele za priloge, statuse poruka itd., ali ove obezbeđuju osnovnu funkcionalnost messenger-a.