No DB2 , você armazena dados do usuário em tabelas.
O DB2 suporta vários tipos de tabelas, cada uma com seu próprio objetivo e características.
O DB2 suporta os seguintes tipos de tabelas:
accelerator-only table (tabela somente acelerador)
Uma tabela que armazena linhas apenas no acelerador, não no DB2.
A definição de tabela e coluna da tabela somente acelerador está contida nas tabelas de catálogo do DB2.
Quaisquer consultas que façam referência à tabela somente do acelerador devem ser executadas no acelerador.
Se uma consulta que faz referência a uma tabela somente do acelerador não for elegível para a aceleração da consulta, será emitido um erro.
Para alterar o conteúdo de uma tabela somente do acelerador, a instrução de alteração de dados deve ser executada no acelerador.
auxiliary table (tabela auxiliar)
Uma tabela criada com a instrução SQL CREATE AUXILIARY TABLE e usada para manter os dados de uma coluna definida em uma tabela base.
base table (tabela base)
O tipo mais comum de tabela no DB2.
Você cria uma tabela base com a instrução SQL CREATE TABLE.
A tabela de catálogo do DB2 , SYSIBM.SYSTABLES, armazena a descrição da tabela base.
A descrição da tabela e os dados da tabela são persistentes.
Todos os programas e usuários que se referem a esse tipo de tabela se referem à mesma descrição da tabela e à mesma instância da tabela.
clone table (tabela de clones)
Uma tabela que é estruturalmente idêntica a uma tabela base.
Você cria uma tabela de clones usando uma instrução ALTER TABLE para a tabela base que inclui uma cláusula ADD CLONE.
A tabela clone é criada em uma instância diferente do mesmo espaço de tabela que a tabela base, é estruturalmente idêntica à tabela base em todos os aspectos e
tem os mesmos índices, antes dos gatilhos e objetos LOB.
No catálogo do DB2 , a tabela SYSTABLESPACE indica que o espaço de tabela possui apenas uma tabela, mas SYSTABLESPACE.CLONE indica que existe uma tabela clone.
As tabelas clonadas podem ser criadas apenas em um espaço de tabela particionado por intervalo ou partição por crescimento gerenciado pelo DB2.
Cada tabela base e clone possui conjuntos de dados VSAM subjacentes separados (identificados por seus números de instância do conjunto de dados) que contêm linhas
de dados independentes.
empty table (tabela vazia)
Uma tabela com zero linhas.
history table (tabela de histórico)
Uma tabela usada para armazenar versões históricas das linhas da tabela temporal do período do sistema associada.
materialized query table (tabela de consulta materializada)
Uma tabela, que você define com a instrução SQL CREATE TABLE, que contém dados materializados derivados de uma ou mais tabelas de origem.
As tabelas de consultas materializadas são úteis para consultas complexas executadas em grandes quantidades de dados.
O DB2 pode pré-calcular todas ou parte de tais consultas e usar os resultados pré-computados ou materializados para responder às consultas com mais eficiência.
As tabelas de consultas materializadas são comumente usadas em aplicativos de data warehousing e business intelligence.
Várias tabelas de catálogo do DB2 , incluindo SYSIBM.SYSTABLES e SYSIBM.SYSVIEWS, armazenam a descrição da tabela de consulta materializada e informações sobre
sua dependência em uma tabela, exibição ou função.
Os atributos que definem uma tabela de consulta materializada informam ao DB2 se a tabela é:
- Manutenção do sistema ou do usuário.
- Atualizável:
Todas as tabelas materializadas podem ser atualizadas com a instrução REFRESH TABLE.
Somente tabelas de consulta materializadas mantidas pelo usuário também podem ser atualizadas com o utilitário LOAD e as instruções SQL UPDATE, INSERT e DELETE.
- Ativado para otimização de consulta:
você pode ativar ou desativar o uso de uma tabela de consulta materializada na reescrita automática de consulta.
Tabelas de consultas materializadas podem ser usadas para melhorar o desempenho de consultas SQL dinâmicas.
Se o DB2 determinar que uma parte de uma consulta pode ser resolvida usando uma tabela de consulta materializada, a consulta poderá ser reescrita pelo DB2 para
usar a tabela de consulta materializada.
Essa decisão se baseia em parte nas configurações dos registros especiais CURRENT REFRESH AGE e CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION.
result table (tabela de resultados)
Uma tabela que contém um conjunto de linhas que o DB2 seleciona ou gera, direta ou indiretamente, de uma ou mais tabelas base em resposta a uma instrução SQL.
Diferente de uma tabela base ou temporária, uma tabela de resultados não é um objeto que você define usando uma instrução CREATE.
sample table (tabela de amostra)
Uma das várias tabelas fornecidas com o programa licenciado DB2 que contém dados de amostra.
Muitos exemplos nessas informações são baseados em tabelas de amostra.
temporal table (tabela temporal)
Uma tabela que registra o período em que uma linha é válida.
O DB2 suporta dois tipos de períodos, que são o período do sistema (SYSTEM_TIME) e o período do aplicativo (BUSINESS_TIME).
O período do sistema consiste em um par de colunas com valores mantidos pelo sistema que indicam o período em que uma linha é válida.
O período do aplicativo consiste em um par de colunas com valores mantidos pelo aplicativo que indicam o período em que uma linha é válida.
system-period temporal table (tabela temporal do período do sistema)
- Uma tabela temporal do período do sistema é uma tabela base definida com a versão dos dados do período do sistema.
Você pode modificar uma tabela existente para se tornar uma tabela temporal do período do sistema, especificando a cláusula ADD PERIOD SYSTEM_TIME na
instrução ALTER TABLE.
Após criar uma tabela de histórico que corresponde à tabela temporal do período do sistema, é possível definir a versão dos dados do período do sistema na
tabela emitindo a instrução ALTER TABLE ADD VERSIONING com a cláusula da tabela USE HISTORY.
application-period temporal table (tabela temporal do período de aplicação)
- Uma tabela temporal do período do aplicativo é uma tabela base que inclui um período do aplicativo (BUSINESS_TIME).
Você pode modificar uma tabela existente para se tornar uma tabela temporal do período do aplicativo, especificando a cláusula ADD PERIOD BUSINESS_TIME
na instrução ALTER TABLE.
bitemporal table (tabela bitemporal)
- Uma tabela bitemporal é uma tabela temporal do período do sistema e uma tabela temporal do período do aplicativo.
Você pode usar uma tabela bitemporal para manter as informações do período do aplicativo e as informações históricas baseadas no sistema.
Portanto, você tem muita flexibilidade na maneira como consulta dados com base em períodos de tempo.
temporary table (tabela temporária)
Uma tabela definida pela instrução SQL CREATE GLOBAL TEMPORARY TABLE ou DECLARE GLOBAL TEMPORARY TABLE para armazenar dados temporariamente.
As tabelas temporárias são especialmente úteis quando você precisa classificar ou consultar tabelas de resultados intermediários que contêm muitas linhas, mas
deseja armazenar apenas um pequeno subconjunto dessas linhas permanentemente.
created global temporary table (tabela temporária global criada)
- Uma tabela que você define com a instrução SQL CREATE GLOBAL TEMPORARY TABLE.
A tabela de catálogo do DB2 , SYSIBM.SYSTABLES, armazena a descrição da tabela temporária criada.
A descrição da tabela é persistente e compartilhável.
No entanto, cada processo de aplicativo individual que se refere a uma tabela temporária criada possui sua própria instância distinta da tabela.
Ou seja, se o processo de aplicativo A e o processo de aplicativo B usarem uma tabela temporária criada denominada TEMPTAB: -
- Cada processo de aplicativo usa a mesma descrição da tabela.
- Nenhum processo de aplicativo tem acesso ou conhecimento das linhas na outra instância de aplicativo do TEMPTAB.
declared global temporary table (tabela temporária global declarada)
- Uma tabela que você define com a instrução SQL DECLARE GLOBAL TEMPORARY TABLE.
O catálogo do DB2 não armazena uma descrição da tabela temporária declarada.
Portanto, a descrição e a instância da tabela não são persistentes.
Vários processos de aplicativos podem se referir à mesma tabela temporária declarada por nome, mas na verdade eles não compartilham a mesma descrição ou
instância da tabela.
Por exemplo, suponha que o processo de aplicativo A defina uma tabela temporária declarada denominada TEMP1 com 15 colunas.
O processo de aplicativo B define uma tabela temporária declarada denominada TEMP1 com cinco colunas.
Cada processo de aplicativo usa sua própria descrição do TEMP1; nenhum processo de aplicativo tem acesso ou conhecimento de linhas na outra instância de
aplicativo do TEMP1.
XML table (Tabela XML)
Uma tabela especial que contém apenas dados XML.
Quando você cria uma tabela com uma coluna XML, o DB2 cria implicitamente um espaço de tabela XML e uma tabela XML para armazenar os dados XML.
Esses diferentes tipos de tabelas diferem de outras maneiras que este tópico não descreve.
© Copyright IBM Corp.