Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added Captura de tela 2026-05-15 103223.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Captura de tela 2026-06-23 154645.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
89 changes: 89 additions & 0 deletions Ecercicio.modulo1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
Ecercicio
Roteiro sugerido
1:explicar o que é uma entidade;
é algo que existe no mundo real e que precisa ser representada representado em um sistema

2. listar as entidades do negócio;
cliente/vendedor/pedido/ produto/pedido item

3. identificar atributos de cada entidade;
Cliente;
id do cliente
tipo de pessoa (física ou jurídica)
nome social
nome fantasia
CPF ou CNPJ
Email
telefone
criado
atualizado

Vendedor;
id do vendedor
nome do vendedor
email
telefone
ativo
Criado
atualizado

Produto;
Id do produto
Sku(código de barra do produto)
Descrição
Valor unitário
ativo,
estoque
Criado em
Atualizado em

Pedido
Id vendedor
Id clienta
Id pedido
obs
Valor total
Status
Hora e data
Quando criado
Atualizado em

Pedido item
Id
Id produto
Ide pedido
Quantidade
Valor unitário
Valor total
Status
Criado em
Atualizado em

4. desenhar o modelo em papel ou quadro;já
• desenhei mas não no papel, então refazer

5. classificar os relacionamentos;
Cliente para pedido = 1:n
Vendedor para pedido =1:n
Pidido para produto = 1:n
Produto para pedido – n:n

6. discutir obrigatoriedades e nulabilidade.
Vendedor, obrigatório = um pedido nunca poderá ser feito sem um cliente
Cliente = não é onbrigatorio = o vendedor pode ser opcional se vai ou não ser declarado
Pedido = o predido é obrigatório, é o cabeçario da compra, com dados e td la
Produto= obrigatório, é o item em questão sendo negociado
Pedido item =obrigatório = é onde fica todos os produtos da vendas

4.7 Exercícios do módulo 1

1. Desenhar o modelo de dados em papel.
(feito no brwm)
2. Dizer qual é a chave primária de cada tabela.
(feito)
3. Dizer quais são as chaves estrangeiras.
(feito)
4. Classificar todos os relacionamentos como 1:1, 1:N ou N:N.
(feito)
5. Explicar, em voz alta, o papel de cada tabela.

208 changes: 208 additions & 0 deletions Exercicios Modulos/# Exercicio modulo 6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
# Exercicio modulo 6

## Casos de exercício

### Caso 1 — Descobrir o cliente de um pedido

Pergunta:

> O pedido 10 pertence a qual cliente?

Resposta
>Para essa situação, meu primeiro passo é consulutar a qual cliente pertence o 'cliente_id' presente na tabela pedido, em vez de consultar as duas e comparar manualmenteirei verificar vendo quais clientes estao ligados a tabela pedidos, usando segunte Input:

SELECT
p.id,
p.cliente_id,
c.nome_razao_social,
p.vendedor_id,
p.data_hora,
p.status,
p.observacoes,
p.valor_total
FROM pedidos p
LEFT JOIN clientes c ON c.id = p.cliente_id;

Output
+----+------------+------------------------+-------------+---------------------+-----------+----------------------------------------------+-------------+
| id | cliente_id | nome_razao_social | vendedor_id | data_hora | status | observacoes | valor_total |
+----+------------+------------------------+-------------+---------------------+-----------+----------------------------------------------+-------------+
>| 10 | 2 | Mercado Bom Preco LTDA | 1 | 2026-04-01 09:15:00 | FATURADO | Pedido corporativo entregue | 1149.70 |
| 11 | 1 | Ana Lima | NULL | 2026-04-02 14:30:00 | ABERTO | Cliente iniciou compra pelo site | 339.80 |
| 12 | 3 | Carlos Souza | 2 | 2026-04-05 11:00:00 | CANCELADO | Pagamento recusado | 299.90 |
| 13 | 4 | Oficina Giro Rapido ME | 1 | 2026-04-07 16:45:00 | FATURADO | Compra com multiplos itens | 1079.50 |
| 14 | 2 | Mercado Bom Preco LTDA | NULL | 2026-04-09 08:20:00 | ABERTO | Sem vendedor vinculado | 0.00 |
| 15 | 1 | Ana Lima | NULL | 2026-04-10 10:10:00 | ABERTO | Pedido usado para exercicio de vendedor nulo | 59.90 |
+----+------------+------------------------+-------------+---------------------+-----------+----------------------------------------------+-------------+

--Utilizando esse comando de interseccao consegui descobri que o pedido 10 pertense ao 'cliente Mercado Bom Preco LTDA'.

### Caso 2 — Validar se um pedido possui vendedor

Pergunta:

> O pedido 15 foi registrado sem vendedor?

