Cronograma
Cronograma
10/10 Teoria + Exercício
17/10 Exercícios (UC p/ MR & MR p/ UC)
24/10 Exercício em Grupo (MR) - 20pts
31/10 Dúvidas para a Prova
07/11 Prova Individual (Teórica) | Aberta + Fechada
14-21/11 Trabalho Final (MC e MR)
28/11 Trabalho Final + Entrega
Engenharia Reversa
Engenharia Reversa
• A capacidade de recriar uma modelagem com
base em um BD já criado.
• Um BD criado com qualidade terá sua
modelagem via Engenharia Reversa intacta.
• Banco de Dados ———> Modelagem Relacional
Relacionamentos
Relacionamentos
• Problemas com remoção de registros relacionados
• Registros sem uma associação que realmente
existe.
• Quando se remove um registro que é uma chave
estrangeira em outra tabela perde-se a referencia.
• Problema de integridade dos 

dados: “Os dados não estão 

íntegros”.
Solução?
• Automatizar relacionamentos de modo a manter a
integridade dos dados.
• Quando uma ação de DELETE (remoção) ou
UPDATE (atualização) realiza-se uma
consequência para aquele registro.
• onDelete CASCADE, onDelete NO ACTION
• onUpdate CASCADE, onUpdate NO ACTION
Índices
Índices
• Propriedades/Colunas que são muito acessadas,
dependendo do volume de dados causa lentidão
nas consultas.
• Por exemplo: consultas na tabela de usuários
pelo endereço de e-mail ou nome de usuário.
Índices
• Criação de um índice para aquela coluna
específica:
• O BD de dados realiza a indexação para facilitar
a consulta e retornar os dados de maneira mais
rápida e eficaz.
Convenções
Convenções MySQL
• Convenções são regras sugeridas pela equipe do BD
a fim de garantir uma padronização dos BDs de
maneira a facilitar o entendimento e evitar problemas.
• Não utilizar acentos para nomes de tabelas ou
colunas;
• Letras em minúsculo sempre para nomes de tabela
ou colunas;
• Ex: usuario, compras_usuarios, promocao, codigo,
nome_completo, sobrenome, data_nascimento, etc
Prática
Condomínio
• Flávio é síndico de um condomínio residencial e precisa modelar todo o
funcionamento do prédio para facilitar sua gestão.
• Os moradores do prédio moram nos apartamentos, de modo que um apartamento
pode ter mais de um morador. Para cada morador ele precisa do nome e CPF, e
para cada apartamento somente o número do mesmo.
• Cada apartamento paga uma taxa de condomínio mensalmente. Esta taxa possui
um valor e o dia de vencimento.
• Um dos moradores do prédio deve ser o síndico e ele que deve entregar as
cobranças das taxas pessoalmente para um dos moradores de cada
apartamento. A entrega deve ser registrada e assinada pelo morador.
• O síndico deve ser substituído anualmente, através de uma eleição, que possui
dia e hora, e deve ter como participantes os próprios moradores do prédio. Cada
eleição deve eleger um único síndico. Um morador pode ser síndico mais de uma
vez.
Supermercado
• O dono do supermercado Preço Bom deseja entender o funcionamento de sua
empresa e precisa de uma modelagem conceitual.
• O supermercado possui funcionários, dentre os quais existem gerentes e caixas.
Para todos eles ele precisa de um código, nome e CPF.
• Os clientes do supermercado compram vários produtos, que possuem descrição
e preço. Eles selecionam os produtos e passam no caixa. O funcionário do caixa
passa os produtos e registra a compra, que é formada por vários produtos e
possui um preço total.
• O cliente então realiza o pagamento da compra e o caixa dá baixa na compra
informando o valor pago e a forma de pagamento.
• No final do dia o gerente vai até cada caixa e faz o fechamento do valor do dia.
O fechamento é feito do somatório de várias compras e possui um valor geral e o
horário do fechamento. Somente o gerente tem autonomia para fazer esta ação.
Obrigado!

