Baixe o app para aproveitar ainda mais
Prévia do material em texto
IF64A-Banco de Dados 1 pbugatti@utfpr.edu.br Prof. Pedro Henrique Bugatti Aula AnteriorAula Anterior ` MER – Modelo Entidade-Relacionamento ` Conjunto de Entidades ` Conjunto de Relacionamentos ` Atributos ` Restrição de Unicidade ` Cardinalidade ` Papéis no Relacionamento Modelo conceitual (projeto conceitual) Modelo de dados abstrato que descreve a estrutura de um banco de dados 2 estrutura de um banco de dados independente de um SGBD Auto RelacionamentoAuto-Relacionamento Empregado PessoaEmpregado supervisor Pessoa EsposaMaridosupervisionado N supervisiona 11 casadoCom 1 João supervisionada R b esposa João Pedro Paulo M i supervisor Roberto Pedro Felipe marido 3 Maria Ana Roteiro AulaRoteiro Aula ` Restrição de Participação ` Entidade Fraca ` MER-X – Modelo Entidade-Relacionamento Estendido ` Agregação` Agregação 4 Conjunto de Relacionamentos ▪ Considere o exemplo: j Curso DisciplinaPossui N1 ¾ S d i d i i di i li ? Curso ¾ Se um curso deixar de existir, o que acontece com suas disciplinas? ¾ Faz sentido guardar as disciplinas de um curso que não existe mais? ¾ Uma disciplina pode existir sem estar associada a um Curso? 5 Conjunto de Relacionamentos ▪ ex: toda entidade Disciplina deve estar associada a l C j pelo menos um Curso Curso DisciplinaPossui N1 Participação Total de Disciplina em Possui 6 Conjunto de Relacionamentos Conjunto de Relacionamentos – Restrição de Participação R t i ã d P ti i ã ç p ç ▪ Restrição de Participação Restrição Restrição EstruturalEstrutural ▪ Participação Total ▪ Participação Parcial 7 p ç Conjunto de Relacionamentos Conjunto de Relacionamentos – Participação Total ▪ Participação Total ou Dependência Dependência p ç ExistencialExistencial ▪ toda entidade de um CE deve participar, obrigatoriamente, de ao menos um g relacionamento do CR ▪ uma entidade só existe se estiver associada a outra entidade por meio de um relacionamento 8 Conjunto de Relacionamentos Conjunto de Relacionamentos – Participação Total ▪ ex: toda entidade Disciplina deve ( b i i !) i i d l i p ç (obrigatoriamente!) participar de um relacionamento Possui deve estar associada a uma entidade CursoCurso ▪ Notação DER: linha dupla conectando o CE ao CR Curso DisciplinaPossui N1 9 Participação Total de Disciplina em Possui Conjunto de Relacionamentos Conjunto de Relacionamentos – Participação Parcial ▪▪ Participação Parcial Participação Parcial nem todas as entidades p ç de um CE participam de um CR ▪ uma entidade pode existir sem estar associada a outra N ã DER li h i l d CE CR▪ Notação DER: linha simples conectando o CE ao CR Aluno DisciplinaMonitora NN Aluno 10 Participação Parcial de Aluno em Monitora Conjunto de RelacionamentosConjunto de Relacionamentos ` Considere o exemplo: Turma DisciplinaPossui 1N Sigla NomeNro N Al gNro Alunos Como identificar uma turma na SEMÂNTICA do d í i d li ã ? 11 domínio de aplicação? Conjunto de Relacionamentos Conjunto de Relacionamentos – Entidade Fraca T DisciplinaPossui 1N Turma DisciplinaPossui Nome Sigla NomeNro Nro Alunos uma Turma é identificada por meio da Disciplina à qual está associada ENTIDADE FRACA! 12 Conjunto de Relacionamentos Conjunto de Relacionamentos – Entidade Fraca ▪▪ Entidade FracaEntidade Fraca ▪ não tem atributos que possam identificá-la q p univocamente na SEMÂNTICA do domínio de aplicação ▪ não tem chave (semântica) própria id tifi ã d d d l i t ▪ sua identificação depende de um relacionamento com uma entidade de outro conjunto (chamada d ) 13 de owner) Conjunto de Relacionamentos– Entidade FracaEntidade Fraca ` Notação DER: ç Entidade Fraca: traço duplo no retângulo CR Identificador: traço duplo no losango O Entidade Fraca Owner Turma DisciplinaPossui 1N Sigla NomeNro 14 Sigla Relacionamento IdentificadorNro Alunos Conjunto de Relacionamentos Conjunto de Relacionamentos – Entidade Fraca ▪ Conjunto de Entidades Fracas: Conjunto de Entidades Fracas: ▪ possui participação total no CR (chamado de CR identificador)de CR identificador) ▪ a cardinalidade do CR é 1:N ou 1:1 Por que? Por que? 15 Conjunto de Relacionamentos– Entidade FracaEntidade Fraca yy Chave ParcialChave Parcial: um ou mais atributos de um CEs Fracas que podem identificar univocamente as entidades fracas relacionadas a um mesmo ownerrelacionadas a um mesmo owner ◦ CR 1:N ◦ Ex: Identificação de Turma: Sigla + Nro Di i li1NTurma DisciplinaPossui 1N Notação DER: traço pontilhado Sigla NomeNro Nro Alunos 16 Chave Parcial Conjunto de Relacionamentos– Entidade FracaEntidade Fraca ` Observação: o conceito de entidade fraca é mais li d à â ti d d í i d li ã dligado à semântica do domínio da aplicação do que à existência ou não de atributos que possam ser chavechave ` poderíamos incluir um ID único em turma, mas semanticamente, no contexto da aplicação, não é relevante, pois a turma acaba sendo identificada por meio da disciplina Turma DisciplinaPossui 1N Sigla NomeNro Nro Alunos Conjunto de Relacionamentos– Entidade FracaEntidade Fraca ` Ex: Turma DisciplinaPossui 1N NomeNro N Sigla Nro Alunos M t i l Aluno N Matricula Atributo derivado 18RA Nome Atributo derivado Conjunto de Relacionamentos– Entidade FracaEntidade Fraca Turma DisciplinaPossui 1N Turma pPossui NomeNro 1 Sigla Nro Nro Alunos AulaPossui N Aula Data Hora Assunto ExercícioExercício A) Construa um DER com um exemplo real de entidade fraca. B) Em um buffet, um cliente pode contratar várias festas. Uma festa, no entanto, é contratada por um único cliente. Uma festa tem várias bebidas e vários alimentos, sendo obrigatória a escolha de elo menos m de cada cate oria O a amento deescolha de pelo menos um de cada categoria. O pagamento de uma festa pode ser à vista ou parcelado em até 12 vezes, devendo ser controlada a data de vencimento e data dedevendo ser controlada a data de vencimento e data de pagamento de cada parcela. 20 Exercício – Habitação A empresa de habitação EMHAB está desenvolvendo um sistema de controle de todos os condomínios que já construiu Cadacontrole de todos os condomínios que já construiu. Cada condomínio possui um conjunto de prédios que obedecem a uma determinada numeração. Assim, o condomínio “X de Tal” possui, porç , p , p exemplo, 36 prédios, cada um possuindo Y apartamentos. Sabe-se dados sobre os moradores de cada apartamento/prédio, incluindo nome, cpf, rg, sexo, idade, e a renda média considerando todos os moradores de um determinado apartamento. Um apartamento é id tifi d d t d édi ú l didentificado, dentro de um prédio, por um número e pelo seu andar - e um prédio é identificado, em um determinado condomínio, por um número Podem ser colocados mais dados sobre o prédio tais comonúmero. Podem ser colocados mais dados sobre o prédio, tais como, as cores de sua pintura, quantos andares contém, etc. Um condomínio pode ser identificado por nome, cidade em que sep p , q localiza e número de identificação. MER X MER-X ` Limitação do Modelo E-R → não consegue expressar relacionamentos entre relacionamentos. ` Solução → Agregação → abstração através da qualç g g ç ç q relacionamentos são tratados como entidades de nível mais alto 22 MER X AgregaçãoMER-X - Agregação ` Suporte a Abstrações de Dados ` Abstração de Agregação ` Abstração de Generalização / Especialização ` Conceito Geral: construção de objetos compostos a partir de objetos componentes` Idéia: elementos de modelagem podem associar-se criando outros elementos que representam essa associação 23 MER Estendido AgregaçãoMER Estendido - Agregação ` Ex. parte do DER para uma aplicação Agência de Empregos 24 MER Estendido AgregaçãoMER Estendido - Agregação Entrevista Candidato EmpresaEntrevistaN M NRG CNPJN NomeNome Data Salario Resulta Emprego Cargo1 Salario 25 MER Estendido AgregaçãoMER Estendido - Agregação Consulta Paciente Médico Consulta N N Paciente Médicoatende Nome Nome CPF Data CRM Nome Se for necessário registrar o medicamento prescrito em cada consulta?? 26 MER Estendido AgregaçãoMER Estendido - Agregação Consulta P i t Consulta N N Paciente Médicoatende N N Nome CPF Data CRM Prescrição M di t N Nome Nome Prescrição Medicamento Id Preço Id 27 MER Estendido AgregaçãoMER Estendido - Agregação ` Toda Agregação sempre é gerada a partir de um (E SÓg g ç p g p ( UM!!!!) relacionamento ` Indícios de uso da Agregação` Indícios de uso da Agregação ` necessidade de associar dois relacionamentos ` ex: Relacionamento entrevista e resulta 28 ExercícioExercício ` A) Construa um DER com um exemplo real de agregação. ` B) Em um hospital, um paciente pode realizar consultas com vários médicos. Cada consulta pode ter váriosp exames realizados. Devem ser armazenados os dados da consulta (data, horário e motivo) e os dados dos exames (descrição e resultado). 29 ExercícioExercício ` C) Em uma dada biblioteca um cliente pode retirar vários livros e um livro pode ser retirado por vários clientes. Para toda retirada devem ser armazenadas a data de retirada e a data de devolução. Os livros devolvidos com ê l S b l datraso têm uma multa. Sobre a multa, devem ser armazenados a quantidade de dias e valor. 30 IF64A-Banco de Dados 1 pbugatti@utfpr.edu.br Prof. Pedro Henrique Bugatti
Compartilhar