Skip to content

fabiosantosu/projeto-pizzaria-sql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto de Modelagem de Banco de Dados: Pizzaria "Sabor em Fatias"

Este repositório contém o projeto SQL completo desenvolvido para a disciplina de Modelagem de Banco de Dados (ADS - Cruzeiro do Sul Virtual). O objetivo foi modelar, implementar e manipular um banco de dados relacional funcional (em 3ª Forma Normal - 3FN) para gerenciar o sistema de pedidos de uma pizzaria fictícia.

O projeto foi dividido em quatro etapas principais:

  • Modelo Conceitual: Definição do minimundo e dos conceitos de dados.
  • Modelo Entidade-Relacionamento (DER): Criação do diagrama DER, identificando entidades, atributos e cardinalidades.
  • Modelo Lógico: Conversão do DER em um esquema de tabelas normalizado (3FN).
  • Implementação (SQL): Criação dos scripts SQL (DDL e DML) para construir e testar o banco de dados.

1. Documentação do Projeto (Atividades 1, 2 e 3)

Todo o processo de concepção do projeto, desde a análise de requisitos (Minimundo) até o Modelo Conceitual (DER) e o Modelo Lógico (3FN), está documentado nos PDFs desta pasta, conforme a metodologia da disciplina.

2. Estrutura do Banco de Dados

O modelo lógico final consiste em 4 tabelas principais, todas normalizadas até a 3FN:

  • CLIENTE: Armazena os dados cadastrais dos clientes (Nome, Telefone, Endereço).
  • PRODUTO: Funciona como o cardápio, armazenando os itens vendáveis (Pizzas, Bebidas, etc.) com seus respectivos preços.
  • PEDIDO: Registra a transação de venda, ligando um cliente a um status, data e valor total.
  • ITEM_PEDIDO: Tabela associativa que resolve o relacionamento N:M (muitos-para-muitos) entre PEDIDO e PRODUTO. É nela que a quantidade e o preço unitário de cada item do pedido são armazenados.

3. Conteúdo do Repositório

Este repositório contém os scripts SQL e a documentação completa do projeto:

  • /documentacao: Pasta contendo os PDFs das Atividades 1, 2 e 3 (o processo de concepção).
  • README.md: Este arquivo, com a documentação do projeto.
  • schema.sql: (DDL - Data Definition Language) Script que cria a estrutura do banco (CREATE DATABASE, CREATE TABLE) e define todas as chaves primárias (PK) e estrangeiras (FK).
  • insert.sql: (DML - Data Manipulation Language) Script que popula o banco de dados, inserindo os dados de exemplo (clientes, produtos e pedidos).
  • consultas.sql: (DQL - Data Query Language) Contém 5 consultas SELECT complexas para análise de dados, utilizando JOIN, GROUP BY, ORDER BY e AVG().
  • manipulacao.sql: (DML) Contém os comandos UPDATE e DELETE para demonstrar a manipulação e a integridade dos dados (como ON DELETE CASCADE).

4. Como Executar

O projeto foi desenvolvido e testado utilizando MySQL Workbench.

É crucial que os scripts sejam executados na ordem correta para que as Chaves Estrangeiras (FKs) funcionem.

  1. Execute o schema.sql primeiro. Isso irá criar o banco pizzaria_db e todas as tabelas vazias.
  2. Execute o insert.sql em seguida. Isso irá popular as tabelas com os dados de exemplo.
  3. Execute o consultas.sql para testar as consultas de leitura e ver os resultados.
  4. Execute o manipulacao.sql por último, para testar as regras de atualização e exclusão.

5. Prova de Execução (MySQL Workbench)

Esta seção contém os prints que comprovam a criação e execução bem-sucedida de todos os scripts no MySQL Workbench.


5.1. Criação e Inserção (Action Output)

O print abaixo mostra o log de execução (Action Output) dos scripts schema.sql e insert.sql, indicando que o banco e as tabelas foram criados (Linhas 1-7) e os dados foram inseridos (Linhas 8-17) com sucesso.

imagem log de execução

5.2. Resultados das Consultas (Result Grid)

Os prints a seguir mostram os resultados (Result Grid) das consultas de análise de dados (script consultas.sql).

Resultado da Consulta 3 (Detalhes do Pedido 102 com JOIN): (Este print mostra a junção das 4 tabelas para exibir um pedido específico)

Imagem Consulta 3

Resultado da Consulta 4 (Ranking de Clientes com COUNT e GROUP BY): (Este print mostra o agrupamento de pedidos por cliente)

Imagem Consulta 4

Resultado da Consulta 5 (Ranking de Produtos Vendidos com SUM): (Este print mostra o ranking de produtos mais vendidos)

Imagem Consulta5

5.3. Execução da Manipulação (Action Output)

Este print mostra o log de execução do script manipulacao.sql, comprovando que os comandos UPDATE e DELETE foram executados com sucesso (Linhas 24-32), respeitando as chaves primárias e a integridade referencial.

Imagem Log execução

Feito com ☕ por Fabio Santos.

About

Modelagem e implementação de Banco de Dados Relacional (MySQL). Inclui normalização (3FN), integridade referencial (Constraints/Cascade) e scripts SQL avançados com JOINs, Agregações (GROUP BY/AVG) e análise de dados complexa.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors