Questão nº 116
Questão de Arquitetura de Desenvolvimento da Plataforma Digital do Poder Judiciário Brasileiro (PDPJ-Br) · CEBRASPE STM 2025 (nº 116)
Julgue os itens seguintes, relativos a RabbitMQ, PostgreSQL e Git.
Considere que os seguintes comandos tenham sido executados no PostgreSQL 14.18.
CREATE TABLE veiculo (
id SERIAL PRIMARY KEY,
nome VARCHAR(50) NOT NULL);
CREATE TABLE carro (
placa VARCHAR(7) UNIQUE NOT NULL)
INHERITS (veiculo);
INSERT INTO veiculo (nome)
VALUES ('Bicicleta');
INSERT INTO carro (nome, placa)
VALUES ('Tesla Model Y', 'Y1357'), ('BMW X6','W6789');
SELECT * FROM veiculo;
Nesse caso, o comando SELECT * FROM veiculo; apresentará, ao ser executado, o resultado a seguir.
id | nome
----+-----------
1 | Bicicleta
Resposta comentada
No PostgreSQL, herança de tabelas faz a tabela-filha (carro) herdar as colunas da tabela-mãe (veiculo), mas não faz a tabela-mãe enxergar as linhas inseridas na filha. Por padrão, SELECT * FROM veiculo varre apenas a tabela veiculo — não desce para as filhas.
- Correta: Errado. O item afirma que o
SELECT * FROM veiculomostraria só a linha "Bicicleta", mas isso só seria verdade se a consulta incluísse a cláusula "ONLY" (ou seja,SELECT * FROM ONLY veiculo). SemONLY, o PostgreSQL inclui por padrão as linhas das tabelas-filhas, então o resultado traria também "Tesla Model Y" e "BMW X6".
Como ficaria certo: SELECT * FROM ONLY veiculo; apresentaria apenas a linha 1 | Bicicleta; já SELECT * FROM veiculo; retornaria as três linhas (a da mãe + as duas herdadas de carro).
Fonte: CEBRASPE STM 2025 Analista Judiciário – Área: Apoio Especializado – Especialidade: Suporte em Tecnologia da Informação. Reproduzida para fins de estudo.