Resposta
> Como o usuario não sabia qual o cliente do pedido 10, ja consultei junto quais pedidos tinham ou nao vendedores registrado, assim a tabela acima ja prova que o pedido 15 nao possui nenhum vendedor registrado. Utilizando do mesmo Input;

SELECT
p.id,
p.cliente_id,
c.nome_razao_social,
p.vendedor_id,
p.data_hora,
p.status,
p.observacoes,
p.valor_total
FROM pedidos p
LEFT JOIN clientes c ON c.id = p.cliente_id;

Output

+----+------------+------------------------+-------------+---------------------+-----------+----------------------------------------------+-------------+
| id | cliente_id | nome_razao_social | vendedor_id | data_hora | status | observacoes | valor_total |
+----+------------+------------------------+-------------+---------------------+-----------+----------------------------------------------+-------------+
| 10 | 2 | Mercado Bom Preco LTDA | 1 | 2026-04-01 09:15:00 | FATURADO | Pedido corporativo entregue | 1149.70 |
| 11 | 1 | Ana Lima | NULL | 2026-04-02 14:30:00 | ABERTO | Cliente iniciou compra pelo site | 339.80 |
| 12 | 3 | Carlos Souza | 2 | 2026-04-05 11:00:00 | CANCELADO | Pagamento recusado | 299.90 |
| 13 | 4 | Oficina Giro Rapido ME | 1 | 2026-04-07 16:45:00 | FATURADO | Compra com multiplos itens | 1079.50 |
| 14 | 2 | Mercado Bom Preco LTDA | NULL | 2026-04-09 08:20:00 | ABERTO | Sem vendedor vinculado | 0.00 |
>| 15 | 1 | Ana Lima | NULL | 2026-04-10 10:10:00 | ABERTO | Pedido usado para exercicio de vendedor nulo | 59.90 |
+----+------------+------------------------+-------------+---------------------+-----------+----------------------------------------------+-------------+
--Em destaque na tabela filtrada se prova que o pedido 15 esta sem nenhum vendedor cadastrado.

### Caso 3 — Identificar os itens de um pedido

Pergunta:

> Quais produtos fazem parte do pedido 20?

Resposta ( não possui pedido 20, usasei o 15)
> nessa situação utilizei o um comando que comapara o id de um produto que esteja presente no na tabela de pedidos_itens, assim sabendo qual era o produto de um pedido.
> Input:
SELECT
p.id AS pedido,
pr.descricao,
pi.criado_em
FROM pedido_itens pi
INNER JOIN produtos pr ON pr.id = pi.produto_id
LEFT JOIN pedidos p ON p.id = pi.pedido_id
WHERE p.id = '10';
Output
+--------+-----------+---------------------+
| pedido | descricao | criado_em |
+--------+-----------+---------------------+
> | 15 | Mouse USB | 2026-07-21 10:00:21 |
+--------+-----------+---------------------+

(exemplo 2 com o pedido 10)
+--------+----------------------+---------------------+
| pedido | descricao | criado_em |
+--------+----------------------+---------------------+
| 10 | Monitor 24 Polegadas | 2026-07-21 10:00:21 |
| 10 | Cabo HDMI 2m | 2026-07-21 10:00:21 |
| 10 | Mouse USB | 2026-07-21 10:00:21 |
| 10 | Headset Corporativo | 2026-07-21 10:00:21 |
+--------+----------------------+---------------------+
--como o exemplo do pedido 15 continha apenas um pedido, fiz mais um teste com o pedido 10 para demonstrar como sairio o resuktado com mais produtos

### Caso 4 — Encontrar produtos que nunca foram vendidos

Pergunta:

> Existem produtos cadastrados que nunca apareceram em pedidos?

Resposta
> Para essa situação é necessario filtrar produtos que nunca apareceram vinculados em nenhum pedido_intes, para consultar usei o seguinte Input:
SELECT
pr.id AS produto_id,
pr.sku,
pr.descricao,
pr.valor_unitario,
pr.estoque_atual
FROM produtos pr
LEFT JOIN pedido_itens pi ON pi.produto_id = pr.id
WHERE pi.id IS NULL;

+------------+---------+--------------------------+----------------+---------------+
| produto_id | sku | descricao | valor_unitario | estoque_atual |
+------------+---------+--------------------------+----------------+---------------+
> | 7 | SKU-007 | Base Notebook Ergonomica | 129.90 | 18.00 |
+------------+---------+--------------------------+----------------+---------------+

--Na filtragem se mostra que o unico produto cadastrado que nunca foi vendido é o produto 'Base Notebook Ergonomica'.

5. ### Caso 5 — Encontrar possíveis inconsistências

Pergunta:

> Existe pedido com valor total zero e itens cadastrados?

Resposta

> aqui nessa parte é possivel fazer direto, mas preferi dividir em duas parte para ser mais intendivel, primeiro consultei se realmente existe algum pedido realmente zerado, para isso usei apenas o Input :

