Tôi muốn tạo một ứng dụng nhắn tin đơn giản lưu trữ tin nhắn (tương tự như e-mail, nhưng chỉ đơn giản là tin nhắn). Tôi nên thiết kế cơ sở dữ liệu như thế nào?Lưu trữ e-mail trong cơ sở dữ liệu SQL
Bảng Users
:
- Tên đăng nhập (khóa chính)
- userPassword
Bảng E-mails
:
- EmailId (Khóa chính)
- Từ (key nước ngoài đến người dùng)
- Để
- Chủ đầu tư (key nước ngoài đến người dùng)
- Chủ đề
- Time
- nội dung Email
- bố trí Email (Có thể nội dung và bố cục trong một lĩnh vực? XAML)
Vì một e-mail có thể được gửi tới nhiều người, cách tốt nhất để lưu trữ cột là gì? Tôi có nên chỉ cần đặt nó như là một chuỗi, phân cách bằng dấu phẩy, sau đó lấy tất cả người dùng với một hàm trong mã của tôi? Hoặc là có cách nào tốt hơn để đi về điều này?
Nếu tất cả người nhận nằm trong mô hình (để thông báo ra bên ngoài), thì bạn nên lưu trữ chúng dưới dạng bảng tham chiếu, chứ không phải bên trong bảng thông báo. Bằng cách đó, bạn có thể phân tích cú pháp mục nhập và tất cả các địa chỉ luôn được cập nhật. – arkascha
Và nói chung không, chỉ để đảm bảo bạn nhớ rằng: Bạn nên _never_ lưu trữ mật khẩu người dùng bên trong cơ sở dữ liệu. – arkascha
@arkascha Tôi phải lưu trữ mật khẩu trong cơ sở dữ liệu, như băm không may. – user3117628