Escolar Documentos
Profissional Documentos
Cultura Documentos
MER Estendido
Profa. Flvia Cristina Bernardini
* Slides Baseados no material elaborado pelos professores Eduardo R. Hruschka, Cristina D. A. Ciferri e Elaine Parros Machado
Conceitos:
Subclasse, superclasse, hierarquia, herana Generalizao, especializao Agregao
Especializa (detalha)
Generaliza (abstrai)
Is-a
Especfico
Herana
Generalizao/Especializao em MER
Entidade mais Genrica Critrio de Especializao / Generalizao
Pessoa
Entidade mais Especfica
Aluno
Professor
Funcionrio
Os conceitos superclasse (supertipo), subclasse (subtipo), herana, generalizao, especializao esto intimamente ligados
Subclasse/Superclasse
Subclasse (subtipo):
Subconjunto de entidades Resulta do agrupamento de entidades em subgrupos de um tipo-entidade
Outro exemplo:
Superclasse (supertipo) : tipo-entidade Empregado Subclasses (subtipos): Secretrio, Engenheiro, Tcnico
Cada entidade que membro de qualquer uma das subclasses tambm um empregado
Herana
De atributos:
atributos da superclasse so herdados pelas subclasses
De relacionamentos:
instncias de relacionamentos da superclasse so herdados pelas entidades das subclasses
Observao:
qualquer entidade membro de uma subclasse tambm deve ser membro da superclasse qualquer entidade membro da superclasse pode ser opcionalmente includa como membro de qualquer nmero (incluindo zero) de subclasses
Herana ...
Conjuntos de entidades mais especficos herdam todos os atributos do conjunto de entidades mais genrico Pessoa
Vnculo nome idade altura vnculo
Aluno
n#uff curso
Professor
Funcionrio
n#func funo
Herana ...
Conjuntos de entidades mais especficos participam de todos os conjuntos de relacionamentos definidos para o conjunto de entidades mais genrico.
nome idade altura vnculo
Pessoa
Vnculo
possui
Plano de Sade
Aluno
Professor
Funcionrio
Herana ...
Chave: A chave dos conjuntos de entidades mais especficos herdada do conjunto de entidades mais genrico. Ou seja, a chave definida implicitamente: Pessoa
Vnculo nome idade altura vnculo
Aluno
n#uff curso
Professor
Funcionrio
n#func funo
Pessoa
Vnculo
n#uff
Aluno
Curso
Professor
Funcionrio
Curso
n#func funo
Grad.
semestre
Ps-Grad
formao
Tcnico
Secretria
especialidade
Generalizao/Especializao
Especializao:
Resultado da separao de um tipo-entidade de nvel mais alto (superclasse), formando vrios tipos-entidade de nvel mais baixo (subclasse) Procedimento
Define-se um conjunto de subclasses de um tipoentidade; Associam-se atributos adicionais especficos s subclasses e/ou estabelecem-se tipos-relacionamento adicionais especficos s subclasses
Especializao
CASO 1:
Aluno
n#uff curso
Professor
n#uff
Funcionrio
n#func funo
Especializao ...
CASO 2:
existem relacionamentos dos quais participam apenas entidades de alguns subconjuntos especficos
nome idade altura vnculo
Pessoa
Vnculo
Aluno
Professor
Funcionrio
cursa
Disciplina
ministra
Generalizao
Pode ser visto como o processo inverso especializao Resultado da unio de dois ou mais tiposentidade de nvel mais baixo (subclasse), produzindo um tipo-entidade de nvel mais alto (superclasse) uma abstrao de um conjunto de entidades Procedimento:
Suprimir diferenas entre os tipos-entidade Identificar atributos em comum, generalizando-os em uma superclasse
Generalizao e Especializao
Restries
Especializao definida pelo atributo:
as subclasses que participam da hierarquia so determinadas por uma condio baseada em algum atributo da superclasse exemplo: tipo_empregado (secretria, engenheiro, etc.)
Restrio de Disjuno
Subclasses mutuamente exclusivas:
uma entidade de uma superclasse deve ser membro no mximo de uma nica subclasse:
Disciplina
Excluso mtua:
Uma disciplina no pode ser de graduao e de ps ao mesmo tempo
Tipo
Grad.
Ps-Grad
Sobreposio
Nome Funo
Pessoa
Sobreposio:
Um funcionrio pode acumular mais de uma funo ao mesmo tempo
Funo
Vigia
Turno
Secretrio
Nvel
Bibliotecrio
Seo
Restrio de Completude
Total cada entidade de uma superclasse deve ser membro de alguma subclasse na especializao
Parcial uma entidade de uma superclasse pode no pertencer a qualquer uma das subclasses
Restrio de Totalidade
Sigla Nome Tipo
Disciplina
Especializao Total:
Especializao
N#Horas
Tipo
Grad
Semestre
Ps-Grad
Nvel
Especializao Parcial
Nome Funo
Pessoa
Especializao Parcial:
Um funcionrio pode ser, por exemplo, Gerente de Recursos Humanos
Funo
Vigia
Turno
Secretrio
Nvel
Bibliotecrio
Seo
Observaes
Restries de disjuno e de completude so independentes. Logo, existem as seguintes possibilidades de hierarquias:
total disjunta parcial disjunta total com sobreposio parcial com sobreposio
Total Disjunta
Sigla Nome Tipo
Disciplina
Tipo
Grad
Semestre
Ps-Grad
Nvel
Especializao
N#Horas
Parcial Disjunta
Sigla Nome Tipo
Disciplina
H disciplinas que no so nem de graduao nem de ps-graduao. Ex: disciplinas para cursos de treinamento em empresas Uma disciplina no pode ser de graduao e nem de ps ao mesmo tempo
Tipo
Grad
Semestre
Ps-Grad
Nvel
Total Sobreposta
Nome Nvel
Aluno
Nvel
Um aluno pode ao mesmo tempo estar matriculado em um curso de graduao e em um de especializao Especializao
Grad
Ano Ingresso
Ps-Grad
MSc/DSc
Parcial Sobreposta
Alm de Vigia, Secretrio e Bibliotecrio, h outras funes Nome Funo
Pessoa
Um aluno pode ao mesmo tempo estar matriculado em um curso de graduao e em um de especializao
Funo
Vigia
Turno
Secretrio
Nvel
Bibliotecrio
Seo
Exerccio
Modele uma hierarquia de generalizao/especializao para os tipos-entidade carro e caminho. Defina as restries de disjuno e de completude.
Generalizao/Especializao
Uma subclasse pode possuir outras subclasses especificadas a partir dela Herana simples:
cada subclasse participa em apenas um relacionamento superclasse/subclasse.
Herana mltipla:
cada subclasse pode participar em mais do que um relacionamento superclasse/subclasse.
Exemplo:
Agregao
Tipos-entidades/tipos-relacionamentos agregados so representados como tiposentidades/tiposrelacionamentos comuns Pode englobar:
dois tipos-entidades e um tipo-relacionamento dois tipos-relacionamentos e um tipo entidade
Exemplos:
Exemplo 1:
ALUNO
Exemplo II
Exemplo III
Exemplo III
Usando RG, CRM e Data possvel identificar cada consulta univocamente
compor uma entidade Consulta a partir de um relacionamento entre uma entidade Paciente e uma entidade Mdico, com uma Data especfica
Exemplo III
Onde colocar Data ?
Exemplo III
Exemplo III
Chave de Consulta: {RG, CRM, Data}
Exemplo III
Projeto Lgico de BD
Classificar tipos-entidades e atributos
tipos-entidade possuem informaes descritivas, atributos no atributos devem ser mantidos de forma atmica atributos devem ser relacionados s entidades que eles descrevem
Modelar agregaes Um projetista de BD necessita de um bom conhecimento do minimundo que est sendo modelado
Exerccios
1. Explicar o contedo da modelo apresentado pelo DER abaixo e sugerir uma alterao que permita que um mesmo professor possa orientar um mesmo aluno em diferentes nveis de ps-graduao.
Exerccios...
2. Considerando o DER abaixo, propor uma extenso de tal forma que se possa modelar o fato de que somente algumas entrevistas resultam numa oferta de emprego.
Exerccios
3. Elaborar o esquema conceitual para o BD de uma companhia. A companhia organizada em departamentos. Cada departamento tem um nome e um nmero. Alm disto, um departamento controla vrios projetos, cada um dos quais com um nome, um nmero de identificao e o perodo de tempo no qual deve ser desenvolvido. Na referida companhia, cada projeto somente pode ser desenvolvido por um departamento especfico. Existem somente trs tipos de funcionrios que trabalham na companhia: pesquisador, secretrio e de limpeza. Para os pesquisadores, deseja-se armazenar: o nome, o endereo, o sexo, a data de aniversrio, o salrio e a rea de atuao. Para os secretrios, deseja-se armazenar: o nome, o endereo, o sexo, a data de aniversrio, o salrio e o grau de escolaridade. J para os funcionrios de limpeza, deseja-se armazenar: o nome, o endereo, o sexo, a data de aniversrio, o salrio, o cargo e a jornada de trabalho.
Exerccios
4. Deseja-se criar um BD para uma agncia de turismo, contendo informaes sobre recursos oferecidos pelas cidades que fazem parte da programao de turismo da agncia. As informaes a serem mantidas sobre cada cidade referem-se a hotis, restaurantes e pontos tursticos. Sobre os hotis que a cidade possui deseja-se guardar o cdigo, o nome, o endereo, a categoria (sem estrela, 1 estrela, 2 estrelas, ...), os tipos de quartos que os formam (por exemplo, luxo, superluxo, ...), o nmero dos quartos e o valor da diria de acordo com o tipo do quarto. Sobre cada cidade deve-se armazenar seu nome, seu estado e a populao. Alm disso, quando uma nova cidade cadastrada no banco de dados da agncia, um cdigo a ela oferecido.