Professional Documents
Culture Documents
Modelo Entidade-Relacionamento
Nesta aula abordaremos mais um pouco da
tcnica de modelagem entidade-relacionamento:
O que Generalizao/Especializao ?
O que so Entidades Associativas ?
O que Cardinalidade e quais seus tipos ?
Modelo Entidade-Relacionamento
Objetivos:
Complementar o contedo apresentado em aulas anteriores sobre
os principais componentes do Modelo Entidade-Relacionamento.
Modelo Entidade-Relacionamento
Generalizao/Especializao :
Generalizao: processo que identifica caractersticas comuns de
alguns tipos de entidades e os agrupa em uma entidade chamada
de superclasse.
Especializao: processo que define um conjunto de subclasses de
um tipo entidade, define atributos e relacionamentos especficos
das subclasses.
Modelo Entidade-Relacionamento
Propriedades podem ser atribudas a entidades
atravs do conceito Generalizao/Especializao.
Atravs deste conceito possvel atribuir propriedades particulares a
um subconjunto das ocorrncias de uma entidade genrica.
representada atravs de um tringulo issceles.
Modelo Entidade-Relacionamento
Generalizao/Especializao
FILIAL
(1,1)
(0,n)
possui
PESSOA FISICA
CIC
Sexo
Codigo
CLIENTES
Nome
PESSOA JURIDICA
CNPJ
Tipo
Organizacao
Modelo Entidade-Relacionamento
Generalizao/Especializao
Herdar propriedades significa que cada ocorrncia (instncia) da
entidade especializada possui, alm de suas prprias propriedades
(atributos, relacionamentos e generalizaes/especializaes),
tambm as propriedades da ocorrncia da entidade genrica
correspondente.
Modelo Entidade-Relacionamento
Generalizao/Especializao
Total: para cada ocorrncia genrica existe sempre uma ocorrncia
em uma das entidades especializadas.
Parcial: nem toda ocorrncia da entidade genrica possui uma
ocorrncia correspondente em uma entidade especializada.
Modelo Entidade-Relacionamento
Generalizao/Especializao
FUNCIONARIOS
Tipo de funcionario
MOTORISTA
SECRETARIA
Modelo Entidade-Relacionamento
Generalizao/Especializao
Nem toda entidade FUNCIONRIO possui uma entidade correspondente
em uma das duas especializaes (nem todo o funcionrio motorista ou
secretria).
Esse tipo de generalizao/especializao simbolizado por um p.
Usualmente, quando h uma especializao parcial, na entidade genrica
aparece um atributo que identifica o tipo de ocorrncia da entidade
genrica (no caso do exemplo, trata-se do atributo tipo de funcionrio).
Modelo Entidade-Relacionamento
Generalizao/Especializao
Se no exemplo anterior, apenas os motoristas possussem propriedades
particulares, haveria apenasumaentidade especializada, a de motoristas.
Alm disso, no h limite no nmero de nveis hierrquicos da
generalizao/especializao. Uma entidade especializada em uma
generalizao/especializao, pode, por sua vez, ser entidade genrica
em uma outra generalizao/especializao. admissvel, inclusive, que
uma mesma entidade seja especializao de diversas entidades
genricas (chamada de herana mltipla).
Modelo Entidade-Relacionamento
Generalizao/Especializao herana mltipla
VEICULO
VEICULO
TERRESTRE
VEICULO
AQUATICO
BARCO
VEICULO ANFIBIO
AUTOMOVEL
Modelo Entidade-Relacionamento
Entidades Associativas
Um relacionamento uma associao entre entidades. Na
modelagem Entidade Relacionamento (ER) no foi prevista a possibilidade de
associar uma entidade com um relacionamento ou ento de associar
dois relacionamentos entre si. Na prtica, quando est-se construindo um
novo DER ou modificando um DER existente, surgem situaes em que
desejvel permitir a associao de uma entidade a um relacionamento.
Modelo Entidade-Relacionamento
Entidades Associativas
MEDICOS
(1,n)
Consulta
(1,n)
PACIENTES
Modelo Entidade-Relacionamento
Entidades Associativas
Para tal, criar-se-ia uma nova entidade MEDICAMENTOS. A
questo agora : com que entidade existente deve estar relacionada a
nova entidade?
Se MEDICAMENTOS fosse relacionado a MEDICOS, teramos apenas a
informao de que mdico prescreveu quais medicamentos, faltando a informao do
paciente que os teve prescritos. Por outro lado, se MEDICAMENTOS fosse relacionado a
PACIENTES,faltariaainformaodomdicoqueprescreveuo(s)medicamento(s).Assim,o
que precisamos relacionar o medicamento consulta, ou seja, precisamos relacionar a
entidade MEDICAMENTO com o relacionamento CONSULTA, o que no est previsto na
abordagemEntidade-Relacionamento.
1 modulo Tc. em Informtica
Modelo Entidade-Relacionamento
Entidades Associativas
Para resolver esse problema, foi criado um conceito especial,
Entidade Associativa, que nada mais que a redefinio de um
relacionamento, o qual passa a ser tratado como se fosse uma entidade.
MEDICOS
(1,n)
Consulta
(1,n)
prescrcao
(1,n)
MEDICAMENTOS
(1,n)
PACIENTES
Observe
que,
caso
no
utilizssemos do conceito de entidade
associativa, seria necessrio transformar o
relacionamento CONSULTA em uma entidade,
que ento poderia ser relacionada a
MEDICAMENTOS.
Modelo Entidade-Relacionamento
Entidades Associativas
MEDICOS
PACIENTES
(1,1)
(1,1)
(1,n) (1,n)
CONSULTAS
(1,n)
prescrcao
(1,n)
MEDICAMENTOS
Modelo Entidade-Relacionamento
Entidades Associativas
Na figura, o relacionamento foi substitudo por uma entidade
homnima, junto com dois relacionamentos (parte representada em linhas
densas).
Observe-se que, para manter equivalncia com o diagrama
anterior, uma consulta est relacionada com exatamente um mdico e exatamente
umpaciente(cardinalidademnimaemximaum).Umaconsultaidentificadapelo
paciente e pelo mdico a ela ligados. Tendo substitudo o relacionamento CONSULTAS
pela entidade, basta relacionar a entidade CONSULTAS com a entidade
MEDICAMENTOS. Observe que as duas formas de construo dos diagramas so
equivalentes (geram omesmo bancodedadosrelacional).
1 modulo Tc. em Informtica
Modelo Entidade-Relacionamento
Resumo da simbologia usada no DER
Conceito
Smbolo
Entidade
Relacionamento
Atributo Identificador
Generalizao/Especializao
Entidade Associativa
1 modulo Tc. em Informtica
Modelo Entidade-Relacionamento
Cardinalidade
Uma propriedade importante dos
relacionamentos a especificao de
quantas ocorrncias de uma entidade podem
estar associadas a uma determinada
ocorrncia de outra entidade.
Existem 2 cardinalidades:
Mxima
Mnima
a1
b1
a2
b2
a3
b3
a4
b4
A ocorrncia a1 da entidade A
est relacionado a quantas
ocorrncias na entidade B?
Modelo Entidade-Relacionamento
Cardinalidade Mnima
Indica o nmero mnimo de coerncias de uma entidade que podem
estar relacionadas a uma ocorrncia de entidade.
Pode assumir os valores de :
0 ocorrncias da entidade que no participam do
relacionamento.
1 sempre vai existir uma ocorrncia da entidade participando
de cada relacionamento.
Modelo Entidade-Relacionamento
Cardinalidade Mnima
Relacionamento Obrigatrio
Sempre vai existir uma ocorrncia da entidade que participa de cada
relacionamento.
Exemplo: em um relacionamento entre as entidades CLIENTES e
PEDIDOS, sempre existe um cliente para cada pedido.
Relacionamento Obrigatrio
Cardinalidade mnima = 1
CLIENTES
(1,1)
fazem
(0,n)
PEDIDOS
Modelo Entidade-Relacionamento
Cardinalidade Mnima
Relacionamento Opcional
Podem existir ocorrncias de entidade que no participam do
relacionamento.
Exemplo: em um relacionamento entre as entidades CLIENTES e
PEDIDOS, podem existir clientes que nunca fizeram pedido.
Relacionamento Opcional
Cardinalidade mnima = 0
CLIENTES
(1,1)
fazem
(0,n)
PEDIDOS
Modelo Entidade-Relacionamento
Cardinalidade Mxima
Indica o nmero mximo de coerncias de uma entidade que podem
estar relacionadas a uma ocorrncia de entidade.
Pode assumir os valores de :
1 no mximo uma ocorrncia da entidade est participando de
cada relacionamento.
N muitas ocorrncias da entidade podem estar participando de
cada relacionamento.
Modelo Entidade-Relacionamento
Cardinalidade Mxima
CLIENTES
(1,1)
fazem
(0,N)
PEDIDOS
Modelo Entidade-Relacionamento
Cardinalidade Mxima
Tipos de relacionamento quanto a cardinalidade mxima:
1:1 uma ocorrncia da entidade A relaciona-se com somente
uma ocorrncia da entidade B e vice-versa;
1:N uma ocorrncia da entidade A relaciona-se com muitas
ocorrncias da entidade B e as ocorrncias da entidade B relacionase somente com uma ocorrncia da entidade A;
N:N uma ocorrncia da entidade A relaciona-se com muitas
ocorrncias da entidade B e vice-versa.
Modelo Entidade-Relacionamento
Cardinalidade Mxima
Relacionamento 1 : 1
Conjunto A
(Empregado)
Joo
Contabilidade
Pedro
Financeiro
Jurdico
Paulo
Maria
Empregado
1 modulo Tc. em Informtica
Conjunto B
(Departamento)
Gerencia
Departamento
Modelo Entidade-Relacionamento
Cardinalidade Mxima
Relacionamento 1 : 1
Curso
Coordenador
Curso 1
Coordenador 1
Curso 2
Coordenador 2
Curso 3
Coordenador 3
Curso 4
Coordenador 4
Curso 5
Coordenador 5
Modelo Entidade-Relacionamento
Cardinalidade Mxima
Relacionamento 1 : N
Joo
Conjunto A
(Departamento)
Contabilidade
Sandro
Financeiro
Pedro
Ana
Departamento
1 modulo Tc. em Informtica
Lotao
Conjunto B
(Empregado)
Empregado
Modelo Entidade-Relacionamento
Cardinalidade Mxima
Relacionamento 1 : N
Professor
Disciplina
Professor 1
Disciplina 1
Professor 2
Disciplina 2
Professor 3
Disciplina 3
Disciplina 4
Disciplina 5
Modelo Entidade-Relacionamento
Cardinalidade Mxima
Relacionamento N : N
Conjunto A
(Empregado)
Joo
Sinpli
Pedro
AATOM
Paulo
MM-TOM
Sigmoda
Maria
Empregado
Conjunto B
(Projeto)
Atua
Projeto
Modelo Entidade-Relacionamento
Cardinalidade Mxima
Relacionamento N : N
Aluno
Disciplina
Aluno 1
Disciplina
Aluno 2
Disciplina
Disciplina
Disciplina
Disciplina
Disciplina
Modelo Entidade-Relacionamento
Cardinalidade Relacionamentos
Curso
Possui
1
1
Professor
Coordenador
1
1
Ensina
N
1
1
1
Aluno
Disciplina
Cursa
1
N
Disciplina
N
1
Modelo Entidade-Relacionamento
Cardinalidade Auto-Relacionamentos
Auto-relacionamento de um para um (1:1)
Uma pessoa pode representar nenhuma ou apenas uma
outra pessoa.
Uma pessoa pode ser representada por nenhuma ou apenas
uma pessoa.
Pessoa
(0,1)
Representa
(0,1)
Modelo Entidade-Relacionamento
Cardinalidade Auto-Relacionamentos
Auto-relacionamento de um para muitos (1:N)
Um funcionrio chefia nenhum ou vrios funcionrios
Um funcionrio pode ter nenhum ou apenas um chefe.
Geralmente est associado hierarquia de ocorrncias
Funcionarios
(0,1)
chefia
(0,N)
Modelo Entidade-Relacionamento
Cardinalidade Auto-Relacionamentos
Auto-relacionamento de muitos para muitos (N:N)
Um produto compe nenhum ou vrios produtos;
Um produto pode ser composto por nenhum ou por vrios
produtos.
Produto
(0,N)
composto
(0,N)
Modelo Entidade-Relacionamento
Notao do MER
Entidades
Preco
PRODUTOS
Codigo
Descricao
possui
TIPO DE PRODUTOS
Codigo
Descricao
Modelo Entidade-Relacionamento
Notao do MER
Preco
PRODUTOS
Codigo
Descricao
Relacionamento
N
possui
TIPO DE PRODUTOS
Codigo
Descricao
Modelo Entidade-Relacionamento
Notao do MER
Preco
PRODUTOS
possui
Codigo
Descricao
TIPO DE PRODUTOS
Codigo
Descricao
Atributos
1 modulo Tc. em Informtica
Modelo Entidade-Relacionamento
Notao do MER
Preco
PRODUTOS
possui
Codigo
Descricao
TIPO DE PRODUTOS
Codigo
Descricao
Cardinalidade
1 modulo Tc. em Informtica