Nos sistemas de banco de dados PostgreSQL, o tipo de dado do...

Próximas questões
Com base no mesmo assunto
Q410811 Banco de Dados
Nos sistemas de banco de dados PostgreSQL, o tipo de dado double precision requer...I..... para seu armazenamento, enquanto o tipo BINARY_FLOAT do Oracle possui 32 bits e requer..II...... para seu armazenamento.

As lacunas I e II são correta e respectivamente preenchidas com:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a B - 8 bytes - 5 bytes.

Para resolver essa questão, é necessário compreender a forma como os tipos de dados numéricos com ponto flutuante são armazenados em diferentes sistemas de gerenciamento de banco de dados. O PostgreSQL oferece o tipo double precision, que é um ponto flutuante de precisão dupla seguindo o padrão IEEE 754 para aritmética em ponto flutuante. Este padrão define a precisão dupla com 64 bits, o que equivale a 8 bytes. Já o Oracle utiliza o tipo BINARY_FLOAT para representar um ponto flutuante em uma precisão simples, que é armazenado em 32 bits, equivalentes a 4 bytes. Contudo, o Oracle também usa um byte adicional para armazenamento de metadados, totalizando assim 5 bytes para o tipo BINARY_FLOAT.

Portanto, a alternativa B está correta, pois indica o tamanho de armazenamento adequado para cada tipo. No PostgreSQL, double precision usa 8 bytes e no Oracle, BINARY_FLOAT ocupa 5 bytes ao considerar o byte adicional para metadados.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Para que perguntar esse tipo de questão? Para eliminar os que estudaram... pois, isso aí só faz no chute . Quem tiver memória para gravar isso, vá estudar para auditor fiscal, juiz, desembargador.... 

O curioso é que você tenta fazer a conversão do dado já que a questão fala que o BINARY_FLOAT ocupa 32 bits... aí você pensa: "então são 4 bytes" o que parece ajudar, só que não, são 5 bytes.

O byte extra serve como delimitador do ponto flutuante.

BINARY_FLOAT    32-bit floating point number. This datatype requires 5 bytes, including the length byte.
BINARY_DOUBLE 64-bit floating point number. This datatype requires 9 bytes, including the length byte

Fonte: https://docs.oracle.com/cd/B12037_01/server.101/b10759/sql_elements001.htm

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo