ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 自己整理的学习资料——DB2 V8数据库基础(十六)

自己整理的学习资料——DB2 V8数据库基础(十六)

原创 Linux操作系统 作者:rheet1978 时间:2008-10-17 12:42:26 0 删除 编辑

3.2    DDL数据定义语言

CREATE:            用于创建数据库对象。

DECLARE:                除了是创建只在过程中使用的临时表外,DECLARE语句和CREATE语句非常相似。唯一可以被声明的对象是表。并且必须放入用户临时表空间。

DROP:               可以删除任何用CREATE(数据库对象)和DECLARE(表)创建的对象。

ALTER:              允许修改某些数据库对象的信息。不能修改索引。

 

3.2.1   数据库(不能算DDL语言,只能算DB2 CLP命令):

创建数据库:

CREATE  DB  dbname

删除数据库:

DROP     DB  dbname

3.2.2   表:

创建新表:

CREATE TABLE  tabname(

col1 type1 [not null] [primary key],

col2 type2 [not null],..)

 

根据已有的表创建新表:

l         CREATE TABLE  tab_new  LIKE  tab_old

l         CREATE TABLE tab_new  AS select col1,col2… FROM  tab_old DEFINITION ONLY

 

表的类型

  永久表(基表)

  临时表(说明表)

  临时表(派生表)

 

修改表:

l         增加一个列:

Alter table tabname add column col  type

注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

l         添加主键:

Alter table tabname add primary key(col)

l         删除主键:

Alter table tabname drop primary key(col)

重命名表

RENAME  旧表名  TO   新表名

 

删除表:

DROP TABLE  tabname

 

快速清除一个大表

ALTER TABLE 表名ACTIVATE  NOT LOGGED INITIALLY WITH EMPTY TABLE

关闭表的日志

  ALTER  TABLE   表名   ACTIVATE  NOT  LOGGED  INITIALLY 

列出一个用户所有的表

SELECT  *  FROM  SYSIBM.SYSTABLES  WHERE  CREATOR='USER'

 

要删除表中所有行而不删除表本身,可以用ALTER TABLE语句:

ALTER TABLE name ACTIVATE NOT LOGGED INITIALLY  WITH EMPTY TABLE

3.2.3   表空间:

表空间用来存储表,抽象物理存储,由一个或多个容器组成,有4k,8k,16k,32k的页面大小。默认的表空间有:SYSCATSPACE(4K,存储系统目录和表),TEMPSPACE1(4K,临时表空间),USERSPACE1(4K,用户表空间)。

 

表空间的类型有:REGULAR(如USERSPACE1),SYSTEM TEMPORARY(如TEMPSPACE1),LARGE(如SPS_LARGE),USER TEMPORARY四种。

 

表空间按管理方式分为系统管理表空间(SMS:system manage space)和数据库管理表空间(DMS),SMS是由系统进行维护的,其容器是文件系统的目录,自己增长,大小的限制为文件目录的大小,容器的个数在创建的时候决定,不能修改,不能划分为INDEX和LOB表空间。DMS是数据库维护的,其容器是file或raw  devices ,其容器们可以增加,修改,或改变大小,DMS可以把INDEX,TABLE和LOB数据放到几个表空间中。

 

创建表空间:

create tablespace tbsname pagesize 4k managed by database using (file ‘file’ size)

 

表空间加入容器:

alter tablespace tablespace_name add(file 'filename' size)

注:该操作是不可逆的,加入容器后将不能将其删除,因此在加入的时候注意。

 

删除表空间:

drop tablespace tbsname

 

OLTP联机事务处理的时候一般用smaller page size

OLAP联机分析处理或DSS数据仓库系统的时候一般用larger page size

DMS比SMS快10%到15%的速度

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9524210/viewspace-471541/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2008-06-09

  • 博文量
    84
  • 访问量
    548246