自己整理的學習資料——DB2 V8資料庫基礎(十六)

rheet1978發表於2008-10-17

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   表空間:

表空間用來儲存表,抽象物理儲存,由一個或多個容器組成,有4k8k16k32k的頁面大小。預設的表空間有:SYSCATSPACE(4K,儲存系統目錄和表)TEMPSPACE1(4K,臨時表空間)USERSPACE14K,使用者表空間)。

 

表空間的型別有:REGULAR(USERSPACE1)SYSTEM TEMPORARY(TEMPSPACE1),LARGE(SPS_LARGE),USER TEMPORARY四種。

 

表空間按管理方式分為系統管理表空間(SMSsystem manage space)和資料庫管理表空間(DMS),SMS是由系統進行維護的,其容器是檔案系統的目錄,自己增長,大小的限制為檔案目錄的大小,容器的個數在建立的時候決定,不能修改,不能劃分為INDEXLOB表空間。DMS是資料庫維護的,其容器是fileraw  devices ,其容器們可以增加,修改,或改變大小,DMS可以把INDEX,TABLELOB資料放到幾個表空間中。

 

建立表空間:

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

DMSSMS10%到15%的速度

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9524210/viewspace-471541/,如需轉載,請註明出處,否則將追究法律責任。

相關文章