数据类型是一种限制能够存储在表中数据类别的方法。但是对于很多应用来说,它们提供的约束太宽松。例如,一个包含产品价格的列应该只接受正值。但是没有任何一种标准数据类型只接受正值。另一个问题是我们可能需要根据其他列或行来约束一个列中的数据。例如,在一个包含产品信息的表中,对于每个产品编号应该只有一行。
SQL允许我们在列和表上定义约束。约束让我们能够根据需求来控制表中的数据。如果一个用户试图在一个列中保存违反一个约束的数据,一个错误会被抛出。即便是这个值来自于默认值定义,这个规则也同样适用。
GBase 8c支持检查约束、非空约束、排他约束、唯一约束、主键、外键等约束类型。