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.

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);