Você está na página 1de 42

MODELO ENTIDADERELACIONAMENTO

Prof. Andr Luiz da Costa Carvalho Gerao e Uso de Banco de Dados

Sumrio
Nesta aula, voc conhecer uma outra tcnica de anlise de dados: a modelagem entidade-relacionamento. Apresentar a tcnica da modelagem entidade-relacionamento. Apresentar os principais componentes do modelo entidaderelacionamento. Contedo
O que a modelagem entidade-relacionamento? O que so entidades? O que so relacionamentos? O que so atributos? O modelo entidade relacionamento

Modelo Entidade-Relacionamento
A modelagem entidade-relacionamento uma tcnica de anlise de dados que estabelece a estrutura dos dados a partir da identificao dos objetos a respeito dos quais necessrio guardar informaes. Os principais componentes utilizados por esta tcnica so:
As entidades Os relacionamentos entre as entidades Os atributos das entidades e dos relacionamentos

O produto final desta tcnica o modelo entidade relacionamento. Este diagrama representa os objetos sobre os quais guardamos dados e os relacionamentos que existem entre eles.

Entidades
Os objetos ou "coisas" sobre os quais precisamos guardar dados so chamados entidades. Utilizando o exemplo do arquivo de pedidos das aulas anteriores, teramos como entidades:
Os clientes Os pedidos Os produtos Os vendedores

Descobrimos as entidades perguntando: "Sobre que coisas vamos precisar guardar informaes?"

Relacionamentos
Os objetos ou entidades que ocorrem, na realidade, no ocorrem isolados. Eles se vinculam uns aos outros, naquilo que chamamos relacionamentos. Por exemplo, os clientes esto vinculados aos pedidos e estes, aos clientes.
Toda tabela que referencia elementos de uma outra tabela tem um relacionamento com esta. Algumas vezes os relacionamentos tem suas prprias tabelas.

Atributos
Atributos so as propriedades das entidades e dos relacionamentos. Representam os dados que so armazenados a respeito dos objetos da realidade. Por exemplo, so atributos do cliente:
Cdigo do cliente Nome do cliente Endereo do cliente

Os atributos do pedido so, entre outros:


Nmero do pedido Nmero da filial Data do pedido

Modelo entidade-relacionamento
O modelo entidade relacionamento mostra as entidades representadas pelos retngulos, ligadas entre si pelos relacionamentos representados pelos losangos. Por exemplo, veja o modelo entidade relacionamento correspondente ao problema do arquivo de pedidos, analisado nas aulas anteriores:
Cliente
Faz

Pedido
Tira Recebe

Solicita

Vendedor Item

Filial

ENTIDADES

Revisando o Conceito
Como j vimos, entidades so objetos a respeito dos quais guardamos dados. Estes objetos podem ser:
Pessoas Coisas Instituies Lugares Conceitos

Quando analisamos um problema, ficamos atentos aos substantivos e aos nomes que aparecem. Eles so entidades potenciais.

Critrios para identificao de Entidades


Para cada substantivo ou nome que julgamos ser uma entidade, devemos fazer as seguintes perguntas:
h necessidade de guardar informaes sobre cada objeto? h mais de um objeto deste tipo? existe uma chave capaz de identificar cada objeto unicamente?

Para que um substantivo seja considerado uma entidade, a resposta a estas trs perguntas deve ser positiva.

Exemplo
Considere, por exemplo, um pedido. Seria um pedido uma Entidade? necessrio fazer as perguntas. 1. H a necessidade de guardar informaes sobre este objeto?

Exemplo
Considere, por exemplo, um pedido. Seria um pedido uma Entidade? necessrio fazer as perguntas. 1. H a necessidade de guardar informaes sobre este objeto?
R: Sim, temos que guardar informaes de todos os pedidos.

Exemplo
Considere, por exemplo, um pedido. Seria um pedido uma Entidade? necessrio fazer as perguntas. 1. H a necessidade de guardar informaes sobre este objeto?
R: Sim, temos que guardar informaes de todos os pedidos.

2. H mais de um objeto deste tipo?

Exemplo
Considere, por exemplo, um pedido. Seria um pedido uma Entidade? necessrio fazer as perguntas. 1. H a necessidade de guardar informaes sobre este objeto?
R: Sim, temos que guardar informaes de todos os pedidos.

2. H mais de um objeto deste tipo?


R: Sim, existem diversos pedidos.

Exemplo
Considere, por exemplo, um pedido. Seria um pedido uma Entidade? necessrio fazer as perguntas. 1. H a necessidade de guardar informaes sobre este objeto?
R: Sim, temos que guardar informaes de todos os pedidos.

2. H mais de um objeto deste tipo?


R: Sim, existem diversos pedidos.

3. Existe uma chave capaz de identificar cada objeto unicamente?

Exemplo
Considere, por exemplo, um pedido. Seria um pedido uma Entidade? necessrio fazer as perguntas. 1. H a necessidade de guardar informaes sobre este objeto?
R: Sim, temos que guardar informaes de todos os pedidos.

2. H mais de um objeto deste tipo?


R: Sim, existem diversos pedidos.

