Nói chung, ENUM
loại không được sử dụng trong những trường hợp này. Điều này đặc biệt đúng nếu bạn có ý định phục vụ cho việc thêm hoặc bớt vai trò một cách linh hoạt trong tương lai. Cách duy nhất để thay đổi các giá trị của ENUM
là với ALTER TABLE
, trong khi việc xác định vai trò trong bảng riêng của chúng sẽ chỉ yêu cầu một hàng mới trong roles
bảng.
Ngoài ra, sử dụng roles
bảng cho phép bạn thêm các cột bổ sung để xác định rõ hơn vai trò, chẳng hạn như description
trường bạn đã đề xuất trong Tùy chọn 1. Điều này không thể thực hiện được nếu bạn sử dụng ENUM
nhập như trong Tùy chọn 2.
Cá nhân tôi sẽ không chọn ENUM
trong các tình huống này. Có lẽ tôi có thể thấy chúng được sử dụng cho các cột có tập hợp giá trị hoàn toàn hữu hạn, chẳng hạn như {Spades, Hearts, Diamonds, Clubs}
để xác định sự phù hợp của một thẻ, nhưng không phải trong các trường hợp như thẻ được đề cập, vì những nhược điểm đã đề cập trước đó.