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.

24 changes: 24 additions & 0 deletions Exercicios Modulos/Exercicio Modulo 4
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Trilha de Formação — Suporte Técnico com Base em Banco de Dados e SQL

## 7.6 Exercícios do módulo 4

1. Dar um exemplo de conjunto usando `clientes`.
2. Dar um exemplo de subconjunto usando `produtos`.
3. Explicar, sem SQL, o que seria a interseção entre pedidos e clientes.
4. Explicar, sem SQL, o que seria a diferença entre vendedores e vendedores com pedidos.

1. Caso o se queira saber quais produtos um determinado cliente ainda nunca havia comprado é possivel tirar por diferença
Utilizando do conjunto diferença se é visto quais produtos determinado cliente nunca eftuou uma compra.
da mesma forma, é possivel saber quais produtos ja foram vendido a tal, vendo quais produtos intersectam com o usuario.


2. o subconjunto é uma pequena "parte" de um conjunto , por exemplo o conjunto `produtos`, dentro dele temos um subconjunto chamado `estoque atual` , nele contem a quantidade atual dos produtos, assim podento consultar apenas o estoque, isso facilita em caso de buscas rapidas.

3. Na imagem [conjunto produto e criente.jpeg] é uma explicação de forma visual como um `cliente` e um produto podem intersectar em algum momento, como um produto que o cliente ja tenha comprado, na imagem é possivel visualisar a area de cliente(azul) , a area de produto(vermelho), e na area central uma cololaração laranja, essa area pertence tanto a produto quanto ao cliente, essa parte é chamada de intersecção dos dois DSconjuntos.

4. vendedores se refere a tabela, todos os vendedores(ou tambem o conjunto principal), e vendedores com pedidos se refere a um tipo conjunto de intersecção, onde vemos qual vendedores estão associados a algum pedido, isso ajuda a organizar para saber qual vendedor esta vendendo mais, e assim ele separa, e aqueles não associados(que sobraram) sao os qua nao venderam nada, alem de ajudar organizar as bonificação por venda, se tive.


## considereções do modulo 4

O modulo foi relativamente simples, ele utiliza de maneira direta e simples o conjunto, algo ja aboradado em minhas aulas, e que particularmente nunca tive dificuldade, desta forma o entendimento ficou mais claro, decidi tambem responder a questão 3 do modulo 4 atraves de uma ilustração propria, de maneira a ficar mais claro, pretento elaborar mais relações entre conjuntos a fim de descobrir maneiras eficases de se utilizar.
15 changes: 15 additions & 0 deletions Exercicios Modulos/Projeto de acompanhamento de notas escolares
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Analise de desempenho escolar

## Analise e desemvollvimento de primeiro prototipo

1. A imagem [fluxograma escola.png] faz parte de um desemvolvimento de um futuro banco de dados, decidi por assim incluir
na trilha de aprendijagem para um melhor desemvolvimento, também por se tratar de aplicar e desemvolver minhas ablidades em situações diferentes.

2. o projeto consiste em desemvolver um banco de dados que armazene as notas dos alunos do fundamental a fim de auxiliar o controle e facilitar buscas, contudo o foco principal do projeto e fazer com que o banco ajude o professor a acompanhar o desemvolvimento do aluno, assim em caso de queda de nota de um periodo para o outro o professor percebera essa mudança, assim podendo avaliar se é um caso isolado de uma materia, se é em todas. Assim ajudando o professor que ja possui uma rotina estressante a ter uma rotina mais organizada e possibilitando enchegar dificuldades de alunos que antes passavam despercebido pela quantidade de aluno em uma sala.

3. o fluxograma ainda não esta completo, enquanto desemvolvia acabei me perdendo nas anotação, por isso reduzi os passos para evitar colocar dados
que possam quebrar o banco, pretendo fazer um "enchugamento para visualisar os pontos que possam causar um quebra.

4. Tambem preciso ainda arrumar alguns pontos ja vistos, como relacionamento incossistentes, adicionar uma tabela alerta para os professores notarem alguma queda de desempenho escolar(ainda nao estou me aprofundando nessa parte), e tabem a tabela histórico esta armazenando nota, ver se não esta sobressaindo, ela deve calcular a media final.


34 changes: 34 additions & 0 deletions Exercicios Modulos/Relatorio de experiencia dos modulos
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Relatorio de experiencia dos modulos da trilha SQL

## Modulo 1

1. O modulo 1 foi o mais longo ate o momento por se tratar do inicio, é a introdução a
todos os termos e conceitos que serão abordados, ele tabem prepara para a criação das tabelas.
Por ser algo mais teorico do que pratico ele exerce muito mais a capacidade de memorização dos conceitos.
Sobre o modulo, achei um dos mais faceis, aborda o assunto de maneira direta, e mesmo sendo o mais teorico
dos modulos, ele não aprofunda assuntos que podem não serem trabalhado na trilha.

## Modulo 2

1. Em contra partida do modulo passado, considero esse o mais dificil dentre os modulo ja feito,
nesse modulo é a criação do conteinner no docker, esse foi o que mais me debati, a interfasse ser ingles dificultou no inicio
mais nada que um pouco de pratica não resolvesse, contudo, a liguagem para subir o docker me debatia muito, no terminal, muitas veses
não consegui enterder o erro, assim precisei recorrer ao claude e chat gpt para traduzir a mesagem, ele me ajudou a entender o erro,
embora mesmo agora teria dificuldade de sobir novamente, pretendo me aprofundar mais futuramento por que claramente ainda tenho dificuldade
nessa area.