SELECT * FROM pedidos;

Autput
+----+------------+-------------+---------------------+-----------+----------------------------------------------+-------------+---------------------+---------------------+
| id | cliente_id | vendedor_id | data_hora | status | observacoes | valor_total | criado_em | atualizado_em |
+----+------------+-------------+---------------------+-----------+----------------------------------------------+-------------+---------------------+---------------------+
| 10 | 2 | 1 | 2026-04-01 09:15:00 | FATURADO | Pedido corporativo entregue | 1149.70 | 2026-07-21 10:00:21 | 2026-07-21 10:00:21 |
| 11 | 1 | NULL | 2026-04-02 14:30:00 | ABERTO | Cliente iniciou compra pelo site | 339.80 | 2026-07-21 10:00:21 | 2026-07-21 10:00:21 |
| 12 | 3 | 2 | 2026-04-05 11:00:00 | CANCELADO | Pagamento recusado | 299.90 | 2026-07-21 10:00:21 | 2026-07-21 10:00:21 |
| 13 | 4 | 1 | 2026-04-07 16:45:00 | FATURADO | Compra com multiplos itens | 1079.50 | 2026-07-21 10:00:21 | 2026-07-21 10:00:21 |
> | 14 | 2 | NULL | 2026-04-09 08:20:00 | ABERTO | Sem vendedor vinculado | 0.00 | 2026-07-21 10:00:21 | 2026-07-21 10:00:21 |
| 15 | 1 | NULL | 2026-04-10 10:10:00 | ABERTO | Pedido usado para exercicio de vendedor nulo | 59.90 | 2026-07-21 10:00:21 | 2026-07-21 10:00:21 |
+----+------------+-------------+---------------------+-----------+----------------------------------------------+-------------+---------------------+---------------------+

> com esse comando descobrimos que realmente existe um pedido zerado que esta aberto, entao agora posso usar o id dele para filtrar informaçoes desse pedido, se fizesse direto traria informaçao de vario pedidos junto, mas separado, posso trazer a informacao apenas do pedido em questao. Agora usando o imput:

SELECT
pi.pedido_id,
pi.produto_id,
pr.descricao,
pr.valor_unitario,
pi.valor_total,
pi.quantidade
pi.quantidade
INNER JOIN produtos pr ON pr.id = pi.produto_id
WHERE pi.pedido_id = '14';

Inpiut
+-----------+------------+-----------+----------------+-------------+------------+
| pedido_id | produto_id | descricao | valor_unitario | valor_total | quantidade |
+-----------+------------+-----------+----------------+-------------+------------+
> | 14 | 1 | Mouse USB | 59.90 | 59.90 | 1.00 |
+-----------+------------+-----------+----------------+-------------+------------+
> Fazendo essa filtagem, é possivel ver uma incoerencia com o valor total entre o pedido_itens e pedidos, onde em um apresenta zerado e o outro apresenta o valor de 59.90, ha algumas possiveis causas, como erro de cadastro do produto, entretando, esse produto aparece em outro pedidos que não estao zerado, como o caso do pedido 15

+----+------------+-------------+---------------------+-----------+----------------------------------------------+-------------+---------------------+---------------------+
| 15 | 1 | NULL | 2026-04-10 10:10:00 | ABERTO | Pedido usado para exercicio de vendedor nulo | 59.90 | 2026-07-21 10:00:21 | 2026-07-21 10:00:21 |
+----+------------+-------------+---------------------+-----------+----------------------------------------------+-------------+---------------------+---------------------+

> entao para essa situação sera necessario atualizar o valor, é posivel alterar manualmente na base de dados, mas nessa situação atualizemos usando o seguinte Input:

UPDATE pedidos
SET valor_total = 59.90
WHERE id = 14;

Output
+----+------------+-------------+---------------------+-----------+----------------------------------------------+-------------+---------------------+---------------------+
| id | cliente_id | vendedor_id | data_hora | status | observacoes | valor_total | criado_em | atualizado_em |
+----+------------+-------------+---------------------+-----------+----------------------------------------------+-------------+---------------------+---------------------+
| 10 | 2 | 1 | 2026-04-01 09:15:00 | FATURADO | Pedido corporativo entregue | 1149.70 | 2026-07-21 10:00:21 | 2026-07-21 10:00:21 |
| 11 | 1 | NULL | 2026-04-02 14:30:00 | ABERTO | Cliente iniciou compra pelo site | 339.80 | 2026-07-21 10:00:21 | 2026-07-21 10:00:21 |
| 12 | 3 | 2 | 2026-04-05 11:00:00 | CANCELADO | Pagamento recusado | 299.90 | 2026-07-21 10:00:21 | 2026-07-21 10:00:21 |
| 13 | 4 | 1 | 2026-04-07 16:45:00 | FATURADO | Compra com multiplos itens | 1079.50 | 2026-07-21 10:00:21 | 2026-07-21 10:00:21 |
> | 14 | 2 | NULL | 2026-04-09 08:20:00 | ABERTO | Sem vendedor vinculado | 59.90 | 2026-07-21 10:00:21 | 2026-07-24 10:17:00 |
| 15 | 1 | NULL | 2026-04-10 10:10:00 | ABERTO | Pedido usado para exercicio de vendedor nulo | 59.90 | 2026-07-21 10:00:21 | 2026-07-21 10:00:21 |
+----+------------+-------------+---------------------+-----------+----------------------------------------------+-------------+---------------------+---------------------+

