Este artigo não cita fontes confiáveis. (Fevereiro de 2019) |
Nos modelos de bases de dados relacionais, a tabela é um conjunto de dados dispostos em número infinito de colunas e número ilimitado de linhas (ou tuplas).
As colunas são tipicamente consideradas os campos da tabela, e caracterizam os tipos de dados que deverão constar na tabela (numéricos, alfa-numéricos, datas, coordenadas, etc). O número de linhas pode ser interpretado como o número de combinações de valores dos campos da tabela, e pode conter linhas idênticas, dependendo do objectivo. A forma de referenciar inequivocamente uma única linha é através da utilização de uma chave primária.
Para além do tipo de dados inerente a todas as colunas de uma tabela, algumas podem ter associadas restrições: a unicidade (SQL: UNIQUE
), proibição de valores NULL (SQL: NOT NULL
), delimitação de valores, etc. Estas restrições impedem que sejam inseridos valores não desejados que comprometam a validade e integridade dos dados.
O número de tuplas de uma tabela é virtualmente ilimitado, o que torna as pesquisas por valor potencialmente muito lentas. Para permitir agilizar estas consultas, podem ser associados índices à tabela, que são estruturas de dados independentes da forma e ordem como estão armazenados os dados, embora tenham relação directa com os mesmos. Como consequência, a cada alteração de dados, irá corresponder uma (ou mais) alterações em cada um dos índices, aumentando o esforço necessário ao sistema gestor de base de dados (SGBD) para gerir essa alteração, motivo pelo qual os índices não existam naturalmente para cada coluna. A estrutura usada para a elaboração do índice depende do SGBD e do tipo de dados das colunas usadas no índice: árvore B, árvore R, etc.
Não obstante o papel principal da tabela ser a de armazenamento de dados, é também utilizada como representação de relações, tipicamente de N para M. Nesse caso específico, essa tabela irá dispor obrigatoriamente de duas relações 1 para N — uma para a tabela N e outra para a tabela M — e, eventualmente, de atributos específicos à relação. Como consequência desta característica, este tipo de tabela nunca poderá conter linhas duplicadas.
Um outro tipo de tabela especial — por não fazer armazenamento de dados — é a vista, cujas linhas são determinadas dinamicamente através de uma query (consulta) de tabelas reais (que armazenam os dados).
Funções internas comuns
A seguir apresenta-se uma lista das principais funções de um SGBD intrinsecamente ligadas às tabelas: