Vous êtes sur la page 1sur 58

Bancos de Dados

Aula #3 MER Estendido

Prof. Eduardo R. Hruschka


* Slides baseados no material elaborado pelas professoras:
Cristina D. A. Ciferri
Elaine P. M. de Souza
MER Estendido (Expandido)
 Caractersticas:
 Introduz semntica adicional ao MER;
 Utilizado na modelagem de aplicaes mais
complexas, tais como CAD/CAM, BD grficos, BD
geogrficos.
 Conceitos:
 Subclasse, superclasse, hierarquia, herana;
 Generalizao, especializao;
 Agregao.

2
Conceito geral de Generalizao/Especializao

Genrico

Especializa Generaliza Is-a


(detalha) (abstrai)

Especfico
Herana

3
Generalizao/Especializao em MER

Entidade mais genrica Pessoa

Critrio de
Entidade mais especfica
Especializao/
Generalizao

Aluno Professor Funcionrio

Os conceitos superclasse (supertipo), subclasse (subtipo),


herana, generalizao, especializao esto intimamente
relacionados.

4
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

5
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.

6
Herana ...
 Conjuntos de entidades mais especficos herdam todos os
atributos do conjunto de entidades mais genrico;

Nome Pessoa
Idade
Altura
Vnculo Vnculo
N#USP
Curso
N#Func
Aluno Professor Funcionrio
Funo

7
Herana ...
 Conjuntos de entidades mais especficos participam de
todos os conjuntos de relacionamentos definidos para o
conjunto de entidades mais genrico.

Nome Pessoa possui Plano Sade


Idade
Altura
Vnculo Vnculo

Aluno Professor Funcionrio

8
Herana ...
A chave dos conjuntos de entidades mais especficos herdada
do conjunto de entidades mais genrico. Ou seja, a chave
definida implicitamente:

Nome Pessoa
Idade
Altura
Vnculo Vnculo
N#USP
Curso

Aluno Professor Funcionrio


N#Func
Funo

9
Herana ... (mltiplos nveis)
Nome Pessoa
Idade
Altura
Vnculo Vnculo
N#Func
Funo
N#USP
Aluno Professor Funcionrio
Curso

Curso Funo

Graduao Ps-Grad. Tcnico Secretria

Semestre Formao Especialidade

10
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 tipo-entidade;
 Associam-se atributos adicionais especficos s subclasses
e/ou estabelecem-se tipos-relacionamento adicionais
especficos s subclasses.

11
Especializao
 CASO 1:
 determinados atributos aplicam-se somente a
alguns conjuntos de entidades especficos;

Atributos Nome Pessoa Atributos


Genricos
Idade Especficos
Altura
Vnculo Vnculo
N#USP N#Func
Curso

Aluno Professor Funcionrio


Atributos
Especficos N#USP

12
Especializao ...
 CASO 2:
 existem relacionamentos dos quais participam apenas
entidades de alguns subconjuntos especficos;
Pessoa

Vnculo

Aluno Professor Funcionrio

cursa Disciplina ministra

13
Generalizao
 Pode ser visto como o processo inverso especializao;
 Resultado da unio de dois ou mais tipos-entidade 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.

14
Generalizao & Especializao
nome_empregado CPF_empregado
EMPREGADO

tipo_empregado

generalizao d especializao

SECRETRIO TCNICO ENGENHEIRO

idioma grau_tcnico tipo_engenheiro

15
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.)
 Outras denominaes comuns:
 subclasses definidas por predicado;
 subclasses definidas por condio.

16
Restrio de Disjuno
 Subclasses mutuamente exclusivas:
 uma entidade de uma superclasse deve ser membro no
mximo de uma nica subclasse:
d d (disjoint)

 Subclasses que se sobrepem:


 uma entidade de uma superclasse pode ser membro de
mais do que uma subclasse;
o o (overlap)

17
Restrio de Disjuno ...
Sigla Disciplina
Nome
Tipo
Excluso Mtua:
Tipo Uma disciplina no pode ser
de graduao e de ps ao
mesmo tempo.
Grad. Ps-Gr.

Semestre Nvel

