Baixe Programação Banco de Dados e outras Resumos em PDF para Programação do Sistema, somente na Docsity!
FACULDADE ANHANGUERA
Programação e Desenvolvimento de Banco de Dados
PORTFÓLIO DA AULA PRÁTICA
Criação de Banco de Dados Loja no MySQL
Aluno: FABIO WESLEY ANTUNES GOMES
Curso: Análise e Desenvolvimento de Sistemas - ADS
Modalidade: Híbrido
Unidade: Sumaúma Shopping - Manaus/AM
Manaus/AM
1. Introdução
Este portfólio apresenta o desenvolvimento da aula prática da disciplina Programação e
Desenvolvimento de Banco de Dados. A atividade teve como objetivo criar um banco de dados
utilizando a linguagem SQL, realizar a inserção de dados e consultar informações por meio de uma
visão (VIEW). O estudo de caso proposto consiste na criação de uma base de dados chamada Loja,
seguindo o modelo físico indicado no DER da atividade.
Para atender ao roteiro, foram criadas as tabelas Estado, Municipio, Cliente e ContaReceber. Também
foram definidos os relacionamentos por meio de chaves estrangeiras, as chaves primárias com
AUTO_INCREMENT, os tipos de dados, as restrições NOT NULL e o campo Situacao da tabela
ContaReceber como ENUM, aceitando apenas os valores 1, 2 e 3.
2. Objetivos
Criar a base de dados Loja no MySQL Server utilizando o MySQL Workbench.
Implementar o modelo físico conforme o DER apresentado na atividade.
Criar as tabelas Estado, Municipio, Cliente e ContaReceber com chaves primárias, chaves
estrangeiras e restrições adequadas.
Popular todas as tabelas com pelo menos três registros por meio do script inserir.sql.
Criar uma VIEW no script consulta.sql para retornar somente as contas não pagas, ou seja, com
Situacao = 1.
Apresentar capturas de tela legíveis demonstrando a criação, inserção e consulta dos dados.
3. Métodos
A implementação foi organizada em três etapas, conforme solicitado no roteiro da aula prática. A
ferramenta utilizada foi o MySQL Workbench, conectado ao MySQL Community Server.
Primeiramente, foi criado o banco de dados Loja e suas tabelas com comandos DDL. Em seguida, foi
criado o script inserir.sql para popular as tabelas. Por fim, foi criado o script consulta.sql contendo uma
VIEW para listar as contas ainda não pagas.
3.1 Ferramentas utilizadas
MySQL Community Server.
MySQL Workbench.
Linguagem SQL, utilizando comandos DDL, DML e DQL.
4. Desenvolvimento da atividade
4.1 Etapa 1 - Criação do banco de dados e das tabelas
Na primeira etapa, foi criada a base de dados Loja. Depois, foram implementadas as tabelas Estado,
Municipio, Cliente e ContaReceber. Todas as chaves primárias foram definidas como INT
AUTO_INCREMENT. Os relacionamentos foram criados por meio de chaves estrangeiras, garantindo
a integridade referencial entre as tabelas.
SET FOREIGN_KEY_CHECKS = 1;
CREATE TABLE Estado ( ID INT NOT NULL AUTO_INCREMENT, Nome VARCHAR(50) NOT NULL, UF CHAR(2) NOT NULL, PRIMARY KEY (ID) ); CREATE TABLE Municipio ( ID INT NOT NULL AUTO_INCREMENT, Estado_ID INT NOT NULL, Nome VARCHAR(80) NOT NULL, CodIBGE INT NOT NULL, PRIMARY KEY (ID), INDEX fk_Municipio_Estado1_idx (Estado_ID), CONSTRAINT fk_Municipio_Estado FOREIGN KEY (Estado_ID) REFERENCES Estado (ID) ); CREATE TABLE Cliente ( ID INT NOT NULL AUTO_INCREMENT, Nome VARCHAR(80) NOT NULL, CPF CHAR(11) NOT NULL, Celular CHAR(11) NULL, EndLogradouro VARCHAR(100) NOT NULL, EndNumero VARCHAR(10) NOT NULL, EndMunicipio INT NOT NULL, EndCEP CHAR(8) NULL, Municipio_ID INT NOT NULL, PRIMARY KEY (ID), INDEX fk_Cliente_Municipio1_idx (Municipio_ID), CONSTRAINT fk_Cliente_Municipio FOREIGN KEY (Municipio_ID) REFERENCES Municipio (ID) ); CREATE TABLE ContaReceber ( ID INT NOT NULL AUTO_INCREMENT, Cliente_ID INT NOT NULL, FaturaVendaID INT NULL, DataConta DATE NOT NULL, DataVencimento DATE NOT NULL, Valor DECIMAL(18,2) NOT NULL, Situacao ENUM('1', '2', '3') NOT NULL, PRIMARY KEY (ID), INDEX fk_ContaReceber_Cliente_idx (Cliente_ID), CONSTRAINT fk_ContaReceber_Cliente FOREIGN KEY (Cliente_ID) REFERENCES Cliente (ID) ); 4.2 Etapa 2 - Script inserir.sql
Na segunda etapa, foi criado o script inserir.sql, contendo comandos de manipulação de dados (DML).
Esse script popula todas as tabelas existentes na base Loja com pelo menos três registros. Na tabela
ContaReceber, foram inseridas contas com situações diferentes para demonstrar o funcionamento da
VIEW: conta registrada, conta cancelada e conta paga.
USE Loja; INSERT INTO Estado (Nome, UF) VALUES ('Amazonas', 'AM'), ('São Paulo', 'SP'), ('Paraná', 'PR'); INSERT INTO Municipio (Estado_ID, Nome, CodIBGE) VALUES (1, 'Manaus', 1302603), (2, 'São Paulo', 3550308),
(3, 'Curitiba', 4106902); INSERT INTO Cliente ( Nome, CPF, Celular, EndLogradouro, EndNumero, EndMunicipio, EndCEP, Municipio_ID ) VALUES ('João Silva', '12345678901', '92999990001', 'Rua das Flores', '100', 1302603, '69000000', 1), ('Maria Oliveira', '98765432100', '11999990002', 'Avenida Brasil', '200', 3550308, '01000000', 2), ('Carlos Souza', '45678912300', '41999990003', 'Rua Central', '300', 4106902, '80000000', 3); INSERT INTO ContaReceber ( Cliente_ID, FaturaVendaID, DataConta, DataVencimento, Valor, Situacao ) VALUES (1, 1001, '2026-05-01', '2026-05-30', 150.00, '1'), (2, 1002, '2026-05-05', '2026-06-05', 250.00, '2'), (3, 1003, '2026-05-10', '2026-06-10', 300.00, '3'), (1, 1004, '2026-05-15', '2026-06-15', 180.50, '1'); 4.3 Etapa 3 - Script consulta.sql com VIEW
Na terceira etapa, foi elaborado o script consulta.sql, contendo uma VIEW chamada ContasNaoPagas.
A VIEW retorna somente as contas que ainda não foram pagas, identificadas pela situação igual a 1. O
resultado apresenta o ID da conta a receber, o nome e CPF do cliente, a data de vencimento e o valor
da conta.
USE Loja; DROP VIEW IF EXISTS ContasNaoPagas; CREATE VIEW ContasNaoPagas AS SELECT cr.ID AS ID_Conta_Receber, c.Nome AS Nome_Cliente, c.CPF AS CPF_Cliente, cr.DataVencimento AS Data_Vencimento, cr.Valor AS Valor_Conta FROM ContaReceber cr INNER JOIN Cliente c ON cr.Cliente_ID = c.ID WHERE cr.Situacao = '1'; SELECT * FROM ContasNaoPagas;
5. Resultados
Após a execução dos scripts, o banco de dados Loja passou a conter as quatro tabelas solicitadas no
estudo de caso. As tabelas Estado, Municipio e Cliente receberam três registros cada. A tabela
ContaReceber recebeu quatro registros, incluindo duas contas com Situacao = 1, para demonstrar o
funcionamento da VIEW ContasNaoPagas.
A VIEW ContasNaoPagas retornou apenas os registros de contas em aberto, ou seja, contas
registradas e ainda não pagas. Com isso, a consulta atende ao requisito da atividade, exibindo o ID da
conta, o nome e CPF do cliente associado, a data de vencimento e o valor da conta.
Figura 2 - Execução do script DDL para criar a base Loja e as tabelas.
Figura 3 - Banco Loja com as tabelas e a VIEW no painel SCHEMAS.
Figura 5 - Resultado da consulta SELECT * FROM Municipio.
Figura 6 - Resultado da consulta SELECT * FROM Cliente.
Figura 8 - Resultado da VIEW ContasNaoPagas, filtrando Situacao = 1.
7. Conclusão
A atividade prática permitiu aplicar os conceitos de criação, manipulação e consulta de dados em um
banco relacional. O banco Loja foi criado no MySQL com base no DER proposto, respeitando as
tabelas, os relacionamentos, os tipos de dados, as chaves primárias com AUTO_INCREMENT e as
restrições de não nulo.
O script inserir.sql cumpriu o objetivo de popular todas as tabelas com pelo menos três registros. Já o
script consulta.sql criou a VIEW ContasNaoPagas, que possibilita consultar de forma direta as contas
registradas que ainda não foram pagas. Assim, o portfólio atende às etapas solicitadas no estudo de
caso e demonstra a execução por meio de scripts e capturas de tela legíveis.
8. Checklist de atendimento ao roteiro
Item solicitado Situação
Banco de dados Loja criado Atendido
Modelo físico implementado conforme DER Atendido
Tabelas Estado, Municipio, Cliente e ContaReceber criadas Atendido
Chaves primárias INT com AUTO_INCREMENT Atendido
Relacionamentos com chaves estrangeiras Atendido
Campo Situacao como ENUM apenas com valores 1, 2 e 3 Atendido
Script inserir.sql com pelo menos três registros por tabela Atendido
Script consulta.sql com VIEW de contas não pagas Atendido
Capturas de tela legíveis Incluídas como modelo demonstrativo