Oracle,第八周

维护数据完整性,约束

 NOT NULL

 UNIQUE 不可重复,但可以为NULL,可以有多个NULL

 PRIMARY KEY 主键,不可重复,不能为NULL,自动充当索引列。 (一个表只能有一个主键,但可以有多个UNIQUE)

 FOREIGN KEY 外键,指向主键也可以指向UNIQUE列,可以为NULL

 CHECK() , CHECK(expr)

 ALTER TABLE table_name MODIFY column_name 约束名

 ALTER TABLE table_name ADD CONSTRAINT 约束名 约束类型(columns)

 ALTER TABLE table_name DROP CONSTRAINT 约束名 

 当删除主键时,如果有外键关联, 可以先把关联的表的外键设为NULL。 或者 使用 CASCADE 级联删除。

SEQUENCE 

 自增长, SQLSERVER 使用的是 IDENTITY(1,1); MYSQL 使用的是 AUTO_INCREMENT

 在ORACLE 中 SEQUENCE 是作为一个对象来使用的可以便于管理。

  CREATE SEQUNCE seq_name START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE n CYCLE NOCACHE

  CYCLE 当seq到MAXVALUE时重新开始。

  NOCACHE 不使用缓存,(如果使用缓存,会一次性取出多个值,可能存在并发问题)

  seq_name.nextval 取出下一个值

  seq_name.currval 取出当前值, 注意如果还没有调用nextval就调用currval 会报错,也就是说在使用currval之前必须先使用nextval。

索引

  CREATE INDEX index_name ON table_name(columns) // 单列索引,多列索引

  索引分类 : B tree 索引,反向索引,位图索引,唯一索引,非唯一索引

  http://www.cnblogs.com/shouwangzhe-/p/3680752.html

权限和角色

  权限分为系统权限,对象权限。

  系统权限 : 对数据库管理操作,以及对数据对象创建和修改

  对象权限 : 对数据对象的操作,INSERT UPDATE, DELETE ...

  角色,指的是多个权限的集合,为了简化操作。

  预定义角色

  自定义角色。

原文地址:https://www.cnblogs.com/shouwangzhe-/p/3691752.html