18
Sobreposio ...
Nome Pessoa Sobreposio:
Funo Um funcionrio pode
acumular mais de uma
Funo funo ao mesmo tempo

Vigia Secretrio Bibliotecrio

Turno Nvel Seo

19
Restrio de Completude
 Total - cada entidade de uma superclasse deve
ser membro de alguma subclasse na
especializao;
superclasse

 Parcial - uma entidade de uma superclasse pode


no pertencer a qualquer uma das subclasses;
superclasse

20
Restrio de Totalidade

Sigla Disciplina
Especializao Total:
Nome Qualquer disciplina de
Tipo
pelo menos um tipo:
graduao, ps-graduao,
Tipo
ou especializao.

Grad. Ps-Gr. Especializ.

Semestre Nvel N#Horas

21
Especializao parcial
Nome Pessoa
Funo
Especializao Parcial:
Um funcionrio pode ser,
Funo
por exemplo, Gerente de
Recursos Humanos.

Vigia Secretrio Bibliotecrio

Turno Nvel Seo

22
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.

23
Total disjunta
S h disciplinas de
Sigla Disciplina graduao, de ps-graduao,
Nome e de especializao.
Tipo

Tipo
Uma disciplina ou de graduao
ou de ps, ou de especializao.

Grad. Ps-Gr. Especializ.

Semestre Nvel N#Horas

24
Parcial disjunta

H disciplinas que no so nem de


Sigla Disciplina graduao nem de ps-graduao.
Nome Ex: disciplinas para cursos de
Tipo treinamento em empresas
Tipo

Uma disciplina no pode ser


Grad. Ps-Gr. de graduao e de ps ao
mesmo tempo

Semestre Nvel

25
Total sobreposta

Nome
Aluno H somente alunos de
Nvel
graduao, de ps-graduao,
e de especializao.
Nvel
Um aluno pode ao mesmo
tempo estar matriculado em
um curso de graduao e em
Grad. Ps-Grad. Especializ.
um curso de especializao.

Ano Mestr./Dout.
Ingresso

26
Parcial sobreposta
Nome Pessoa
Funo
Alm de Vigia, Secretrio e
Bibliotecrio, h outras funes.

Funo

Um funcionrio pode acumular


mais de uma funo, como
Vigia Secretrio Bibliotecrio
Secretrio e Bibliotecrio ao
mesmo tempo.
Turno Nvel Seo

27
Exerccio
 Modele uma hierarquia de generalizao/especializao para os tipos-entidade
carro e caminho. Defina as restries de disjuno e de completude.

cdigo-renavam
chassi
nmero_passageiros
CARRO preo
velocidade-mxima
nmero_portas

cdigo-renavam
chassi
CAMINHO capacidade_carga
preo
nmero_eixos

28
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:

29
CPF_empregado
EMPREGADO
nome_empregado

tipo_empregado cargo forma_pagamento


d

d
GERENTE

SECRETRIO ENGENHEIRO
formao

idioma tipo_engenheiro
TCNICO MENSALISTA HORISTA

salrio valor_hora
grau_tcnico

ENGENHEIRO_GERENTE adicional

30
CPF_empregado
EMPREGADO
nome_empregado
entidades de
engenheiro_gerente herdam os
tipo_empregado cargo forma_pagamento
d
atributos e os relacionamentos
de empregado, engenheiro,
gerente e mensalista.
d
GERENTE

SECRETRIO ENGENHEIRO
formao

idioma tipo_engenheiro
TCNICO MENSALISTA HORISTA

salrio valor_hora
grau_tcnico

subclasse
ENGENHEIRO_GERENTE adicional
compartilhada

31
Agregao
 Tipos-entidades/tipos-relacionamentos agregados
so representados como tipos-entidades/tipos-
relacionamentos comuns;
 Pode englobar:
 dois tipos-entidades e um tipo-relacionamento;
 dois tipos-relacionamentos e um tipo entidade.
 Exemplos:

32
Exemplo 1:
ALUNO
CPF_pessoa CGC_univ
nome_pessoa data_ingresso nome_univ

N M
PESSOA ingressa UNIVERSIDADE

M
a agregao aluno
o tipo-entidade est relacionada ao
orienta
aluno composto dos tipo-entidade
tipos-entidade pessoa N professor
e universidade e do
CPF_professor
tipo-relacionamento PROFESSOR
ingressa nome_professor

33
Exemplo 2:
N
EMPREGADO EMPREGADO trabalha

M 1
desenvolve agrega os
tipos-relacionamentos
desenvolve trabalha e controla e o DEPARTAMENTO
tipo-entidade
N departamento 1

M
PROJETO PROJETO controla

34
Exemplo 3:

Paciente N Atende M Mdico

RG Data CRM
Nome Nome

Como identificar cada atendimento (consulta)?

35
Exemplo 3 ...
Usando RG, CRM e Data possvel identificar cada
consulta univocamente;

Paciente N Atende M Mdico

RG Data CRM
Nome Nome

compor uma entidade Consulta a partir de um


relacionamento entre uma entidade Paciente e uma
entidade Mdico, com uma Data especfica.

36
Exemplo 3 ...
 Onde colocar Data ?
Consulta

Paciente N Atende M Mdico

RG Data CRM
Nome Nome

37
Exemplo 3 ...
Elementos
Componentes
Entidade
Agregada
Consulta (elemento
composto)
Paciente N Atende M Mdico

RG Data CRM
Nome Nome
Relacionamento Atributo da Entidade
Gerador da Agregada
Agregao

38
Exemplo 3 ...
 Chave de Consulta: {RG, CRM, Data}

Consulta

Paciente N Atende M Mdico

RG Data CRM
Nome Nome

39
Exemplo 3 ...

Consulta
M Mdico N
Paciente N Atende

CRM Tem
RG
Data Nome
Nome
Preo
1
Recibo

40
Algumas observaes sobre Agregao
 Toda Agregao sempre gerada a partir de
somente um conjunto de relacionamentos;

 Toda instncia do conjunto de


relacionamentos gera pelo menos um
elemento composto.

41
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.
 Identificar chaves primrias;

42
Projeto Lgico de BD ...

 Identificar tipos-relacionamentos e seus atributos:


 determinar o grau dos tipos-relacionamentos;
 identificar as restries que se aplicam sobre cada tipo-
relacionamento:
 Cardinalidade;
 Participao;
 Identificar tipo-entidade forte e tipo-entidade
fraca;

43
Projeto Lgico de BD ...
 Modelar hierarquias de generalizao:
 identificar atributos e relacionamentos comuns;
 determinar as restries de disjuno e de
completude;
 Modelar agregaes;

Um projetista de BD necessita de um bom


conhecimento do minimundo que est sendo
modelado.

44
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.

Professor M Orienta N Aluno-


Ps

Nome NUSP
Ttulo

45
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.

Candidato N M Empresa
Entrevista

RG CNPJ
Nome Nome

46
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.

47
Exerccio 3 (continuao do enunciado) ...

Os cargos dos funcionrios responsveis pela limpeza so


hierrquicos. Assim, deseja-se armazenar tambm, para cada
funcionrio de limpeza, informaes sobre o funcionrio de limpeza
que o gerencia. Os funcionrios da companhia so identificados por
meio de um cdigo de identificao, e podem estar associados a
apenas um nico departamento.
Funcionrios que so pesquisadores podem trabalhar em
diversos projetos, independentemente desses projetos estarem sendo
desenvolvidos no mesmo departamento no qual o empregado est
associado. Deve-se armazenar o nmero de horas semanais
trabalhadas por cada pesquisador em cada projeto no qual ele
trabalha.
Deve-se armazenar tambm informaes sobre os dependentes
de cada funcionrio para propsitos de ajuda famlia. Deve-se
armazenar o nome, o sexo e a data de aniversrio, alm do grau de
parentesco com o funcionrio.

48
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.

