例如:我想要一个名为season(= {spring,summer,fall,winter}
的数据类型答案 0 :(得分:5)
定义一个season
表,其中有两列:season_id
和season_name
:
CREATE TABLE "SEASON" (
"SEASON_ID" NUMBER NOT NULL ENABLE,
"SEASON_NAME" VARCHAR2(6 BYTE) NOT NULL ENABLE,
CONSTRAINT "SEASON_PK" PRIMARY KEY ("SEASON_ID")
)
将season_id
列添加到其记录需要季节标识的表中,并创建与season
表的外键关系
CHECK约束是下一个选项,但是如果要在多个表中使用这些值,则会很糟糕,因为它们无法集中管理。触发器也是一种选择,但在这种情况下,与CHECK约束相比,触发器更像是用于杀死蚊子的大炮......
引用sql_mommy:
[具有外键关系的单独表格]是最好的 它是管理所需类型的单一位置,它非常灵活,因此您可以根据需要添加/减去值或进行编辑。它也可以实现良好的索引。如果您认为“但这个枚举的内容永远不需要编辑” - 根据我的经验,所有数据类型最终都会变形。例如,如果您有月份列表,则稍后您可以添加月份的各种缩写或与这些月份相关的业务相关关联。使用数据库的关系结构可以提供最大的灵活性和最简单的可维护性。