Implicitly defined table spaces

Start of changeDB2® implicitly creates a partition-by-growth or range-partitioned universal table space when you issue a CREATE TABLE statement without specifying an existing table space name.End of change

When DB2 defines a table space implicitly, it completes the following actions:

  • Generates a table space for you.
  • Derives a table space name from the name of your table, according to the following rules:
    • The table space name is the same as the table name if the following conditions apply:
      • No other table space or index space in the database already has that name.
      • The table name has no more than eight characters.
      • The characters are all alphanumeric, and the first character is not a digit.
    • If another table space in the database already has the same name as the table, DB2 assigns a name of the form xxxxnyyy, where xxxx is the first four characters of the table name, and nyyy is a single digit and three letters that guarantee uniqueness.
  • Uses default values for space allocation.
  • Start of changeChooses a suitable buffer pool for the table space from the subsystem parameter values TBSBPOOL, TBSBP8K, TBSBP16K, and TBSBP32K.End of change
  • Creates the required LOB objects and XML objects.
  • Enforces the UNIQUE constraint.
  • Creates the primary key index.
  • Creates the ROWID index, if the ROWID column is defined as GENERATED BY DEFAULT.

DB2 stores the names and attributes of all table spaces in the SYSIBM.SYSTABLESPACE catalog table, regardless of whether you define the table spaces explicitly or implicitly.