讲解GBase 8s数据库主键约束、唯一约束与唯一索引(上)

在数据库设计中,保证数据的唯一性是一项基础需求。南大通用GBase 8s数据库(gbase database)提供了三种实现手段:主键约束(PRIMARY KEY)、唯一约束(UNIQUE) 和 唯一索引(UNIQUE INDEX)。

文章配图-1

三者在功能上高度相似,容易混淆,但在约束规则、实现机制和使用场景上存在明确差异。本文逐一梳理三者的定义与区别,并通过实际操作进行验证。


一、主键约束(PRIMARY KEY)

主键用于唯一标识表中的每一条记录,其主要特性包括:

  • 可以定义一列或多列为主键,但一个表上只能有一个主键;
  • 主键列上没有任何两行具有相同值,且不允许为空(NULL);
  • 不建议更新主键;
  • 主键可作为外键被引用,唯一索引不可。

二、唯一约束(UNIQUE)

唯一约束用于限制主键以外列上数据的唯一性,可作为访问某行的可选手段:

  • 一个表上可以放置多个唯一约束;
  • 只要保证唯一,该列的值就可以更新;
  • 表中任意两行在指定列上不允许有相同值,但允许存在空值(NULL)。

三、唯一索引(UNIQUE INDEX)

唯一索引从索引层面保证键值唯一:

  • 任何生成重复键值的插入或更新尝试都会失败;
  • 只要保证唯一,该列的值就可以更新;
  • 与唯一约束相同,允许存在空值(NULL)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值