唯一索引、主键、Unique约束
2017-07-08 11:31
330 查看
1、定义
若当前有一张Admin表,如下:
若要为admin_id创建唯一索引,则语句为:
Create [Unique] Index 索引名 on 表名 (列名)
create [Unique] Index IDX_admin_id on Admin(admin_id)
也可以用图形化界面,如MySQL中,设计表->索引,然后进行添加
Alter table 表名
add constraint 主键名 primary key(列名)
Alter table administer
ADD CONSTRAINT admin_id_PK PRIMARY key(admin_id)
Alter table 表名
add constraint 约束名 unique(列名)
Alter table administer
ADD CONSTRAINT admin_id_UQ unique(admin_id)
什么时候创建唯一索引、主键、Unique约束?
1、主键:首先要知道候选键——一个属性或一个属性集能够唯一标识一个关系的元组而又不包含多余的属性。主键是从候选键中选择一个作为主键。比如:学校教务系统有一个学生信息表,有学号、身份证号、姓名这三个字段,学号和身份证号都能唯一标识一个学生,通常选择学号作为主键。
2、Unique约束:通常是为非主属性设置的,非主属性取值要不重复,这个时候就可以将该属性设置为Unique约束。就如上面的例子中,身份证号不是主键,但它的取值却不能重复,这种情况就必须使用Unique约束。
3、唯一索引:创建索引是为了加快检索速度,只有当经常查询索引列中的数据时,才需要在列中建立索引。索引是在磁盘上开辟一块空间,然后把列中的数据导入进去。创建唯一索引,确保数据库表中每一行数据的唯一性。
若当前有一张Admin表,如下:
(1)唯一索引
若要为admin_id创建唯一索引,则语句为:
Create [Unique] Index 索引名 on 表名 (列名)
create [Unique] Index IDX_admin_id on Admin(admin_id)
也可以用图形化界面,如MySQL中,设计表->索引,然后进行添加
(2)创建主键
Alter table 表名
add constraint 主键名 primary key(列名)
Alter table administer
ADD CONSTRAINT admin_id_PK PRIMARY key(admin_id)
(3)创建约束,这个与创建主键类似
Alter table 表名
add constraint 约束名 unique(列名)
Alter table administer
ADD CONSTRAINT admin_id_UQ unique(admin_id)
什么时候创建唯一索引、主键、Unique约束?
1、主键:首先要知道候选键——一个属性或一个属性集能够唯一标识一个关系的元组而又不包含多余的属性。主键是从候选键中选择一个作为主键。比如:学校教务系统有一个学生信息表,有学号、身份证号、姓名这三个字段,学号和身份证号都能唯一标识一个学生,通常选择学号作为主键。
2、Unique约束:通常是为非主属性设置的,非主属性取值要不重复,这个时候就可以将该属性设置为Unique约束。就如上面的例子中,身份证号不是主键,但它的取值却不能重复,这种情况就必须使用Unique约束。
3、唯一索引:创建索引是为了加快检索速度,只有当经常查询索引列中的数据时,才需要在列中建立索引。索引是在磁盘上开辟一块空间,然后把列中的数据导入进去。创建唯一索引,确保数据库表中每一行数据的唯一性。
相关文章推荐
- SQL0803N INSERT 语句、UPDATE 语句或由 DELETE 语句导致的外键更新中的一个或多个值无效,因为由 "1" 标识的主键、唯一约束或者唯一索引将表
- Oracle 唯一 约束(unique constraint) 与 索引(index) 关系说明
- 基于主键和唯一约束的显示索引控制
- postgresql 外键约束是否自动索引,unique约束是否自动建索引,主键是否自动建索引
- ORACLE中主键约束跟唯一索引的区别
- 学生登录SQL语句,包括check约束,唯一索引,主键
- 数据库六大约束用法:主键(primary key)、外键(foreign key)、非空(not null)、默认(default)、检查(check)、唯一(unique)
- ORACLE中主键约束跟唯一索引的区别
- SQL存储原理及聚集索引、非聚集索引、唯一索引、主键约束的关系
- 数据库六大约束用法:主键(primary key)、外键(foreign key)、非空(not null)、默认(default)、检查(check)、唯一(unique)
- 如何删除通过主键和唯一约束创建的索引
- 创建unique时,约束和索引有何区别。唯一约束和唯一索引区别,选项"忽略重复键"作用
- oracle 主键 唯一约束 索引
- 如何删除通过主键和唯一约束创建的索引
- Oracle 唯一 约束(unique constraint) 与 索引(index) 关系说明
- Oracle主键约束、唯一键约束、唯一索引的区别【主键约束和唯一键约束均会隐式创建同名的唯一索引】
- 第五章、数据库设计(三范式、主键约束 primary key、外键约束 foreign key、唯一约束unique 、CHECK约束)
- Oracle主键约束、唯一键约束、唯一索引的区别
- Oracle 唯一 约束(unique constraint) 与 索引(index) 关系说明
- Oracle主键约束、唯一键约束、唯一索引的区别