DB2 Table Partitioning on Windows

Ada beberapa operasi untuk table partition
- create table space
- create table dengan partition
- attach dan detach
- menambah partition baru

1. create table space
Pertama- tama kita membuat table space yang akan kita gunakan untuk meletakkan data.

Berikut contoh syntax dimana kita akan membuat partisi berdasarkan tahun. Setiap tahun akan diletakkan di table space terpisah. Namun sedikit tambahan table space ini harus berada di dalam database partition yang sama.

db2 create large tablespace tahun2008 pagesize 4 k managed by automatic storage bufferpool ibmdefaultbp

db2 create large tablespace tahun2009 pagesize 4 k managed by automatic storage bufferpool ibmdefaultbp

2. create table dengan partition
db2 create table sales (product varchar(20) not null, trans_date date not null, qty integer not null) partition by range(trans_date)
(partition tahun2008 starting from (’01/01/2008′) inclusive ending at(’01/01/2009′) exclusive in tahun2008,partition tahun2009 starting from(’01/01/2009′) inclusive ending at(’01/01/2010′) exclusive in tahun2009)

Kemudian kita insert data dummynya
insert into sales values (‘meja’,’01/01/2008′,1);
insert into sales values (‘kursi’,’01/01/2008′,1);
insert into sales values (‘meja’,’02/02/2008′,1);
insert into sales values (‘bangku’,’03/03/2008′,1);
insert into sales values (‘kursi’,’04/04/2008′,1);
insert into sales values (‘meja’,’05/05/2008′,1);
insert into sales values (‘kursi’,’01/01/2009′,2);
insert into sales values (‘meja’,’02/02/2009′,2);
insert into sales values (‘bangku’,’03/03/2009′,2);
insert into sales values (‘kursi’,’04/04/2009′,2);
insert into sales values (‘meja’,’05/05/2009′,2);

Jika kita melakukan perintah select, maka akan menghasilkan

PRODUCT              TRANS_DATE QTY
——————– ———- ———–
meja                 01/01/2008           1
kursi                01/01/2008           1
meja                 02/02/2008           1
bangku               03/03/2008           1
kursi                04/04/2008           1
meja                 05/05/2008           1
kursi                01/01/2009           2
meja                 02/02/2009           2
bangku               03/03/2009           2
kursi                04/04/2009           2
meja                 05/05/2009           2

3. attach dan detach
Kemudian kita akan melakukan proses detach dengan menggunakan syntax berikut
db2 alter table sales detach partition tahun2009 into table tahun2009.

Perintah diatas juga menghasilkan 1 table bernama tahun2009 yang berisikan record dari table sales yang trans_datenya terjadi tahun 2009.
Jika kita melakukan perintah select kembali, maka akan menghasilkan

PRODUCT              TRANS_DATE QTY
——————– ———- ———–
meja                 01/01/2008           1
kursi                01/01/2008           1
meja                 02/02/2008           1
bangku               03/03/2008           1
kursi                04/04/2008           1
meja                 05/05/2008           1

Untuk melakukan attach partition dapat menggunakan command berikut
db2 alter table sales attach partition tahun2009 starting from (’01/01/2009′) inclusive ending at (’01/01/2010′) exclusive from table tahun2009

db2 set integrity for sales immediate checked

Setelah melakukan 2 perintah diatas maka ketika kita melakukan select kembali maka akan muncul 11 record.

4. menambah partition baru
Sekarang jika kita melakukan perintah berikut apa yang terjadi ?
insert into sales values (‘kursi’,’01/01/2010′,3);
insert into sales values (‘meja’,’02/02/2010′,3);

Perintah diatas akan menghasilkan error karena tidak termasuk range yang ada. Oleh karena itu kita harus membuat partition baru. Pertama kita harus membuat table space baru, kemudian kita melakukan alter table untuk menambahkan partition yang baru.

Berikut commandnya
db2 create large tablespace tahun2010 pagesize 4 k managed by automatic storage bufferpool ibmdefaultbp

db2 alter table sales add partition tahun2010 starting from (’01/01/2010′) inclusive ending at (’01/01/2011′) exclusive in tahun2010

Selamat mencoba ^^

Sumber
Database Partitioning,Table Partitioning, and MDC for DB2 9

This entry was posted in DB2 and tagged , , , , , . Bookmark the permalink.

2 Responses to DB2 Table Partitioning on Windows

  1. catur.wibawa says:

    boss, numpang tanya
    bisa gak create partitionnya timenya mundur ke belakang,
    jadi kalo pake case boss diatas, kita create yang taon 2004
    bisa gak ya ?

    • admin says:

      Saya blm pernah coba, tp harusnya bisa. Soalnya ketika sebuah table sudah dibuat pun, bs dijadikan table partition juga.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>