Skip to main content

Banco de Dados

Professor: Fernando

Descrição do site da Unipar

Modelo Relacional; Banco de dados Relacional; Padrão SQL; Insert, Update, Delete e Select; Joins; Índices; Domínios; Triggers; Procedures; ACID; Bancos de dados Não relacionais; MongoDB; Estrutura de dados não relacionais;

Assuntos abordados

  • Banco de dados relacional;
  • Banco de dados não relacional;

Calendário

Materiais utilizados na disciplina

Atividades solicitadas para serem entregues

Atividade 1

Formulário online

Transcrição

A partir dos conceitos estudados, com base no material de apoio e consultas, pede-se a elaboração de um modelo físico (entidades, atributos, tipos e relacionamentos) de um banco de dados com tema livre.

A atividade pode ser feita em grupos de até 5 pessoas.

Defina um tema no grupo, ou seja um “Minimundo”, descreva esse minimundo e implemente usando o StarUML (New File From Template -> Data Model) o modelo físico adequado.

Como não teremos os modelos conceituais nem o lógico para auxiliar, escolha um tema que vocês tenham domínio para permitir a construção adequada do modelo.


Entregue durante a aula

Download do projeto entregue: Grupo-03.zip

Atividade 2

Formulário online

Transcrição

INSTRUÇÕES:

CONSIDERE O SEGUINTE MINIMUNDO:

A empresa de agronegócio AgriTray deseja construir um sistema para que os funcionários de campo registrem internamente relatos positivos ou de aprendizados obtidos em atendimento aos agricultores. A ideia é criar uma base de conhecimento com base nas experiências de campo dos seus veterinários, agrônomos e técnicos. O sistema deve funcionar como uma rede social onde o usuário terá um perfil com nome e função (ex: José - Agrônomo). Esse perfil poderá fazer posts de textos, fotos e vídeos curtos, sempre identificando o local do registro, área ou segmento dentro da empresa (suíno, aves, grãos, etc) e definindo tags sobre o conteúdo, como por exemplo #ração, #tratamento_virose, #gripe, #aumento_produção, etc. Um usuário poderá ver todos os posts e marcar os seus preferidos para ver depois.

A partir do minimundo acima, faça: 1 - Construa um projeto físico de banco de dados relacional que atenda os requisitos. Dados não apresentados podem ser complementados com seu conhecimento sobre o tema ou pesquisas complementares. Implemente as principais entidades envolvido para resolver o problema principal.

2 - Escreva o código DDL para a construção do banco, criando as restrições de Chave primária, Chave estrangeira e Checks para cada campo necessário

3 - Escreva um código e entregue em um arquivo único, identificando cada item:
3.1 - Drope (exclua) e construa novamente ao menos uma tabela
3.2 - Altere o tipo de dado de três campos em quaisquer tabelas
3.3 - Altere/adicione a restrição (CHECK) de outros três campos em quaisquer tabelas
3.4 - Altere o nome das colunas que são PK para "ID_nome da coluna"
3.5 - Adicione duas colunas em quaisquer tabelas

Use a documentação do PostgreSQL 13 e os materiais da aula. https://www.postgresql.org/docs/13/ddl.html

Obs: alguns itens 3 não vimos em sala. Irei colocar no slide SQL ao longo da semana. Porém podem usar a documentação a fim de sanar dúvidas.

Obs2: Para fazer a modelagem e o como resolver o desafio proposto, utilize a criatividade sobre como a melhor forma de organizar os dados, pensando na recuperação das informações ali contidas.


Entregue até 14/08/2021

Download do projeto entregue: Grupo-03-Atividade02-1.DDL.zip
Download do projeto entregue: Grupo-03-Atividade02-2.DDL.sql
Download do projeto entregue: Grupo-03-Atividade02-3.DDL.sql

Atividade 3

Formulário online

Transcrição

INSTRUÇÕES:

A partir dos modelos criados nas atividades anteriores, escolha um deles e crie os comandos DML para:

  • Inserir dados
  • Alterar dados
  • Excluir dados

Busque utilizar variações na clausula WHERE, Sub Consultas, etc, conforme os exemplos em sala.

Para entregar, Anexo o script ou scripts no formulário


Entregue durante a aula

Download do projeto entregue: Grupo-03-Atividade03.DDL.sql

Atividade 4

Formulário online

Transcrição

A partir do banco criado na atividade anterior, execute as tarefas abaixo. .

