oracle学习之约束与索引

1.约束

约束用于确保数据库数据满足特定的商业规则。在oracle中约束包括:not null,unique,primary key,foreign key和check五种。

2.五种约束

  • not null(非空):如果在列上定义了not null,那么当插入数据时,必须为列提供数据
  • unique(唯一):当定义了唯一约束后,该列值是不能重复的,但是可以为null
  • primary key(主键):用于唯一的标示表行的数据,当定义主键约束后,该列不但不可以重复而且不能为null,一个表只能有一个主键,但可以有多个unique约束
  • foreign key(外键):用于定义主表和从表的关系,外键约束要定义在从表上,朱彪需要具有主键约束或者unique约束。
  • check:用于强制数据必须满足的条件

3.序列

在oracle中,通过使用序列(sequence)来处理自动增长列
  • 可以为表中的列自动产生值
  • 有用户创建数据库对象,并可以由多个用户共享
  • 一般用于主键或唯一列

4.两个值

currval:返回sequence的当前值(需要先执行nextval初始化才会有值)
nextval:返回sequence的值,然后返回sequence值

5.基本语法

CREATE SEQUENCE sequence //创建序列名称
       [INCREMENTBY n]  //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1
       [START WITHn]    //开始的值,递增默认是minvalue 递减是maxvalue
       [{MAXVALUEn | NOMAXVALUE}] //最大值
       [{MINVALUEn | NOMINVALUE}] //最小值

        [{CYCLE | NOCYCLE}] //循环/不循环

       [{CACHE n |NOCACHE}];//分配并存入到内存中


6.索引介绍

索引是用于加速数据存取的数据对象,合理的使用索引可以大大降低i/o次数,从未提高数据访问性能

7.创建索引

1.单列索引:单列索引是基于单个列所建立的索引
create index index_name
on		   table(columnname);
2.复合索引:复合索引是基于两列或是多列的索引,在同一张表中可以有多个索引,但是要求列的组合必须不同
create index index_name
on		   table(columnname,columnname…);


8.索引使用原则

  • 在大表上建立索引才有意义
  • 在where子句或是连接条件上经常引用的列上建立索引
  • 索引的层次不要超过4层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值