Files
RRBEC/doc/Banco de dados/Tabelas/Product.md
2025-06-06 13:59:52 -03:00

3.8 KiB

Atributo Tipo de Dado Restrições/Observações
id_produto UUID PK
nome VARCHAR(255) NOT NULL
descricao TEXT NULLABLE
preco DECIMAL(10, 2) NOT NULL
custo_unitario DECIMAL(10, 2) NULLABLE (Para cálculo de lucratividade)
estoque_atual INTEGER NOT NULL, DEFAULT 0
estoque_minimo INTEGER DEFAULT 0 (Para alertas de estoque baixo)
url_imagem VARCHAR(255) NULLABLE
disponivel BOOLEAN NOT NULL, DEFAULT TRUE (Indica se está no cardápio ativo)
id_categoria UUID FK para CategoriasProduto
Atributo Tipo Modificadores
id AutoField primary_key=True
name CharField max_length=100
description TextField null=True, blank=True
image ImageField null=True, blank=True
price DecimalField max_digits=10, decimal_places=2
quantity IntegerField null=False, default=0
category ForeignKey on_delete=models.CASCADE (Category)
cuisine BooleanField default=False
active BooleanField default=True

Modelo: Product

Este modelo representa um produto no sistema. Cada produto possui os seguintes atributos:

  • id: Um identificador único para cada produto (chave primária). Este campo é preenchido automaticamente.
  • name: O nome do produto (texto curto, máximo de 100 caracteres).
  • description: Uma descrição detalhada do produto (texto longo). Pode ser deixada em branco.
  • image: Uma imagem associada ao produto. Pode ser deixada em branco.
  • price: O preço do produto (valor decimal com um total de 10 dígitos, incluindo 2 casas decimais).
  • quantity: A quantidade disponível em estoque (número inteiro). Por padrão, é 0.
  • category: A categoria à qual o produto pertence. É uma chave estrangeira que se relaciona ao modelo Category. Se uma categoria for excluída, todos os produtos associados a essa categoria também serão excluídos (on_delete=models.CASCADE).
  • cuisine: Um campo booleano que indica se o produto é preparado na cozinha. O valor padrão é False.
  • active: Um campo booleano que indica se o produto está ativo e disponível para venda. O valor padrão é True.

Modelo: Category

Este modelo representa uma categoria de produto. Cada categoria possui os seguintes atributos:

  • id: Um identificador único para cada categoria (chave primária). Este campo é preenchido automaticamente.
  • name: O nome da categoria (texto curto, máximo de 255 caracteres).

Relacionamento:

Os modelos Product e Category estão relacionados por meio de uma chave estrangeira. Cada produto pertence a uma categoria, e uma categoria pode ter vários produtos associados a ela.

Uso:

Esses modelos são usados para definir a estrutura do banco de dados e facilitar a criação, leitura, atualização e exclusão (CRUD) de produtos e categorias no sistema. Eles são componentes essenciais para gerenciar o catálogo de produtos.