Tôi có một ứng dụng dựa trên web mà thông báo cho người sử dụng hoạt động trên các trang web thông qua email. Người dùng có thể chọn loại thông báo họ muốn nhận. Cho đến nay có khoảng 10 tùy chọn khác nhau (mỗi tùy chọn là đúng/sai).Cách tốt nhất để lưu trữ nhiều Flags Trong Cơ sở dữ liệu
Tôi hiện đang lưu trữ điều này trong một trường varchar dưới dạng 0 hoặc 1 được phân tách bằng dấu phẩy. Ví dụ: 1,0,0,0,1,1,1,1,0,0
Tác phẩm này rất khó để thêm cờ thông báo mới và theo dõi cờ nào thuộc về thông báo nào. Có tiêu chuẩn được chấp nhận để thực hiện việc này không? Tôi đã nghĩ đến việc thêm một bảng khác với một cột cho từng loại thông báo. Sau đó, tôi có thể thêm các cột mới nếu cần, nhưng tôi không chắc chắn hiệu quả của nó.
Cảm ơn trước!
Điều này có vẻ là giải pháp tốt nhất cho đến nay IMO. Lưu trữ tất cả trong một cột không phải là rất mở rộng. Và lưu trữ chúng như các trường bool trong một bảng có nghĩa là bạn phải thêm một trường mới mỗi khi có một kiểu thông báo mới. – Craig
Sẽ hoạt động tốt, đặc biệt nếu bạn muốn có thể quét các loại thông báo. – BCS
bình thường hóa là tuyệt vời cho khả năng mở rộng, nhưng nó có một chút về hiệu suất. – stephenbayer