1 、 Primary Key 约束
在表中常有一列或多列的组合,其值能唯一标识表中的每一行。
这样的一列或多列成为表的主键(PrimaryKey)。一个表只能有一个主键,而且主键约束中的列不能为空值。只有主键列才能被作为其他表的外键所创建。
创建主键约束可以右键单击表,选择设计 。



增加列在指定位置sql hive_多列

选中要创建主键的列,然后单击上面的小钥匙。



增加列在指定位置sql hive_多列_02

也可以右键需要创建主键的列,然后单击小钥匙。



增加列在指定位置sql hive_外键_03

2 、 Foreign Key 约束
外键约束是用来加强两个表(主表和从表)的一列或多列数据之间的连接的。创建外键约束的顺序是先定义主表的主键,然后定义从表的外键。也就是说只有主表的主键才能被从表用来作为外键使用,被约束的从表中的列可以不是主键,主表限制了从表更新和插入的操作。
右键单击需要设置外键的列(此时的表是作为从表在外键中出现),选择关系。



增加列在指定位置sql hive_外键_04

接下来点击添加 --> 表和列规范。



增加列在指定位置sql hive_主键_05

 在主键表中选择主表和主表的主键列。



增加列在指定位置sql hive_多列_06

设置完后保存即可。3 、 Unique 约束
唯一约束确保表中的一列数据没有相同的值。与主键约束类似,唯一约束也强制唯一性,但唯一约束用于非主键的一列或者多列的组合,且一个表可以定义多个唯一约束。
右键单击要设置的列选择索引 / 键。



增加列在指定位置sql hive_多列_07

然后单击添加按钮。



增加列在指定位置sql hive_外键_08

选择需要设置的列,可以是一列也可以是多列的组合。



增加列在指定位置sql hive_外键_09

关闭并保存设置。4 、 Default 约束
若在表中定义了默认值约束,用户在插入新的数据行时,如果该行没有指定数据,那么系统将默认值赋给该列,如果我们不设置默认值,系统默认为 NULL 。

以学生信息表为例,在表设计器中,为性别 sex 列填写默认值男。



增加列在指定位置sql hive_外键_10

5 、 Check 约束
Check 约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围。在列中更新数据时,所要输入的内容必须满足 Check 约束的条件,否则将无法正确输入。
以学生信息表中的 sex 为例,我们要限制 sex 列的值只能为男或女。



增加列在指定位置sql hive_主键_11

增加列在指定位置sql hive_多列_12

增加列在指定位置sql hive_外键_13

增加列在指定位置sql hive_外键_14

关闭并保存设计。