mirror of
https://github.com/welton89/RRBEC.git
synced 2026-04-05 21:45:41 +00:00
doc: first docs
This commit is contained in:
55
doc/Banco de dados/Tabelas/Product.md
Normal file
55
doc/Banco de dados/Tabelas/Product.md
Normal file
@@ -0,0 +1,55 @@
|
||||
|
||||
| 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.
|
||||
Reference in New Issue
Block a user