Oi, Roberto! Tudo bem?
Quando escrevemos INT(5)
, o número 5 não limita o valor que o campo pode armazenar, mas apenas sugere ao MySQL quantos dígitos devem ser exibidos ao retornar os dados — chamamos isso de "largura de exibição". Contudo, conforme a mensagem que apareceu para você, o MySQL está planejando remover esse recurso, por isso está avisando que o uso de INT(5)
está obsoleto.
Para a resolução desse exercício, temos diferentes possibilidades. A primeira delas é utilizar apenas INT
, assim como você fez. No entanto, Roberto, a expressão INT
indica que estamos trabalhando com números inteiros (passíveis de serem usados, por exemplo, em cálculos matemáticos).
O código da matrícula, por sua vez, não deve ser compreendido como um número inteiro, pois não faz sentido, matematicamente, usá-lo (como em somas, multiplicações, etc). Nesse sentido, o caminho mais recomendado é trabalhar com o tipo VARCHAR
— que aceita tranquilamente limitações de campo e combinações distintas entre caracteres.
Além do mais, de acordo com a atividade, não precisamos trabalhar com AUTO_INCREMENT
, então iremos removê-lo.
Após atualizar o seu script SQL, chegaremos no seguinte resultado:
CREATE TABLE TABELA_DE_VENDEDORES(
MATRICULA VARCHAR(5),
NOME VARCHAR(100),
PERCENTUAL_COMISSAO DECIMAL(5,2) CHECK (PERCENTUAL_COMISSAO >= 0 AND PERCENTUAL_COMISSAO <= 100),
PRIMARY KEY (MATRICULA)
);
Roberto, essa é apenas uma sugestão! Sinta-se livre para criar o seu banco de dados como preferir — lembrando sempre de organizar os demais códigos para se adequarem ao que você já criou.
Espero ter ajudado com a explicação! Qualquer dúvida, estarei por aqui.
Um forte abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!