Você está na página 1de 63

Modelo Entidade Relacionamento

Conceitos básicos e diagramas ER

UFPr Departamento de Informática 1


Modelo Entidade Relacionamento

Conceitos Básicos

• O modelo Entidade-Relacionamento (ER,


ou também chamado Entidade Associação)
é usado na maioria dos métodos e
ferramentas de auxílio à concepção de BD's
(MERISE, IDA, Yourdon,ERWin)

UFPr Departamento de Informática 2


Modelo Entidade Relacionamento

Conceitos Básicos

• A idéia fundamental deste modelo é a de


conservar como conceitos de base os
conceitos genéricos (objetos, associação,
propriedade) usados no processo de
abstração que vai da observação de uma
realidade à sua descrição.

UFPr Departamento de Informática 3


Modelo Entidade Relacionamento

Conceitos básicos

• Entidade Objetos
• Associação Ligação entre os objetos
• atributo Propriedade dos objetos.

UFPr Departamento de Informática 4


Modelo Entidade Relacionamento

Entidades

• Um entidade é o objeto do mundo real


(concreto ou abstrato) que nós queremos
representar no computador e que tem uma
existência própria. Uma entidade existe
independentemente do fato que ela está
ligada à outros objetos do BD. Exemplos:
João da Silva, Aparelho de Barbear FYX,
Contrato 3201, ...

UFPr Departamento de Informática 5


Modelo Entidade Relacionamento

Tipo de entidade

• Um Tipo de Entidade (TE) é a


representação de uma classe de entidades
similares e com as mesmas características.
Exemplos: Trabalhadores, Artigos,
Contratos, Estudantes,....

UFPr Departamento de Informática 6


Modelo Entidade Relacionamento

Associação (relacionamento)

• Uma associação liga várias entidades onde


cada uma delas ocupa um "papel". Se a
associação liga dois (ou mais) entidades de
um mesmo tipo ela é dita cíclica e neste
caso a especificação do papel de cada
entidade torna-se indispensável. Ex: João da
Silva trabalha Esso, Philips fabrica
Aparelho de Barbear FYC, ....

UFPr Departamento de Informática 7


Modelo Entidade Relacionamento

Tipo de Associação

• Um tipo de Associação (TA) é a


representação de um conjunto de
associações similares que possuem as
mesmas características. Exemplos: fabrica
liga uma Empresa à um Produto, trabalha
liga Trabalhadores à Empresa,...

UFPr Departamento de Informática 8


Modelo Entidade Relacionamento

Atributo

• Um atributo é a propriedade associada à um


TE, ou à um TA. Exemplos: nome, salário,
endereço (para o TE Trabalhadores); nome,
nota para o TE Estudantes, ....

UFPr Departamento de Informática 9


Modelo Entidade Relacionamento

Ocorrência ou Instância e População

• Uma ocorrência ou instância de um TE (ou


TA) é a representação no BD de um
entidade (ou associação) que pertence à
classe descrita pelo TE (TA).
• População de um TE (TA) é o conjunto das
ocorrências.

UFPr Departamento de Informática 10


Modelo Entidade Relacionamento

Instância

– Uma instância de TE é constituída de um


conjunto de valores sendo um valor para
cada atributo do TE.
– Uma instância de TA é constituída de um
conjunto de valores (que pode ser vazio)
e de um conjunto de ocorrências de TE:
um valor para cada atributo do TA (se
existe um) e para cada papel do TA uma
ocorrência do TE que ocupa este papel.
UFPr Departamento de Informática 11
Modelo Entidade Relacionamento

Diagrama ER

• tipos de entidade são representados por


