例如:我想要一个名为season (= {春、夏、秋、冬})的数据类型
发布于 2010-09-20 03:18:25
season表,它有两列:season_id和season_name:CREATE TABLE“foreign”( "SEASON_ID“NUMBER NOT NULL ENABLE,"SEASON_NAME”VARCHAR2(6字节) NOT NULL ENABLE,约束"SEASON_PK“PRIMARY KEY ("SEASON_ID") )
season_id列,并创建到season表的外键关系
CHECK约束是下一个选项,但如果您想要使用多个表中的值,因为它们不能集中管理,那就太糟糕了。触发器也是一种选择,但在这种情况下,与CHECK约束相比,触发器更像是一门杀死蚊子的大炮……
哪一个是最好的?
引用sql_mommy的话:
具有外键关系的单独的表是最好的。
它是管理所需类型的单一位置,并且它很灵活,因此您可以根据需要进行加/减值或编辑。这也有助于建立良好的索引。以防你认为“但是这个枚举的内容永远不需要编辑”--根据我的经验,所有的数据类型最终都会变形。例如,如果您有一个月份列表,以后可能会添加月份的各种缩写或与这些月份相关的业务关联。使用数据库的关系结构提供了最大的灵活性和最简单的可维护性。
https://stackoverflow.com/questions/3747105
复制相似问题