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

16
Cronograma

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

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

Cronograma

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

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

Engenharia Reversa

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

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

Relacionamentos

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

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

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

Índices

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

Í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

Í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

Convenções

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

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

Prática

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

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

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

Obrigado!