## Modulo 3

1. Esse modulo vejo mais como um complemento do modulo 2, nele se é visto a alteração de tabelas, relativamente simples, mais
o que mais achei interassante são os comentario, alterar uma tabela é simples, mais o impacto que essa alteração vai causar é
o verdadeiro desafio, pois é necessario uma interpletação dos impactos de cada mudança, e interpletar antes mesmo de efetuar a mudança para
evitar que cause um poblema ao banco de dados, esse modulo foi bem direto quanto as informação ele ensina como fazer modificação nas tabelas
de forma direta, mais deixa explicito as atenção que se deve ter ao fazer cada mudança, pois cada uma vai impactar o banco de alguma forma,
e como é importante plenejar antes de agir.

## Modulo 4

1. No modulo 4 é abordado os conjuntos dentro de um banco de dados, por se tratar de conjuntos, ele se associa ao conjunto classico visto na matematica
por isso esse foi um dos modulos mais faceis de se fazes, entretanto, mesmo sendo facel merece atenção, por se tratar das "interação entre conjunto", como a intersecção ou diferença vejo esse modulo importante para a aplicação no banco de dados.

2. Nesse modulo em um dos exercicio preferi desenhar em ums dos exercicio(exercicio 3) em vez de apenas explicar o conceito, o desenho é relativamente simple, abordando apenas a intersecção entre dois comjuntos, para desenhar utilisei da ferramente paint. R
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 Exercicios Modulos/fluxograma escolar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
79 changes: 79 additions & 0 deletions exe_modulo.2.3.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
CREATE TABLE vendedores (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
nome VARCHAR(150) NOT NULL,
email VARCHAR(150) DEFAULT NULL,
telefone VARCHAR(20) DEFAULT NULL,
ativo TINYINT(1) NOT NULL DEFAULT '1',
criado_em DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
atualizado DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

CREATE TABLE clientes(
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
tipo_pessoa ENUM('FISICA','JURIDICA') NOT NULL,
pessoa_razao_social VARCHAR(150) NOT NULL,
nome_fantasia VARCHAR(150) DEFAULT NULL,
cpf_cnpj VARCHAR(18) NOT NULL,
email VARCHAR(150) DEFAULT NULL,
telefone VARCHAR(25) DEFAULT NULL,
criado_em DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
atualizado_em DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
data_nascimento DATE DEFAULT NULL,
UNIQUE KEY uk_clientes_cpf_cnpj (cpf_cnpj)
);

CREATE TABLE `produtos` (
id BIGINT unsigned NOT NULL AUTO_INCREMENT,
sku VARCHAR(50) NOT NULL,
descricao VARCHAR(200) NOT NULL,
valor_unitario DECIMAL(10,2) NOT NULL,
estoque_atual DECIMAL(10,2) NOT NULL DEFAULT 0.00,
ativo TINYINT(1) NOT NULL DEFAULT 1,
criado_em DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
atualizado_em DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
categoria VARCHAR(150) DEFAULT NULL,
UNIQUE KEY uk_produtos_sku (sku)
);

CREATE TABLE `pedidos` (
id BIGINT unsigned NOT NULL AUTO_INCREMENT,
cliente_id BIGINT unsigned NOT NULL,
vendedor_id BIGINT unsigned NOT NULL,
data_hora DATETIME NOT NULL,
status enum('ABERTO','FATURADO','CANCELADO') NOT NULL DEFAULT 'ABERTO',
observacaos VARCHAR(250) DEFAULT NULL,
valor_total DECIMAL(12,2) NOT NULL DEFAULT 0.00,
criado_em DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
atualizado_em DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT fk_pedidos_clientes FOREIGN KEY (cliente_id) REFERENCES clientes (id),
CONSTRAINT fk_pedidos_vendedores FOREIGN KEY (vendedor_id) REFERENCES vendedores (id)
);

CREATE TABLE `pedidos_itens` (
id BIGINT unsigned NOT NULL AUTO_INCREMENT,
pedido_id BIGINT unsigned NOT NULL,
produto_id BIGINT unsigned NOT NULL,
quantidade DECIMAL(10,2) NOT NULL,
valor_unitario DECIMAL(10,2) NOT NULL,
valor_total DECIMAL(12,2) NOT NULL,
criado_em DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
atualizado_em DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT fk_pedido_itens_pedidos FOREIGN KEY (pedido_id) REFERENCES pedidos (id),
CONSTRAINT fk_pedido_itens_produtos FOREIGN KEY (produto_id) REFERENCES produtos (id)
);



/*comando de alterçaõ de tabela*/

ALTER TABLE clientes
ADD COLUMN data_nascimento DATE NULL;

ALTER TABLE produtos
ADD COLUMN categoria VARCHAR(150) NULL;

ALTER TABLE clientes
MODIFY COLUMN telefone VARCHAR(25);

ALTER TABLE pedidos
ADD INDEX idx_pedidos_data_hora (data_hora);