Tipos de tablas

Las bases de datos Db2® almacenan datos en tablas. Además de las tablas que se utilizan para almacenar datos permanentes, existen también tablas que se utilizan para presentar los resultados, tablas de resumen y tablas temporales; las tablas de clúster multidimensional ofrecen ventajas concretas en un entorno de depósito.

Tablas base
Estos tipos de tablas contienen datos permanentes. Existen diferentes tipos de tablas base:
Tablas normales
Las tablas normales con índices son la opción de tabla de uso general.
Tablas de clúster multidimensional (MDC)
Las tablas de este tipo se implementan como tablas que están agrupadas físicamente en clústeres en más de una clave, o dimensión, al mismo tiempo. Las tablas MDC se utilizan en entornos de base de datos grandes y depósito de datos. Los índices de clústeres en las tablas normales dan soporte a la agrupación de los datos en clústeres de una sola dimensión. Las tablas MDC ofrecen las ventajas de agrupar en clústeres de datos en más de una dimensión. Las tablas MDC permiten realizar la agrupación en clústeres garantizada dentro de las dimensiones compuestas. Por el contrario, aunque puede tener un índice en clúster con tablas normales, la agrupación en clústeres en este caso la intenta el gestor de bases de datos, pero está garantizada y normalmente se degrada con el tiempo. Las MDC pueden coexistir con tablas particionadas y pueden serlo ellas mismas.
Las tablas de agrupación en clúster multidimensional no están soportadas en un entorno Db2 pureScale® .
Tablas de agrupación en clúster de tiempo de inserción (ITC)
Estos tipos de tablas son conceptualmente y físicamente similares a las tablas MDC, pero en lugar de agruparse en clúster según una o varias dimensiones especificadas por el usuario, las filas se agrupan según el momento en que se insertan en la tabla. Las tablas ITC pueden ser tablas particionadas.
Las tablas ITC no están soportadas en un entorno Db2 pureScale .
Tablas agrupadas por clústeres (RCT)
Estos tipos de tablas se implementan como clústeres secuenciales de datos que proporcionan acceso rápido y directo. Cada registro de la tabla cuenta con un ID de registro predeterminado (RID) que es un identificador interno utilizado para ubicar un registro en una tabla. Las tablas RCT se utilizan cuando los datos están estrechamente agrupados en clústeres en una o varias columnas de la tabla. Los valores máximo y mínimo de las columnas definen el rango de los valores posibles. Puede utilizar estas columnas para acceder a los registros de la tabla; este es el método óptimo para utilizar el aspecto del identificador de registro predeterminado (RID) de las tablas RCT.
Las tablas agrupadas por clústeres de rangos no están soportadas en un entorno Db2 pureScale .
Tablas particionadas
Estos tipos de tabla utilizan un esquema de organización de datos donde los datos de las tablas se dividen en varios objetos de almacenamiento, llamados particiones o rangos de datos, de acuerdo con los valores de una o más columnas de clave de particionamiento de la tabla. Las particiones de datos pueden añadirse y conectarse a una tabla particionada y desconectarse de esta, y puede almacenar varios rangos de particiones de datos de una tabla en un único espacio de tablas. Las tablas particionadas pueden contener grandes cantidades de datos y simplificar la transferencia de los datos de las tablas.
Tablas temporales
Estos tipos de tablas se utilizan para asociar a los datos información de estado basada en el tiempo. Los datos de las tablas que no cuentan con soporte temporal representan el presente, mientras que los datos de las tablas temporales son válidos para un período de tiempo definido por el sistema de base de datos, las aplicaciones del cliente, o ambos. Por ejemplo, una base de datos almacena el historial de una tabla (filas suprimidas o los valores originales de las filas que se han actualizado) para que pueda consultar el estado pasado de los datos. También puede asignar un rango de fechas a una fila de datos para indicar cuándo se consideran válidas por la aplicación o las reglas empresariales.
Tablas temporales
Estos tipos de tablas se utilizan como tablas de trabajo temporales para diversas operaciones de base de datos. Las tablas temporales declaradas (DGTT) no aparecen en el catálogo del sistema; por este motivo, no pueden compartirse con otras aplicaciones y se convierten en no persistentes si las utilizan otras aplicaciones. Cuando la aplicación que utiliza esta tabla termina o se desconecta de la base de datos, se borran los datos de la tabla y ésta se descarta. En cambio, las tablas temporales creadas (CGTT) aparecen en el catálogo del sistema y no es necesario definirlas en cada sesión en la que se utilizan. Como resultado, son persistentes y pueden compartirse con otras aplicaciones en diferentes conexiones.
Ninguno de los dos tipos de tabla temporal da soporte a lo siguiente
  • Columnas de tipo estructurado definidas por el usuario o de referencia definidas por el usuario
  • Columnas LONG VARCHAR
Además no se pueden utilizar columnas XML en tablas temporales creadas.
Tablas de consulta materializada (MQT)
Las MQT se definen mediante una consulta que también determina los datos de la MQT. Utilice tablas de consulta materializadas para mejorar el rendimiento de las consultas. Basándose en los valores de configuración de base de datos para la optimización de consultas, el gestor de bases de datos determina que una parte de una consulta se puede resolver utilizando una MQT. Las MQT se clasifican por cómo se mantienen sus datos.
Tablas duplicadas
Una tabla duplicada es una copia MQT organizada por columnas de una tabla organizada por filas. Puede contener todas las columnas o un subconjunto de columnas de la tabla organizada por filas de origen. La duplicación mantiene las tablas duplicadas.

Puede crear todos los tipos de tabla anteriores mediante la sentencia CREATE TABLE.

Según el aspecto que vayan a tener sus datos, es posible que observe que un tipo de tabla ofrece capacidades específicas que pueden optimizar el rendimiento del almacenamiento y las consultas. Por ejemplo, si tiene registros de datos que están débilmente agrupados en clúster (no aumentan de forma monotónica), considere la posibilidad de utilizar una tabla normal e índices. Si tiene registros de datos que tienen valores duplicados (pero no exclusivos) en la clave, no utilice una tabla agrupada por clústeres de rangos. Además, si no puede permitirse asignar previamente una cantidad fija de almacenamiento en disco para las tablas agrupadas por clústeres de rango que desee, no utilice este tipo de tabla. Si cuenta con datos que pueden potencialmente agruparse en clústeres en múltiples dimensiones, como una tabla para el seguimiento de las ventas minoristas por región geográfica, división y proveedor, es posible que una tabla de clúster multidimensional sea la opción más adecuada para sus necesidades.

Además de los diversos tipos de tabla descritos anteriormente, también tiene opciones para las características como el particionamiento, que puede mejorar el rendimiento de las tareas tales como la transferencia de los datos de la tabla. Las tablas particionadas pueden también retener mucha más información que una tabla normal no particionada. También puede utilizar prestaciones como la compresión, que puede ayudarle a reducir significativamente los costes de almacenamiento de datos.