Para entregar, Respondo no próprio formulário as questões iniciais e anexe o script ou scripts na questão relacionada ao banco criado.


Entregue até 28/08/2021

Download do projeto entregue: Grupo-03-Atividade04.DDL.sql

Atividade 5

Formulário online

Transcrição

CRIE AS SEGUINTES CONSULTAS (QUERIES):

1 - Liste a data do pedido, data de entrega, nome do cliente e id dos produtos realizados empresa 01 no ano de 2021.

2 - Liste o Id do pedido, id do produto, data do pedido e o nome do produto, dos pedidos realizados entre 01/07/2021 e 31/07/2021.

3 - Liste os pedidos sem data de entrega definida, indicando id, data do pedido, nome do cliente e há quantos dias foi realizado.

4 - A equipe do marketing solicitou uma listagem dos 100 clientes com mais quantidade de pedidos, listando as informações do cliente disponíveis no banco.

5 - Em seguida, a equipe do marketing solicitou quais os produtos esses 100 clientes (questão 4) compraram nos últimos 730 dias.

6 - O gerente de compras da empresa precisa conferir algumas informações de produtos para corrigir os relatórios de compras. Ele solicitou uma listagem com os produtos sem categoria e as categorias que não estão sendo utilizada em nenhum produto.

7 - A empresa deseja fazer uma ação de recuperação dos clientes. O setor de marketing solicitou uma listagem com os dados disponíveis no sistema dos clientes que nunca compraram e os que já compraram porém a última compra foi a mais de 365 dias.

8 - A equipe do marketing solicitou ao departamento uma listagem com os produtos mais vendidos por categoria.

Pessoal da gestão de clientes e crediário esta fazendo uma análise da base de clientes, e solicitou as seguintes informações:

9 - Quantos clientes existem na base por categoria

10 - Quantos clientes existem na base por estado e exiba os 5 primeiros

11 - Quantos clientes existem na base por cidade e exiba somente as que tiverem mais de 10 clientes

12 - Quantos clientes existem na base por categoria e destes quantos nunca compraram

13 - Quantos clientes existem na base por cidade e destes, quantos nunca compraram

14 - A gerência de loja solicitou uma tela que trouxesse as informações principais dos produtos e seu preço atual.

15 - Crie uma consulta que retorne o id do pedido, data que foi feito, produto, quantidade, o valor praticado nessa época e o valor total do pedido


Entregue até 29/08/2021

Download do arquivo entregue: DDL_banco_Atividade05.sql
Download do arquivo entregue: DML_INSERT_banco_Atividade05.sql
Download do arquivo entregue: Atividade05.DML.sql

Trabalho final

Formulário online

Transcrição

INSTRUÇÕES:

Para finalizarmos nossa disciplina, vamos fazer um projeto que envolva praticamente todos os conceitos vistos.

A Atividade pode ser em grupo até 4 pessoas. Busquem organizar entre o grupos as tarefas.

Deve-se entregar:

  • Modelo Físico do banco (mínimo 5 tabelas, focar nas principais)
  • Criação de ao menos 2 domínios e uso deles na criação do DDL, sendo UM com tipo e UM com constraint (CHECK)
  • Script DDL para criação
  • Script DML com os dados populados no banco (Pode gerar via backup do banco no PG_ADMIN)
  • Ao menos 1 VIEW
  • Ao menos 1 FUNÇÃO que envolva consulta em banco
  • Ao menos 1 TRIGGER/gatilho que modifique ou faça inserção em uma tabela.
  • 10 consultas que utilizem os recursos estudados, como Inner Join, Left e right join, Group By, Having, Subconsulta, etc ou as funções e views criadas pelo grupo. Escreva o que se espera retornar antes da consulta.

Os temas para o projeto são LIVRES. Sugestão é que busquem algo novo e diferente do que já estão habituados ou que seja um possível projeto novo na empresa ou para desenvolver durante o curso nas demais disciplinas. Algumas sugestões:

  • Controle de estatísticas de times de futebol
  • Pet Shop
  • Controle de assinaturas de bebidas
  • Portal de cursos on-line (informações administrativas ou as pedagógicas)
  • Portal de medalhas olímpicas
  • Gerenciar rotas de transporte

Façam uma entrega por grupo, anexando os artefatos conforme o indicado em cada campo abaixo.


Entregar até o dia 11/09/2021

Download do arquivo entregue: Trabalho.zip