六种约束类型