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
4. 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
6. 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”.
7. 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
9. Í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.
10. Í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.
12. 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
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 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.