Chinaunix首页 | 论坛 | 博客
  • 博客访问: 86221
  • 博文数量: 31
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 370
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-26 13:33
文章分类

全部博文(31)

文章存档

2009年(5)

2008年(26)

我的朋友

分类: Oracle

2008-08-28 13:55:19

表分区列表分区

l         列表分区允许用户明确地控制行到分区的映射

l         不同于范围分区或散列分区,它允许按自然方式对无序和不相关的数据集进行分组和组织

【例如】在客户表中记录着客户的国别信息。它们是中国,美国,法国,英国,加拿大。那么在创建表时,我们可以对表进行列表分区。

 

Insert into student values(1001,’张三50)  student表中插入数据,会根据50这个值将这条记录放入相应的分区

 

Select * from student partition(p1)    读取分区p1中的数据

 

Desc user_tab_partitions  查看用户创建的表,以及表创建分区的信息

 

Select table_name,partition_name,partition_position from user_tab_partitions;

 

Insert into student values(&stun,’&Name’,&score);   交互式插入数据

/ 再次执行

 

表分区的维护时我们可以做:移动,添加,删除,结合,截断,拆分,合并,交换

 

添加分区

Alter table student add partition p5 values less than(120);

 

删除分区

Alter table student drop partition p4;

 

截短分区

Alter table student truncate partition p5;

 

合并分区

Alter table student merge partitions p3,p4 into partition p6;

 

分区数据字典

User_tab_partitions

User_ind_partitions  表索引

 

 

 

数据对象

同义词:数据库对象的替换名称(相当与别名)

优点:--简化SQL语句

      --隐藏对象的名称和所有者

      --为分布式数据库的远程对象提供了位置透明性

      --提供对象的公共访问

 

l         私有

l         公用

l         Create synonym 命令用于创建同义词

l         Drop synonym 命令用于删除同义词

l         User_synonyms 包含有关同义词的信息

 

Create synonym employee for scott.emp;访问employee就相当于访问scott.emp

 

Create public synonym employee for scott.emp; 创建公用同义词让所有的用户都可以访问

 

序列: --是能够自动产生连续唯一值的数据库共享对象

       --用于为主键提供值

       --创建序列语句

 

create SEQUENCE sequence_name

[INCREMENT BY n]   指定增长的间隔,默认为1

[START WITH n]     起始数,从哪里开始增长

[{MAXVALUE n | NOMAXVALUE}]   设定或不设定最大值,默认不限制

[{MINVALUE n | NOMINVALUE}]   设定或不设定最小值,默认不限制

[{CYCLE | NOCYCLE}]     如果设定,当增长至最大时候,将从起始数重新循环

[{CACHE n | NOCACHE}];      ORACLE初始化时,在缓存区中默认生成一些值,用户在生成值时直接从缓存中

 

两个重要属性

NEXTVAL 返回下一个可用的值

CURRVAL 获取当前的序列中的值

 

对于一个新定义的序列必须先用NEXTVAL产生值,再可以用CURRVAL返回当前值

Alter sequence 修改序列定义

Drop sequence 从数据库中删除序列

序列数据字典  USER_SEQUENCES

阅读(943) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~