introdução a banco de dados ufmg/2014-02 - aula 09
TRANSCRIPT
![Page 1: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/1.jpg)
Cronograma
![Page 2: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/2.jpg)
Cronograma10/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
![Page 3: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/3.jpg)
Engenharia Reversa
![Page 4: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/4.jpg)
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
![Page 5: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/5.jpg)
Relacionamentos
![Page 6: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/6.jpg)
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”.
![Page 7: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/7.jpg)
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
![Page 8: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/8.jpg)
Índices
![Page 9: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/9.jpg)
Í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.
![Page 10: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/10.jpg)
Í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.
![Page 11: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/11.jpg)
Convenções
![Page 12: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/12.jpg)
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
![Page 13: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/13.jpg)
Prática
![Page 14: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/14.jpg)
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.
![Page 15: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/15.jpg)
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.
![Page 16: Introdução a Banco de Dados UFMG/2014-02 - Aula 09](https://reader036.vdocuments.com.br/reader036/viewer/2022071818/55af57a41a28ab4e098b4737/html5/thumbnails/16.jpg)
Obrigado!