3. Existe uma chave capaz de identificar cada objeto unicamente?


R: No necessariamente, mas podemos estabelecer uma

Exemplo
Considere, por exemplo, um pedido. Seria um pedido uma Entidade? necessrio fazer as perguntas. 1. H a necessidade de guardar informaes sobre este objeto?
R: Sim, temos que guardar informaes de todos os pedidos.

2. H mais de um objeto deste tipo?


R: Sim, existem diversos pedidos.

3. Existe uma chave capaz de identificar cada objeto unicamente?


R: No necessariamente, mas podemos estabelecer uma.

Portanto, de acordo com as respostas, podemos considerar que pedido de fato uma entidade.

Exemplo 2 - Quantidade
Basta que uma das perguntas tenha uma resposta negativa para desconsider-la como entidade. Quantidade outro substantivo.
Quantidade uma entidade?

Perguntas!

Exemplo 2 - Quantidade
Basta que uma das perguntas tenha uma resposta negativa para desconsider-la como entidade. Quantidade outro substantivo.
Quantidade uma entidade?

Perguntas! H necessidade de guardar informaes sobre este objeto?

Exemplo 2 - Quantidade
Basta que uma das perguntas tenha uma resposta negativa para desconsider-la como entidade. Quantidade outro substantivo.
Quantidade uma entidade?

Perguntas! H necessidade de guardar informaes sobre este objeto?


Quantidade uma informao que guardamos a respeito de um pedido, no um objeto a respeito do qual guardemos dados.

Exemplo 2 - Quantidade
Basta que uma das perguntas tenha uma resposta negativa para desconsider-la como entidade. Quantidade outro substantivo.
Quantidade uma entidade?

Perguntas! H necessidade de guardar informaes sobre este objeto?


Quantidade uma informao que guardamos a respeito de um pedido, no um objeto a respeito do qual guardemos dados.

H mais de um objeto deste tipo?

Exemplo 2 - Quantidade
Basta que uma das perguntas tenha uma resposta negativa para desconsider-la como entidade. Quantidade outro substantivo.
Quantidade uma entidade?

Perguntas! H necessidade de guardar informaes sobre este objeto?


Quantidade uma informao que guardamos a respeito de um pedido, no um objeto a respeito do qual guardemos dados.

H mais de um objeto deste tipo?


Sim, existem vrias quantidades.

Exemplo 2 - Quantidade
Basta que uma das perguntas tenha uma resposta negativa para desconsider-la como entidade. Quantidade outro substantivo.
Quantidade uma entidade?

Perguntas! H necessidade de guardar informaes sobre este objeto?


Quantidade uma informao que guardamos a respeito de um pedido, no um objeto a respeito do qual guardemos dados.

H mais de um objeto deste tipo?


Sim, existem vrias quantidades.

Exemplo 2 - Quantidade
Basta que uma das perguntas tenha uma resposta negativa para desconsider-la como entidade. Quantidade outro substantivo.
Quantidade uma entidade?

Perguntas! H necessidade de guardar informaes sobre este objeto?


Quantidade uma informao que guardamos a respeito de um pedido, no um objeto a respeito do qual guardemos dados.

H mais de um objeto deste tipo?


Sim, existem vrias quantidades.

3. Existe uma chave capaz de identificar cada objeto unicamente?

Exemplo 2 - Quantidade
Basta que uma das perguntas tenha uma resposta negativa para desconsider-la como entidade. Quantidade outro substantivo.
Quantidade uma entidade?

Perguntas! H necessidade de guardar informaes sobre este objeto?


Quantidade uma informao que guardamos a respeito de um pedido, no um objeto a respeito do qual guardemos dados.

H mais de um objeto deste tipo?


Sim, existem vrias quantidades.

3. Existe uma chave capaz de identificar cada objeto unicamente?


No faz sentido definir uma chave para identificar uma quantidade.

Exerccio
O Aristocrata Country Club uma agremiao social e esportiva tradicional, que est pretendendo realizar uma campanha para ampliar o seu quadro de scios. A secretaria e a tesouraria utilizam mtodos convencionais de controle do quadro social e de cobrana de mensalidades. O diretor administrativo est preocupado com o aumento de servio que esta ampliao do quadro pode representar. Ele est solicitando um sistema que seja capaz de: Controlar os ttulos emitidos. Controlar a venda de ttulos e o pagamento de comisso aos vendedores. Registrar os scios titulares e os scios dependentes. Controlar a emisso e o pagamento das mensalidades. Controlar o trabalho dos cobradores encarregados de efetuar a cobrana das mensalidades. Emitir carteiras de scio. Emitir cartas de cobrana aos scios inadimplentes.

Quais so as entidades?
Aristocrata Contry Club. Campanha. Quadro Social. Sistema Ttulo Comisso Vendedor Scio Mensalidade Cobrador

ATRIBUTOS E CHAVES

Atributos
Atributo cada um dos dados que guardamos a respeito de uma entidade. No exemplo do Aristocrata Country Clube, a entidade scio pode ter os seguintes atributos:
nome do scio data de nascimento Sexo estado civil Endereo telefones (vrios)