retângulos;
• os tipos de associação por losangos (ou
símbolos similares (elipse, hexágono,
retângulo arredondado,..).
• Os atributos são ligados aos TE e TA por
traços.

UFPr Departamento de Informática 12


Modelo Entidade Relacionamento

Exemplo de Diagrama ER

Sup
Empregados Fornecedor
Chefe
Inf F
nome salário
E nomeF endereço
Livra
Emprega
R A
quantidade
R

Rayon Venda Artigo


R A
quantidade
nomeR andar nomeA tipo
quantidade

UFPr Departamento de Informática 13


Modelo Entidade Relacionamento

Diagrama ER

• Neste diagramas são representados quatro tipos de


entidade:
– Empregado, de atributos nome e salário
– Rayon de atributos nomR e andar;
– Artigo de atributos nomeA;
– Fornecedor de atributos nomeF e
endereço

UFPr Departamento de Informática 14


Modelo Entidade Relacionamento

Tipo de associação
- Livra, de atributo quantidade ligando Fornecedor (com
o papel F), artigo (com o papel A) e Rayon , (com o papel
R);

-Venda, de atributo quantidade ligando Rayon (papel R)


com Artigo (papel A);

- Chefe que é cíclica, ligando Empregado (papel Inf) e


Empregado (papel Sup).

UFPr Departamento de Informática 15


Modelo Entidade Relacionamento

generalização especialização

• Dependendo do ponto de vista ou nível de


abstração um mesmo conjunto de objetos
pode ser visto como várias classes
diferentes mesmo se existem características
em comum.

UFPr Departamento de Informática 16


Modelo Entidade Relacionamento

Generalização Especializacão

• O TE Artigo agrupa todos os artigos


vendidos, porque certos tratamentos a
serem realizados sobre este TE utilizam
todos os artigos (inventário, procura do
preço, quantidade etc:).
• Pode ser útil separar os artigos em várias
classes (alimentação, eletrodomésticos,
vestuário, etc:)

UFPr Departamento de Informática 17


Modelo Entidade Relacionamento

Generalização Especialização

• .Neste caso teríamos:


– tratamentos específicos para cada classe
criada, (controle de validade para
Alimentação, promoções no natal p/
eletrodomésticos, promoções de estação
para vestuário, etc).
– classe com características próprias (data
de validade para alimentação, tamanho e
cor p/ Vestuário, etc).
UFPr Departamento de Informática 18
Modelo Entidade Relacionamento

Generalização Especialização

• Nós seríamos assim conduzidos à


descrever, em complemento ao TE Artigo,
outros TE's mais especializados,
representando classes sobre as quais
existem tratamentos e características
importantes à acrescentar.

UFPr Departamento de Informática 19


Modelo Entidade Relacionamento

Generalização Especialização

• Este tipo de raciocínio resulta numa


situação, até agora, não representável pelo
modelo ER, os mesmos objetos são
representados por TEs diferentes!!!

UFPr Departamento de Informática 20


Modelo Entidade Relacionamento

Generalização Especialização

• Para descrever esta situação, os modelos de


dados mais recentes incluem o conceito de
generalização/especialização: uma ligação
orientada de um TE especializado à um TE
genérico.

UFPr Departamento de Informática 21


Modelo Entidade Relacionamento

Generalização Especialização

• A semântica desta ligação é que toda


ocorrência do TE específico é igualmente
ocorrência do TE genérico. Graficamente
esta ligação é representada por uma flecha
do TE específico ao TE genérico.

UFPr Departamento de Informática 22


Modelo Entidade Relacionamento

Generalização Especialização

– No exemplo dos artigos nós obtemos a


seguinte representação para os artigos:

Artigo

Artigo Art Vestuário Art Eletro-


Alimentar Domésticos

UFPr Departamento de Informática 23


Modelo Entidade Relacionamento

Generalização Especialização

• As ligações de generalização/especialização
são geralmente chamados ligações IS-A ou
É-UM
• dizemos que Artigo alimentar é um Artigo.
Alguns autores chamam um TE específico
de um sub-tipo de um TE genérico (a
relação inversa é dita de super-tipo).

UFPr Departamento de Informática 24


Modelo Entidade Relacionamento

Generalização Especialização

• Por convenção, os atributos comuns ao TE


genérico e aos TE específicos só são
descritos, no esquema, como atributos do
TE genérico. No entanto eles estão
implicitamente incluídos nos atributos do
TE específico. Dizemos que estes ;últimos
"herdam" os atributos do TE genérico.

UFPr Departamento de Informática 25


Modelo Entidade Relacionamento

Generalização Especialização

• O que foi dito para os atributos se aplica


também aos TA (herança).
• Se artigo está ligado a fornecedor, então
Artigo Alimentar, Artigo Vestuário e Artigo
ED também estão mesmo que isto não seja
descrito explicitamente pelo esquema.

UFPr Departamento de Informática 26


Modelo Entidade Relacionamento

Generalização Especialização

• *** Nada impede que os TEs específicos


tenham seus próprios atributos e seus
próprios TA's. Assim o TE ArtigoEletrDom
pode estar ligado a um TE "Serviço de
reparação" e possuir um atributo "garantia

UFPr Departamento de Informática 27


Modelo Entidade Relacionamento

Generalização Especialização

– Um diagrama mais preciso do exemplo


dos Artigos ficaria assim: marca
nomeA
Venda Artigo Num_Art
tipo

Artigo Art Vestuário Art Eletro-


potência
Alimentar Domésticos

data_validade tamanho cores

repara

Serviço
Reparação

UFPr Departamento de Informática 28


Modelo Entidade Relacionamento

Generalização Especialização

– Não é obrigatório que os TE específicos


representem, no seu conjunto todos os
objetos representados pelo TE genérico
– Artigos como higiene, brinquedos etc.
podem não exigir um TE específicos para
descreve-los (se nenhum tratamento ou
propriedade necessária à descrição do
esquema o exigir) e serem descritos
simplesmente pelos TE Artigos.
UFPr Departamento de Informática 29
Modelo Entidade Relacionamento

Generalização Especialização

• Um TE genérico pode por sua vez ser TE


específico de um outro TE: acontece então
uma hierarquia de generalização.

UFPr Departamento de Informática 30


Modelo Entidade Relacionamento

Hierarquia de generalização

• Um exemplo clássico de hierarquia de generalização é o das


pessoas que trabalham ou estudam numa Universidade:

Pessoa

Estudante Trabalhador

Professor Administração
Técnico
Doutorando

Assistente Titular

UFPr Departamento de Informática 31


Modelo Entidade Relacionamento

Definição de um Esquema ER

• Um TE é definido por:
– Nome do TE;
– Nome do(s) supertipo(s) deste TE, se
existe;
– Descrição livre (comentário) precisando a
população exata do TE;
– Descrição dos atributos do TE.
• ** Restrições: Dois TE não podem ter
o mesmoUFPrnome
Departamento de Informática 32
Modelo Entidade Relacionamento

Ex: O TE Empregados

– Nome: Empregados;
– descrição: Toda pessoa salariada ligada à
Empresa atualmente.
• A descrição livre permite a definição exata (não
ambígua) da população do TE.
• inclui a especificação temporal (sublinhada no
exemplo)
– atributos: nome, salário (com as respectivas
descrições).

UFPr Departamento de Informática 33


Modelo Entidade Relacionamento
• Definição Tipo de associação:
• Nome do TA;
• Descrição livre;
• Nome dos TE participantes ao TA com os
respectivos papeis;
• Para cada papel a cardinalidade (numero
mínimo e máximo das instancias de um TA que
podem a um momento dado ligar pelo seu papel,
uma instancia do TE em questão).
• a descrição dos atributos do TA (opcional).

UFPr Departamento de Informática 34


Modelo Entidade Relacionamento

Tipo de Associação

• Exemplo
– nome: emprega;
– descrição: liga um empregado ao rayon
no qual ele trabalha hoje
– TE participantes: <Empregado,E>,
<Rayon,R>
– cardinalidade E:min=0,max=1 R:(O,n)
– atributos: nenhum.
UFPr Departamento de Informática 35
Modelo Entidade Relacionamento
Cardinalidade
• Min=0: um empregado pode não trabalhar em
nenhum rayon;
• min=1 um empregado deve trabalhar no mínimo
em um rayon;
• max=1 um empregado não pode trabalhar em mais
de um rayon;
• max=n um empregado pode trabalhar em vários
rayons.
– As cardinalidade é indicada por dois números(min:max)
ao lado dos traços que ligam os TE's aos TA's:

UFPr Departamento de Informática 36


Modelo Entidade Relacionamento

Cardinalidade

– A cardinalidade exprime o fato que um


filho tem no mínimo e no máximo dois
pais, e que os pais podem ter de 0 a n
filhos.
0,n 2,2
Pais é_pai_de Filhos

UFPr Departamento de Informática 37


Modelo Entidade Relacionamento

TA Cíclico

• Ligam um TE a ele mesmo


• os papeis são obrigatórios e devem ser colocados no
diagrama:

é_composto_de

Produto Compõe quantidade

é_componente_de

UFPr Departamento de Informática 38


Modelo Entidade Relacionamento

Exemplos de Instâncias de um TA

– Se nós introduzimos no BD a
composições do produto 1001:
– 5 unidades do produto 512
– 3 unidades do produto 123

UFPr Departamento de Informática 39


Modelo Entidade Relacionamento

Exemplos de Instâncias de um TA

– TE Produto:
• produto 123,
• produto 512,
• produto 1001
– TA Compõe:
• é_composto_de é_componente_de
quantidade
• produto 1001 produto 123 3
• produto 1001 produto 512 5

UFPr Departamento de Informática 40


Modelo Entidade Relacionamento

Atributo

• Definição
– nome;
– -descrição
– -cardinalidade;
– -domínio (se o atributo é simples);
– -descrição dos atributos componentes, se
o atributo é complexo;

UFPr Departamento de Informática 41


Modelo Entidade Relacionamento

Exemplo: o atributo nome do TE Empregado:

• nome: nome;
• descrição: nome do empregado, nome de
solteira para uma mulher
• cardinalidade (1:1)
• domínio: CHAR (15)

UFPr Departamento de Informática 42


Modelo Entidade Relacionamento

Exemplo o atributo data de nascimento:

– nome: data de nascimento;


– descrição: "data de nascimento de uma
pessoa"
– cardinalidade: (1:1)

UFPr Departamento de Informática 43


Modelo Entidade Relacionamento

•Exemplo
composição:
o atributo data de nascimento:
–nome: dia descrição " "
cardinalidade: (1:1); domínio:
Numérico [1..31]

–nome: mês descrição " "


cardinalidade: (1:1); domínio:
Numérico [1..12]

–- nome: ano descrição " "


cardinalidade: (1:1); domínio:
Numérico [1870..1994]
UFPr Departamento de Informática 44
Modelo Entidade Relacionamento

Terminologia:

• atributo simples: atributo não composto de


outros atributos, valores atômicos possuem
domínio (salário, telefone);
• atributo complexo: composto de outros
atributos (endereço composto de (rua,
cidade, CEP);

UFPr Departamento de Informática 45


Modelo Entidade Relacionamento

Terminologia:

• atributo monovalor: atributo com


cardinalidade máxima =1 (nome, data
nascimento);
• atributo multivalorado: vários valores por
instância max > 1 (filhos de uma pessoa)

UFPr Departamento de Informática 46


Modelo Entidade Relacionamento

Terminologia:

• atributo obrigatório: (min=1) possui pelo


menos um valor por ocorrência (nome);
• atributo opcional: (min=0) pode ter valor
nulo (telefone)

UFPr Departamento de Informática 47


Modelo Entidade Relacionamento

Identificadores dos TE's e TA's

• Conjunto mínimo de atributos que assegura


a inexistência de duas instâncias idênticas
neste TE (TA).
• Um TE (TA) pode ter vários
identificadores.

UFPr Departamento de Informática 48


Modelo Entidade Relacionamento

Identificadores dos TE's e TA's

– Exemplo: Numero de Matrícula para Estudantes


(ou nomeE + data nascimento se supormos que
dois estudantes não podem ter o mesmo nome e a
mesma data de nascimento).

Estudante prova Matéria


Num_Matéria
notas média
Num_Matrícula peso

UFPr Departamento de Informática 49


Modelo Entidade Relacionamento

Identificadores dos TE's e TA's

• Os identificadores dos TE's Estudante e


Matéria são respectivamente
Num_matrícula e Num_Matéria.
• O identificador do TA prova é
Estudante.Num_matrícula +
Matéria.Num_Matéria.

UFPr Departamento de Informática 50


Modelo Entidade Relacionamento

Identificadores de um TA

– Nem sempre o identificador de um TA é formado


do conjunto dos identificadores dos TE's ligados.
– O identificador de um só TE (no caso se a
cardinalidade for 1:1) pode ser suficiente.
– Se o TA liga dois TE's com cardinalidade 0:n para
ambos.
• Neste caso é necessário incluir pelo menos um
atributo do TA para estar seguro da unicidade
das instâncias:

UFPr Departamento de Informática 51


Modelo Entidade Relacionamento

Identificadores de um TA

• TA encomenda pode possuir dois


identificadores:
– Num_Produto + Num_Cliente + data ou
Num_Encomenda.

Produto encomenda Cliente

data
Num_Cliente
Num_Encom quantidade
num_Produto

UFPr Departamento de Informática 52


Modelo Entidade Relacionamento

Identificador de um TE fraco

• nenhum subconjunto de atributos constitui


um identificador
• é ligado por um TA binário de
cardinalidade (1,1) à um outro TE ao qual
ele é dependente.

UFPr Departamento de Informática 53


Modelo Entidade Relacionamento

Identificador de um TE fraco

– No exemplo abaixo. Exemplar ( que


representa um exemplar de um livro) é
um TE fraco (numEX não é
identificador) que depende do TE livro.

Livro possui Exemplar

ISBN Título numEX EstadoConserv

UFPr Departamento de Informática 54


Modelo Entidade Relacionamento

Identificador de um TE fraco

• O identificador de um TE fraco (que é o


mesmo do seu TA) é formado do
identificador do TE ao qual ele depende e
de um (ou vários) atributos do TE fraco.
• O identificador de Exemplar, no nosso
exemplo, é portanto ISBN + numEX.

UFPr Departamento de Informática 55


Modelo Entidade Relacionamento

Identificador de um TE subtipo.

• Seja um TE E subtipo do TE E', então todo


identificador de E’ é também identificador
de E. E não possui necessariamente um
identificador próprio.
• No exemplo dos Artigos ArtigoAlimentar,
ArtigoVestuário e ArtigoEletrDomest têm
todos os três num_Art (do TE Artigo) como
identificador.

UFPr Departamento de Informática 56


Modelo Entidade Relacionamento

Restrições de Integridade

• Os conceitos de Entidade, Associação,


atributo e subtipo não são suficientes para
descrever todas as propriedades dos dados
de um esquema ER.

Esposa
Casamento Casado data

marido
nome sexo EstadoCivil

UFPr Departamento de Informática 57


Modelo Entidade Relacionamento

Restrições de Integridade

• se uma pessoa participa à associação


casamento , então seu estado civil deve ser
'casado'
• Ou:
– ∀x,y ε Pessoa, <x,y> ε casamento =>
x.estadoCivil = casado

UFPr Departamento de Informática 58


Modelo Entidade Relacionamento

Restrições de Integridade
– Em geral SGBDs, as RI sãoverificadas por
programas ad hoc, criados na fase de
implementação do BD.
– Outras regras seriam possíveis neste mesmo
exemplo:
• se uma pessoa participa a associação casamento
com o papel marido então sexo=’M'
• se uma pessoa participa a associação casamento
com o papel esposa então sexo=’F'

UFPr Departamento de Informática 59


Modelo Entidade Relacionamento

Regras de Restrição

• Definem os estados possíveis do BD,


• Se os valores do BD não as satisfazem
existe um "erro" no BD,
• diz-se que o BD está incoerente.

UFPr Departamento de Informática 60


Modelo Entidade Relacionamento

Regras de Restrição (Domínio)

• idade ε [0..130]
– Este tipo de regras, facilmente
implementáveis, desaparecem se o
modelo possui uma linguagem de
descrição que permita uma definição
precisa do domínio.

UFPr Departamento de Informática 61


Modelo Entidade Relacionamento

Esquema Conceitual ER

• Esquema conceitual ER = ( {TE}, {TA},


{RI})

UFPr Departamento de Informática 62


Modelo Entidade Relacionamento

UFPr Departamento de Informática 63

Você também pode gostar