← Questões de Banco de Dados

Banco de Dados · FGV · 2024

Questão comentada de Banco de Dados

No contexto do PostgreSQL, analise o comando SQL a seguir. CREATE TABLE TESTE_X PARTITION OF TESTE FOR VALUES IN ('SP', 'RJ'); Esse comando tem por finalidade:

Gabarito: A

No PostgreSQL, particionamento é a técnica de dividir uma tabela grande em partes menores, chamadas partições, para organizar e otimizar os dados. Aqui, o comando CREATE TABLE TESTE_X PARTITION OF TESTE FOR VALUES IN ('SP', 'RJ') indica claramente uma partição do tipo LIST, porque a divisão é feita por valores específicos previamente definidos. Em outras palavras, a tabela TESTE continua sendo a tabela pai, e TESTE_X nasce como uma partição que receberá apenas as linhas cujos valores de particionamento estejam em 'SP' ou 'RJ'. O detalhe mais importante é o FOR VALUES IN, que é a marca registrada do particionamento por lista no PostgreSQL. Já no particionamento por RANGE, o comando usaria algo como FROM ... TO ..., porque a lógica seria por intervalo, e não por valores exatos. A sintaxe entrega a resposta quase de bandeja, como aquelas questões que piscam e dizem: "é aqui que mora a pegadinha". Além disso, o comando não cria view, não cria índice clusterizado e não gera uma tabela independente comum. Ele define uma partição física da tabela principal, seguindo o modelo nativo de particionamento do PostgreSQL. Portanto, o gabarito está correto ao apontar a implementação do particionamento da tabela TESTE pelo critério List.

Continue treinando

Questões relacionadas