49
Exerccio 4 (continuao do enunciado) ...
Cada restaurante da cidade possui um cdigo que o identifica,
um nome, um endereo e o tipo de sua categoria (luxo, simples, ...).
Alm disso, um restaurante pode pertencer a um hotel e um hotel
somente pode ser associado a um restaurante.
Diferentes pontos tursticos da cidade esto cadastrados no
sistema: igrejas, casas de show e museus. A agncia de turismo
somente trabalha com estes trs tipos de pontos tursticos. Alm da
descrio e do endereo, igrejas devem possuir como caracterstica a
data e o estilo de construo. J casas de show devem armazenar o
horrio de incio do show (igual para todos os dias da semana) e o
dia de fechamento (apenas um nico dia na semana), alm da
descrio e do seu endereo. Os museus devem armazenar o seu
endereo, descrio, data de fundao e n. de salas. Um museu pode
ter sido fundado por vrios fundadores. Para estes, deve-se
armazenar o seu nome, a data de nascimento e a data da morte, a
nacionalidade e a atividade profissional que desenvolvia. Alm
disso, um mesmo fundador pode ter fundado vrios museus. Quando
qualquer ponto turstico cadastrado no sistema, ele tambm recebe
um cdigo que o identifica. O mesmo vlido para fundadores.

50
Exerccio 4 (continuao do enunciado) ...

Casas de show podem possuir restaurante. Quando o cliente da


agncia reserva um passeio para uma casa de show, ele j sabe se
esta possui restaurante e qual o preo mdio da refeio, alm da
especialidade (comida chinesa, japonesa, ...). Dentro de uma casa
de show, apenas um nico restaurante pode existir.
Faa o esquema conceitual para o banco de dados acima
descrito. Defina restries de participao total e parcial de forma
apropriada.

51
Material extra Multiplicidade.
Cardinalidade x Multiplicidade:

 Cardinalidade - determina o nmero mximo de


relacionamentos de um conjunto de relacionamentos (CR)
dos quais uma entidade pode participar;
 Participao Total em CR- determina a participao
obrigatria de cada entidade de um conjunto de entidades
(CE) em um CR;
 No entanto, a idia de quantidade em si no suportada
nem pelo conceito de Cardinalidade nem pelo de
Relacionamento com Participao Total.

52
 Por este motivo, alguns autores usam os conceitos
de multiplicidades mnimas e mximas:

M N
CE1 CR CE2
(Min, Max) (Min, Max)

53
Vejamos um exemplo:

N 1
Aluno Orienta Professor
(0, 1) (0, N)

 Cardinalidade N:1 do CR indica que: um aluno


pode ter nenhum ou no mximo 1 orientador, e
um professor pode orientar nenhum ou vrios
alunos;

 Multiplicidade correspondente seria: (0,1) e


(0,N).

54
 Para cada CE em um papel do CR indica-se a Quantidade
Mnima e a Quantidade Mxima de instncias de
relacionamento das quais uma entidade pode participar;
 Dada uma entidade e1 de CE1, definem-se os nmeros mnimo
e mximo de entidades de CE2 com as quais e1 pode se
relacionar;
 Multiplicidade - explora um conjunto de situaes muito mais
ricas semanticamente, englobando os conceitos de
Cardinalidade e de Participao Total.

55
 Outro exemplo:
 O que fazer se quisermos restringir o relacionamento
de tal forma que um professor oriente pelo menos dois
alunos?
 Cardinalidade e a participao total no so suficientes
para representar a informao podemos usar
multiplicidade.

Aluno Orienta Professor


(0, 1) (2, N)

56
Para algumas combinaes de multiplicidade podem existir
combinaes de cardinalidade + restrio de participao
correspondentes. Exemplos:
1 1
CE1 Rel. (0, 1) CE2
(0, 1)

1 N
CE1 (0, N)
Rel. (0, 1) CE2

N M
CE1 Rel. (1, N)
CE2
(0, M)

1 N
CE1 Rel. CE2
(0, N) (1, 1)

57
Diversas outras combinaes de multiplicidades no oferecem
combinaes correspondentes. Exemplos:

(0, M)
CE1 Rel. CE2 Toda entidade de CE1
(2, N) deve estar associada a
ao menos 2 entidades de
CE2

(1, 8) Toda entidade de CE2


CE1 Rel. CE2
(2, N) deve estar associada a no
mximo 8 entidades de
CE1

Toda entidade de CE1


(1, 1) deve estar associada a
CE1 Rel. CE2
(2, 4) no mnimo 2 e no
mximo 4 entidades de
CE2

58

Vous aimerez peut-être aussi