Como é recomendado organizar o armazenamento de dados de preços na base de dados?
sobes.tech IA
Resposta da IA
Para armazenar dados de preços na base de dados, recomenda-se usar tipos de dados com precisão fixa para evitar erros de arredondamento, típicos de números de ponto flutuante.
Na maioria dos SGBDs, incluindo PostgreSQL e MySQL, usa-se o tipo DECIMAL ou NUMERIC com especificação de precisão e escala, por exemplo DECIMAL(10,2), onde 10 é o número total de dígitos e 2 o número de dígitos após a vírgula.
Exemplo:
CREATE TABLE produtos (
id SERIAL PRIMARY KEY,
nome VARCHAR(100),
preco DECIMAL(10,2) NOT NULL
);
Essa abordagem garante o armazenamento preciso de valores monetários e é conveniente para cálculos financeiros.
Também é importante armazenar os preços nas unidades mínimas (por exemplo, em kopecks ou cêntimos) como números inteiros, se isso for aceitável para a aplicação, para simplificar a aritmética e evitar problemas de arredondamento.