Avatar
0
Cường Nguyễn Hữu Beginner
Thiết kế db ứng dụng chat
Chào mọi người. Em vừa thiết kế db ứng dụng chat. Gồm các chức năng chính:

Đăng nhập, đăng xuất khỏi 1 hoặc nhiều thiết bị, đăng ký

Gửi otp để reset mật khẩu, thay đổi thông tin cá nhân

Thêm người vào nhóm, gửi yêu cầu kết bạn

Thay đổi tên trong đoạn chat

Nhắn tin 1-1, 1-n

Xem ai đã xem tin nhắn

....

Mong mọi người đóng góp ý kiến để em hoàn thiện bài tập lớn trên trường ạ. Thiết kế hiện tại của em là:

  • Answer
Remain: 5
1 Answer
Avatar
tvd12 Beginner
tvd12 Beginner
Đối với thiết kế cơ sở dữ liệu cho chat thì bảng Message phải là trung tâm, và hiện tại trong thiết kế của em có vấn đề đó là nó chỉ phục vụ được chat cho 2 người, còn chat nhóm thì chịu. Vì em đã để mỗi quan hệ là: 1 người (sender_id) chỉ gửi 1 tin nhắn (message_id) cho 1 người (contact_id). Như vậy việc mở rộng hệ thống về sau này sẽ khó khăn khi em cần chat group.

Có 1 cách đơn giản nhất là em bổ sung channel_id, tức là bây giờ việc chat sẽ chia thành các kênh, và bảng message sẽ kiểu này:

Message(id, channel_id, content...)

Anh có viết 1 bài về thiết kế cơ sở dữ liệu cho chat, em có thể tham khảo nhé.

  • 1
  • Reply