A forma mais simples de organizar a estrutura interna de uma tabela é através da criação de um arranjo de registros, onde cada registro tem pelo menos dois campos, um deles correspondente à chave e o outro, ao valor. Para auxiliar a descrição e manipulação desses dois campos de cada elemento da tabela, são definidos alguns tipos de dados abstratos e suas propriedades correspondentes.
A chave será descrita por um tipo KEY, para o qual pelo menos
um operador é definido, que é o teste de igualdade () entre duas
chaves. Se a chave pertence a um domínio parcialmente ordenado, então
os operadores de comparação de ordem (maior que,
, e menor que,
) são também definidos. Naturalmente, os operadores
complementares (
,
,
) podem também ser
definidos.
Para os objetivos desta descrição, o valor é descrito por um tipo VALUE, sem nenhuma propriedade específica exceto pelo acesso ao seu conteúdo para leitura e escrita.
Uma entrada em uma tabela será representada pelo tipo ENTRY, definido como um registro com um KEY e um VALUE:
ENTRY ![]() |
c | : | KEY |
v | : | VALUE |
Com essas definições, a estrutura interna para uma tabela poderia ser representada como um registro com o número de elementos na tabela e um arranjo de entradas:
TABLE ![]() |
n | : | integer |
e | : | array[n] of ENTRY |