QUESTÃO 10
CAPACIDADE: Compreender os tipos de dados.
Contexto:
O DB3__RNC_Registro armazena dados do processo.
Comando:
Qual tipo de dado é mais adequado para armazenar o número de série do produto?
Alternativas:
A. Bool
B. Int
C. String
D. Real
E. Char
B. Int
C. String
D. Real
E. Char
Passo 1
O enunciado pede: escolher qual tipo de dado é mais adequado para armazenar o número de série do produto. As alternativas oferecidas são:
A. Bool
B. Int
C. String
D. Real
E. Char
A. Bool
B. Int
C. String
D. Real
E. Char
Passo 2
Antes de escolher, precisamos entender as características que um “número de série” costuma ter:
- É um identificador, não um valor sobre o qual se faz cálculo (não se soma, divide, etc.).
- Pode conter dígitos, letras e símbolos (por exemplo: ABC-00123, SN2023X, 00045).
- A formatação importa: zeros à esquerda geralmente devem ser mantidos (por exemplo, “00123” é diferente de “123”).
- Pode ter comprimento maior que 1 caractere.
- Precisa ser armazenado de forma a preservar exatamente o texto que identifica o produto.
Passo 3
Avaliação da alternativa A — Bool:
- O tipo booleano só armazena dois valores: verdadeiro/falso (por ex., true/false).
- Um número de série não é uma informação binária.
- Conclusão: Bool não serve.
Passo 4
Avaliação da alternativa B — Int:
- Int armazena números inteiros e é usado quando se vai fazer operações aritméticas ou sequências numéricas.
- Problemas para número de série: perde zeros à esquerda (por ex., “00123” se torna 123), não permite letras nem hífens, e trata o serial como valor numérico em vez de etiqueta.
- Conclusão: Int não é adequado na maioria dos casos de serial alfanumérico.
Passo 5
Avaliação da alternativa D — Real:
- Real (números de ponto flutuante) serve para valores numéricos com casa decimal.
- Além de ser sem sentido para um identificador, pode introduzir erros de representação/arrodegamento.
- Conclusão: Real é inadequado.
Passo 6
Avaliação da alternativa E — Char:
- Char armazena apenas um único caractere.
- Números de série geralmente têm vários caracteres.
- Conclusão: Char não serve (a menos que o serial realmente fosse um único caractere, o que não é o caso típico).
Passo 7
Avaliação da alternativa C — String:
- String (cadeia de caracteres) armazena sequências de caracteres, incluindo letras, dígitos, espaços e símbolos.
- Preserva zeros à esquerda e formatação exata do serial.
- Permite armazenar serials alfanuméricos e com separadores (por ex., “SN-00045-A”).
- Em bancos de dados relacionais, isso corresponde a tipos como VARCHAR(n) ou CHAR(n), nos quais se pode definir tamanho máximo e aplicar constraints (unicidade, not null, padrão).
- Conclusão: String atende todos os requisitos práticos para armazenar números de série.
Passo 8
Resumo prático e dica para prova: números de série são identificadores textuais — escolha um tipo de texto (String). Evite tipos numéricos para dados que não serão manipulados aritmeticamente, porque eles podem alterar formatação (zeros à esquerda) ou não aceitar caracteres. Ao implementar no banco, use VARCHAR com tamanho adequado e uma constraint de unicidade se cada serial for único.
Resposta
C. String