1
resposta

[Dúvida] info

3 dúvidas:

CREATE TABLE [TABELA DE VENDEDORES](

[MATRICULA] [CHAR] (5) NOT NULL PRIMARY KEY, /* Ocuparia menos espaço em memória? / [NOME] [VARCHAR] (100) NOT NULL, [PERCENTUAL COMISSAO] [DECIMAL] (5,2) NOT NULL / Considerando % decimal iria melhor? / CONSTRAINT CK_PERCENTUAL_COMISSAO CHECK ([PERCENTUAL COMISSAO] >= 0) / não sei se daria certo assim */

);

1 resposta

Olá! Minha opinião:

CHAR vs. VARCHAR:

CHAR(5) ocupa sempre 5 caracteres, mesmo que você armazene menos. Pode desperdiçar espaço se os dados forem curtos.

VARCHAR(100) ocupa apenas o espaço necessário para os dados + um pequeno overhead. Para nomes, o VARCHAR é geralmente melhor, pois pode ser mais econômico.

Uso de DECIMAL para percentual:

Usar DECIMAL(5,2) para armazenar percentuais é uma boa prática. O primeiro número (5) representa o total de dígitos, e o segundo (2) representa os decimais. Assim, você pode armazenar valores de 0,00 a 99,99, que é adequado para percentuais.

CONSTRAINT CK_PERCENTUAL_COMISSAO: A constraint que você propôs funciona corretamente. Ela garante que o percentual de comissão não seja negativo, o que é importante para manter a integridade dos dados.