Oi, Gabriel! Tudo certo por aí?
É possível sim utilizar o Tinyint para economizar espaço! Enquanto o Smallint (tipo de dado que utilizamos no campo idade) ocupa 2 bytes, o Tinyint ocupa apenas 1 (indo do valor -128 até o 127). Mesmo que, em um primeiro momento, essa variação pareça mínima, ela pode fazer total diferença em nosso sistema, otimizando, por exemplo, o funcionamento do banco de dados.
Além disso, para utilizar o UNSIGNED na prática, basta adicionar a palavra-chave UNSIGNED após o tipo de dado na criação da tabela. No caso do Tinyint, ficaria assim:
IDADE TINYINT UNSIGNED
Caso fôssemos reformular a construção da tabela tbcliente
, teríamos o seguinte resultado:
CREATE TABLE tbcliente (
CPF VARCHAR (11),
NOME VARCHAR (100),
ENDERECO1 VARCHAR (150),
ENDERECO2 VARCHAR (150),
BAIRRO VARCHAR (50),
CIDADE VARCHAR (50),
ESTADO VARCHAR (2),
CEP VARCHAR (8),
IDADE TINYINT UNSIGNED,
SEXO VARCHAR (1),
LIMITE_CREDITO FLOAT,
VOLUME_COMPRA FLOAT,
PRIMEIRA_COMPRA BIT (1)
);
Dessa forma, o campo idade só aceitará valores positivos, economizando ainda mais espaço na memória!
Gabriel, se surgir alguma dúvida após minha explicação ou durante os seus estudos, fico à disposição para ajudar!
Um forte abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.