Creation of table spaces

Start of changeOften you do not need to create a table space before you create a table. You only need to create a table space explicitly when you define a declared temporary table or if you manage all of your own data sets.End of change

If you must create table spaces explicitly, you can issue CREATE TABLESPACE statements. It is best to create universal table spaces. Other types are deprecated. That is, they are supported in DB2® 10, but support might be removed in the future.

DB2 creates a table space implicitly if you issue a CREATE TABLE statement without specifying an existing table space name. If the table contains a LOB column and SQLRULES are STD, DB2 also creates the LOB table space, the auxiliary table, and an auxiliary index. DB2 also creates all underlying XML objects. In this case, DB2 uses the default storage group, SYSDEFLT.

If you create a table space implicitly, DB2 uses defaults for the space allocation attributes. The default values of PRIQTY and SECQTY specify the space allocation for the table space. If the value of the TSQTY subsystem parameter is nonzero, it determines the default values for PRIQTY and SECQTY. If the value of TSQTY is zero, the default values for PRIQTY and SECQTY are determined as described in the CREATE TABLESPACE statement.

When you do not specify a table space name in a CREATE TABLE statement (and the table space is created implicitly), DB2 derives the table space name from the name of your table.