Chave
Um ou mais atributos podem ser usados para identificar, de forma nica, cada objeto da Entidade. Neste caso, dizemos que este atributo (ou atributos) formam a chave da entidade. Por exemplo, cada scio pode ter um nmero que o identifica. O nmero do scio deve ser:
nico - dois scios no podem ter o mesmo nmero. Universal - cada scio deve, obrigatoriamente, ter um nmero de scio. Imutvel - uma vez atribudo um nmero a um scio este nmero jamais ser alterado.

Dependncia Funcional
Dizemos que um atributo depende de outro (ou de outros) quando o seu valor determinado pelo valor do outro, por exemplo: O salrio de um funcionrio depende da matrcula do funcionrio.
"Isto , para determinar o salrio de um funcionrio precisamos saber de que funcionrio se trata, ou seja, precisamos saber qual a matrcula do funcionrio". A data de concluso de um curso feito por um aluno depende da matrcula do funcionrio e do cdigo do curso.
Isto , a data de concluso do curso s pode ser determinada se soubermos de que aluno se trata e de que curso estamos falando. Um funcionrio pode ter realizado diversos cursos e o mesmo curso pode ter sido concludo por diversos funcionrios.

Dependencia Funcional
importante, pois baseada nela definimos quais atributos vo pertencer a cada entidade.

Exerccios
Observe as colunas ao lado. Considere o arquivo de pedidos das aulas anteriores, pense nos melhores atributos para a coluna da esquerda baseando-se na coluna da direita.

Exerccio
O Sistema do Aristocrata Country Club dever: Controlar os ttulos emitidos. Controlar a venda de ttulos e o pagamento de comisso aos vendedores. Registrar os scios titulares e os scios dependentes. Controlar a emisso e o pagamento das mensalidades. Controlar o trabalho dos cobradores encarregados de efetuar a cobrana das mensalidades. Emitir carteiras de scio. Emitir cartas de cobrana aos scios inadimplentes.

No problema do Aristocrata Country Clube, relacione os atributos das entidades:


Mensalidade Ttulo

SUBENTIDADES E ENTIDADES FRACAS

Subentidade
Uma entidade considerada subentidade de outra se a primeira um subconjunto da segunda entidade. Por exemplo, no problema do torneio, para ser jogador preciso ser scio do clube. O mesmo se pode dizer dos tcnicos e rbitros. Portanto, as entidades jogador, tcnico e rbitro so subconjuntos de scio.

Por outro lado, podemos dizer que um scio pode ser um scio titular ou um scio dependente. Neste caso, scio titular e scio dependente so subentidades de scio.

Quando definimos os atributos de uma subentidade, consideramos os atributos da entidade da qual ela deriva. Por exemplo, se a entidade jogador um subconjunto da entidade scio, todos os jogadores so scios. Portanto, todos os atributos de scio so tambm atributos de jogador. Ns s temos de nos preocupar com os atributos especficos de um jogador.
Exemplo: Atributos de scio Nmero do scio (chave) Nome do scio Endereo do scio Data de nascimento Sexo Estado civil Atributos de jogador Nmero do scio (chave) Equipe a que pertence Gols marcados Cartes amarelos Cartes vermelhos Gols sofridos (se for goleiro)

Todo jogador tem um nome, mas o atributo nome do jogador no necessrio porque jogador uma subentidade de scio e todos os atributos de scio so, tambm, atributos de jogador. Repare que a chave de jogador "nmero do scio". Isso porque a chave de uma subentidade sempre a chave da entidade da qual ela derivada.

Especializao
Quando, ao examinarmos uma entidade, descobrimos que existem subconjuntos importantes e criamos subentidades a partir deles, estamos fazendo uma especializao. Fazemos uma especializao quando existem atributos que s se aplicam a um subconjunto da entidade. Por exemplo, quando verificamos que jogador, rbitro e tcnico so subconjuntos de scio e que existem atributos que so especficos de jogador, rbitro e tcnico, fazemos uma especializao, criando subentidades.

Generalizaao
Existe um outro processo que funciona no sentido inverso. Neste caso, ao examinarmos duas ou mais entidades, descobrimos que vrios de seus atributos so comuns. Ento, consideramos que estas entidades so subconjuntos de uma mesma entidade. Este processo denominado generalizao. Um exemplo: No problema do Aristocrata Country Clube Existem duas entidades:
Cobrador Vendedor

Podemos ver que muitos dos atributos destas entidades so comuns. Podemos considerar que cobrador e vendedor so subconjuntos de uma entidade maior. Tanto cobradores como vendedores so profissionais autnomos que trabalham para o clube recebendo comisso.

Entidade Fraca
Outro conceito importante o de entidade fraca. Uma entidade fraca uma entidade cuja chave contm a chave de outra entidade. Por exemplo, a entidade pedido tem como chave:
Nmero da filial Nmero do pedido

O nmero da filial faz parte da chave para torn-la nica, uma vez que o nmero do pedido atribudo em cada filial. Mas, o nmero da filial a chave de outra entidade, filial. Por isso, dizemos que a entidade uma entidade fraca, porque precisa usar a chave de outra entidade para tornar nica a sua chave.