-- dessa forma o valor foi atualizado.


### Considerações sobre o modulo 6

--Esse modulo se deferencia por trazer situações praticas, ele não possui nenhum ensinamento teorico, focado apenas na aplicaçao dos conhecimentos desemvolvidos, durante os exercicios precisei fazer algumas mudanças porque durante o processo termos novos antes não apresentados foram abordados, para fechar a trilha sem lacunas no apredijagem, todos esses termos não aplicados na trilha serao aprofundados em um modulo bonus, denominado modulo 7, entao apos o execicio do modulo 6 sera enviado outro exercicio do modulo 7 que ta,bem ira conter o que foi aprendido nesse modulo para que se possa ter um controle do que o trainee ja viu.
84 changes: 84 additions & 0 deletions Exercicios Modulos/# Modulo 7 Update e cadastros em tabelas.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Modulo 7 Update e cadastros em tabelas

## Updat de Tabelas.

1. Nesse Momentos veremos como fazer atualização de tabelas, como por exemplo mudar o nome do usuario
> As auteraçao sao feitas com o comnado Update


Modelo Geral
```sql
UPDATE tabela
SET atributo = informação do tributo alterada
WHERE id do iten a ser alterado;
```

ATENCAO: Aqui é importante lembra de você especificar o qaul item sera mudado usando o WHERE, se a caso você não o coloque, todos sofreram a mudança e nao somente um item, veremos no emplo abaixo

Exemplo 1.0
```sql
UPDATE pedidos
SET valor_total = 59.90
WHERE id = 14;
```
Nessa situação especifiquemos que queremos mudar apenas o item 14, se por algum acaso esquecermos do 'WHERE' todos os intem terao o valor total = 59.90
Tambem é possivel atualizar usando outra tabela, para isso utiliza-se o FROM , contudo é necessaio fazer a relaçao usando o WHERE.

Ecemplo 2.0
```Sql
UPDATE pedidos p
SET valor_total = 12.00
FROM pedido_itens pi
WHERE p.id = pi.pedido_id;
```
Essas são apenas alguns exemplo de aplicaçao de atualizacao em tabelas.

2. Novos cadastros em tabelas

Para o cadastro de alguma entidade a alguma tabela se usa a função INSERT INTO , logo na mesma linha deve vim a tabela
seguesse esse padrao, a funçao e a tabela, somente assim vocÇe podera abrir a cchete dos atributos a serem preenchidos, lembre-se
a ordem que se estiver dentro da cochete sera a ordem seguida no 'VOLUES' tal esse que adiciona as informação desejada de um atributo.

# exemplo 1

```SQL
INSERT INTO tabela (
id,
sku,
descricao,
Valor_unitario,
estoque_atual,
ativo
) VALUES
(1, 'SKU-001', 'Cafe nao amargo', 67.00, 1, 1);
```
nesse exemplo é um cadastro de produto, dentro do cochete você indica os atributos, e a ordem deles, no VOLUES você dara os valores

### Exercicios Modulo 7

No sistema Simples web tem uma pagina especifica para o usuario, como aqui o objetivo é aprender a cadastrar se deve fazer manualmente, Boa Sorte :D

#### caso 1

cliente:
> Ola , eu preciso cadastrar 3 novo cliente, (informação)

#### caso 2
cliente:
> Ola, preciso cadastrar 2 itens novos da loja, pode me ajudar, o xml da nota esta na area de trabalho.

#### caso 3
cliente:
> Ola, to com dificuldade de emitir 3 pedido para um cliente, pode me ajudar? (informaçao)

#### caso 4
cliente:
> Boa Tarde, eu cadastrei um iten de uma nota mais na hora de escriturar coloquei o valor errado, consegue arrumar para mim, eu nao consegui.

#### caso 5
cliente:
> oiii, eu estou com umpoblema, eu estou mandando os xml para uma cliente mais o email nao esta indo, o email dela é esse (josue.jose@gmail.com'), o nome do cliente é Josue jose jave.

#### caso 6
cliente:
> Ola, eu fiz um chamado mais tarde para você e você cadasrou o nome do produto errado, pode arrumar?
Loading