You are on page 1of 41

Tecnologias e Linguagens para Banco de Dados I

1 modulo - Tcnico em Informtica

Prof.: Evandro Lopes da Silva


Nilson Augustini

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 ?

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Objetivos:
Complementar o contedo apresentado em aulas anteriores sobre
os principais componentes do Modelo Entidade-Relacionamento.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

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.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

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.

Representao grfica da Generalizao/Especializao

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Generalizao/Especializao
FILIAL

(1,1)

(0,n)

possui

PESSOA FISICA

CIC

1 modulo Tc. em Informtica

Sexo

Codigo

CLIENTES

Nome

PESSOA JURIDICA

CNPJ

Tipo
Organizacao

Tecnologias e Linguagens para Banco de Dados I

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.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

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.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Generalizao/Especializao
FUNCIONARIOS

Tipo de funcionario

Indica que nem todo


FUNCIONARIO
MOTORISTA ou SECRETARIA
P

MOTORISTA

1 modulo Tc. em Informtica

SECRETARIA

Tecnologias e Linguagens para Banco de Dados I

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

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

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

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Generalizao/Especializao herana mltipla
VEICULO

VEICULO
TERRESTRE

VEICULO
AQUATICO

BARCO

1 modulo Tc. em Informtica

VEICULO ANFIBIO

AUTOMOVEL

Tecnologias e Linguagens para Banco de Dados I

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.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Entidades Associativas
MEDICOS

(1,n)

Consulta

(1,n)

PACIENTES

Suponhamos que seja necessrio modificar este diagrama com a


adio da informao de que, em cada consulta, um ou mais
medicamentos podem ser prescritos ao paciente.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

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

Tecnologias e Linguagens para Banco de Dados I

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 modulo Tc. em Informtica

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

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Entidades Associativas
MEDICOS

PACIENTES

(1,1)

(1,1)

(1,n) (1,n)
CONSULTAS
(1,n)
prescrcao
(1,n)
MEDICAMENTOS

1 modulo Tc. em Informtica

Porque entidade fraca aqui?


Consulta depende do identificador das
entidades as quais est ligada. Por si s no
possvel identificar.
Pensando no modelo lgico a tabela
CONSULTA ter como identificador o cdigo
do mdico e o cdigo do paciente,
formando um identificador composto,
ambos vindos de outras entidades. Por isso
chamada de entidade fraca,
diferentemente de MEDICOS, PACIENTES e
MEDICAMENTOS, que possuem um
identificador prprio que as identifica.

Tecnologias e Linguagens para Banco de Dados I

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

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Resumo da simbologia usada no DER
Conceito
Smbolo
Entidade
Relacionamento
Atributo Identificador
Generalizao/Especializao
Entidade Associativa
1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

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

1 modulo Tc. em Informtica

a1

b1

a2

b2

a3

b3

a4

b4

A ocorrncia a1 da entidade A
est relacionado a quantas
ocorrncias na entidade B?

Tecnologias e Linguagens para Banco de Dados I

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.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

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 modulo Tc. em Informtica

(1,1)

fazem

(0,n)

PEDIDOS

Tecnologias e Linguagens para Banco de Dados I

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 modulo Tc. em Informtica

(1,1)

fazem

(0,n)

PEDIDOS

Tecnologias e Linguagens para Banco de Dados I

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.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Cardinalidade Mxima
CLIENTES

(1,1)

fazem

(0,N)

PEDIDOS

Um cliente pode fazer:


- No mnimo, nenhum pedido (cardinalidade mnima = 0)
- No mxima vrios pedidos (cardinalidade = N)
Um pedido pode ser feito:
- No mnimo por um cliente (cardinalidade mnima = 1)
- No mximo por um cliente (cardinalidade mxima = 1)

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

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.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

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

Tecnologias e Linguagens para Banco de Dados I

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

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

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

Tecnologias e Linguagens para Banco de Dados I

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

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Cardinalidade Mxima
Relacionamento N : N

Conjunto A
(Empregado)

Joo

Sinpli

Pedro

AATOM

Paulo

MM-TOM
Sigmoda

Maria

Empregado

1 modulo Tc. em Informtica

Conjunto B
(Projeto)

Atua

Projeto

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Cardinalidade Mxima
Relacionamento N : N
Aluno

Disciplina

Aluno 1

Disciplina

Aluno 2

Disciplina
Disciplina
Disciplina
Disciplina
Disciplina

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Cardinalidade Relacionamentos
Curso

Possui
1
1

Professor

Coordenador
1
1

Ensina
N
1

1
1
Aluno

Disciplina

Cursa
1
N

1 modulo Tc. em Informtica

Disciplina
N
1

Tecnologias e Linguagens para Banco de Dados I

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

1 modulo Tc. em Informtica

(0,1)

Representa

(0,1)

Tecnologias e Linguagens para Banco de Dados I

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

1 modulo Tc. em Informtica

(0,1)

chefia

(0,N)

Tecnologias e Linguagens para Banco de Dados I

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

1 modulo Tc. em Informtica

(0,N)

composto

(0,N)

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Notao do MER

Entidades

Preco

PRODUTOS

Codigo
Descricao

1 modulo Tc. em Informtica

possui

TIPO DE PRODUTOS

Codigo

Descricao

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Notao do MER
Preco

PRODUTOS

Codigo
Descricao

1 modulo Tc. em Informtica

Relacionamento
N

possui

TIPO DE PRODUTOS

Codigo

Descricao

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Notao do MER
Preco

PRODUTOS

possui

Codigo
Descricao

TIPO DE PRODUTOS

Codigo

Descricao

Atributos
1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Notao do MER
Preco

PRODUTOS

possui

Codigo
Descricao

TIPO DE PRODUTOS

Codigo

Descricao

Cardinalidade
1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

You might also like