Introdução a Banco de Dados UFMG/2014-02 - Aula 09

  • 1.
  • 2.
    Cronograma 10/10 Teoria +Exercício 17/10 Exercícios (UC p/ MR & MR p/ UC) 24/10 Exercício em Grupo (MR) - 20pts 31/10 Dúvidas para a Prova 07/11 Prova Individual (Teórica) | Aberta + Fechada 14-21/11 Trabalho Final (MC e MR) 28/11 Trabalho Final + Entrega
  • 3.
  • 4.
    Engenharia Reversa • Acapacidade de recriar uma modelagem com base em um BD já criado. • Um BD criado com qualidade terá sua modelagem via Engenharia Reversa intacta. • Banco de Dados ———> Modelagem Relacional
  • 5.
  • 6.
    Relacionamentos • Problemas comremoção de registros relacionados • Registros sem uma associação que realmente existe. • Quando se remove um registro que é uma chave estrangeira em outra tabela perde-se a referencia. • Problema de integridade dos 
 dados: “Os dados não estão 
 íntegros”.
  • 7.
    Solução? • Automatizar relacionamentosde modo a manter a integridade dos dados. • Quando uma ação de DELETE (remoção) ou UPDATE (atualização) realiza-se uma consequência para aquele registro. • onDelete CASCADE, onDelete NO ACTION • onUpdate CASCADE, onUpdate NO ACTION
  • 8.
  • 9.
    Índices • Propriedades/Colunas quesão muito acessadas, dependendo do volume de dados causa lentidão nas consultas. • Por exemplo: consultas na tabela de usuários pelo endereço de e-mail ou nome de usuário.
  • 10.
    Índices • Criação deum índice para aquela coluna específica: • O BD de dados realiza a indexação para facilitar a consulta e retornar os dados de maneira mais rápida e eficaz.
  • 11.
  • 12.
    Convenções MySQL • Convençõessão regras sugeridas pela equipe do BD a fim de garantir uma padronização dos BDs de maneira a facilitar o entendimento e evitar problemas. • Não utilizar acentos para nomes de tabelas ou colunas; • Letras em minúsculo sempre para nomes de tabela ou colunas; • Ex: usuario, compras_usuarios, promocao, codigo, nome_completo, sobrenome, data_nascimento, etc
  • 13.
  • 14.
    Condomínio • Flávio ésíndico de um condomínio residencial e precisa modelar todo o funcionamento do prédio para facilitar sua gestão. • Os moradores do prédio moram nos apartamentos, de modo que um apartamento pode ter mais de um morador. Para cada morador ele precisa do nome e CPF, e para cada apartamento somente o número do mesmo. • Cada apartamento paga uma taxa de condomínio mensalmente. Esta taxa possui um valor e o dia de vencimento. • Um dos moradores do prédio deve ser o síndico e ele que deve entregar as cobranças das taxas pessoalmente para um dos moradores de cada apartamento. A entrega deve ser registrada e assinada pelo morador. • O síndico deve ser substituído anualmente, através de uma eleição, que possui dia e hora, e deve ter como participantes os próprios moradores do prédio. Cada eleição deve eleger um único síndico. Um morador pode ser síndico mais de uma vez.
  • 15.
    Supermercado • O donodo supermercado Preço Bom deseja entender o funcionamento de sua empresa e precisa de uma modelagem conceitual. • O supermercado possui funcionários, dentre os quais existem gerentes e caixas. Para todos eles ele precisa de um código, nome e CPF. • Os clientes do supermercado compram vários produtos, que possuem descrição e preço. Eles selecionam os produtos e passam no caixa. O funcionário do caixa passa os produtos e registra a compra, que é formada por vários produtos e possui um preço total. • O cliente então realiza o pagamento da compra e o caixa dá baixa na compra informando o valor pago e a forma de pagamento. • No final do dia o gerente vai até cada caixa e faz o fechamento do valor do dia. O fechamento é feito do somatório de várias compras e possui um valor geral e o horário do fechamento. Somente o gerente tem autonomia para fazer esta ação.
  • 16.