如何在PostgreSQL中表示评级?

如何在PostgreSQL中表示评级?,postgresql,Postgresql,我有一个Ratings表,它有3列:location\u id,rating,user\u id(其中user\u id和location\u id是其他表中的外键)。我想限制评级,使其只能为0、1、2、3、4、5 我的第一个想法是 CREATE TYPE rating as ENUM('0', '1', '2', '3', '4', '5') 这是表示评分的好方法,还是有更好或更有效的方法来存储评分 我是SQL新手,如果我错过了一些明显的问题,我深表歉意,但我在别处找不到这个问题。枚举很少是

我有一个
Ratings
表,它有3列:
location\u id
rating
user\u id
(其中user\u id和location\u id是其他表中的外键)。我想限制评级,使其只能为0、1、2、3、4、5

我的第一个想法是

CREATE TYPE rating as ENUM('0', '1', '2', '3', '4', '5')
这是表示评分的好方法,还是有更好或更有效的方法来存储评分


我是SQL新手,如果我错过了一些明显的问题,我深表歉意,但我在别处找不到这个问题。

枚举很少是一个好的选择

如果要将整型列限制在特定范围内,请使用检查约束:

alter table ratings
   add constraint check_rating
   check (rating between 0 and 5);