Creating table spaces for full-function databases

When defining a new table space (data set group), use the CREATE TABLESPACE statement. Some full-function databases require that you define table spaces, some full-function databases do not require it. For example, this is true for the DBs that are defined using the Gen utilities.

The following rules apply depending on the database access type you are defining.

For HSAM and SHSAM:
  • You can define only one table space (data set group).
  • The ddname of an input data set, which is the table space name provided on the CREATE TABLESPACE statement, is used by the application to retrieve data from the database.
  • The ddname of an output data set, which is the name provided on the OUTPUT keyword on the CREATE TABLESPACE statement, is used when loading the database.
For HISAM and SHISAM:
  • You can define only one table space (data set group).
  • The ddname of one VSAM key sequenced data set (KSDS) and one VSAM entry sequenced data set (ESDS).
For HDAM and HIDAM:
  • One to 10 data set groups.
  • You can define how free space is to be distributed in each data set group.
  • The ddname of an OSAM or ESDS data set, which is the name provided on the CREATE TABLESPACE statement, represents the data set group.
For index, a primary HIDAM index must specify:
  • One table space (data set group). You must specify the ddname of one KSDS as the name on the CREATE TABLESPACE statement.
A full-function secondary index must specify:
  • One data set group. If all index pointer table keys are unique, you must specify the ddname of one KSDS. If index pointer table keys are non-unique you must specify the ddnames of one KSDS and one ESDS.

For logical, there are no physical table spaces or data set groups for a logical database. The CREATE TABLESPACE statement is invalid when defining a logical database.