You are on page 1of 9

Curso de informática / Análise de Sistemas

Técnicas de Modelagem - Prof. Aníbal

Modelo Entidade-Relacionamento (MER)

É a técnica de modelagem de dados mais difundida. Ela permite fazer um modelo conceitual dos dados do
mundo real que estamos analisando. Foi criada em 1976 por Peter Chen e ganhou algumas extensões
interessantes ao longo dos anos. Usaremos a notação gráfica original de Peter Chen com mínimas adaptações
e extensões.
O MER (Modelo Entidade-Relacionamento) baseia-se na idéia de que o mundo real consiste de entidades e de
relacionamentos entre essas entidades.

Entidade e conjunto de entidades.

Entidade é uma representação abstrata de alguma coisa do mundo real.

Exemplo: o veículo de placas ILQ5479 é uma entidade; o funcionário José da Silva; a disciplina de
Matemática de uma escola; o pedido de número 1234 de um empresa comercial. Entidades podem ser
concretas, conceituais, fatos etc.

Conjunto de entidades é um grupo de entidades com características semelhantes.

Exemplo: o conjunto de todos os veículos da empresa, o conjunto de todos os funcionários, etc.

Obs.
• No MER só interessa representar os conjuntos de entidades, e nunca as entidades individuais.
• No MER só representamos os conjuntos de entidades do mundo real cujos dados são de interesse da
empresa.

Representação gráfica de um conjunto de entidades é um retângulo com o nome do conjunto.

Exemplo:

Veículo Funcionário

Obs.
• Todas as entidades são representadas, ou seja, todos os elementos que se enquandram dentro da
conceituação dada ao conjunto (ver item abaixo);
• O MER evita redundâncias representando cada entidade do mundo real (individual) por uma e só uma
entidade de um único conjunto de entidades.

Conceituação de um conjunto de entidades.

Durante o processo de modelagem costuma-se conceituar cada conjunto de entidades de modo a definir
claramente todas as entidades que podem pertencer àquele conjunto.

Exemplo. Veículo: conjunto que engloba todos os meios de transporte de propriedade da empresa.

Técnicas de Modelagem - Prof. Aníbal - Notas de aula 2 1


Atributos.

Para cada conjunto de entidades do modelo, a empresa tem interesse em guardar algumas informações
relacionadas aos seus elementos. Isto é feito através dos atributos.

Exemplos: Veículo = {Placa + Marca + Cor + Data-aquisição + Quilometragem}


Aluno = {Matrícula + Nome-aluno + Data-matrícula }

Representação gráfica dos atributos.

Se há espaço no diagrama, pode-se representar os atributos no próprio desenho, dispensando a relação como
mostrada no exemplo acima.

Exemplo: (será completado em aula)

Veículo Aluno

Obs.
• Não confundir nome do atributo com valor do atributo. Por exemplo, Marca é o nome de um
atributo, e alguns dos valores que esse atributo pode assumir são Ford, Fiat, Chevrolet, etc.
• Um atributo só pode aparecer numa única entidade do modelo. Todavia, nada impede que atributos
de entidades diferentes tenham mesmo nome, embora representanto informações diferentes. Por
exemplo, o atributo Nome pode aparecer na entidade Cliente onde ele indica nome do cliente, e
pode também estar na entidade Funcionário, onde ele significa nome do funcionário.

Regra: um conjunto de entidades deve possuir no mínimo dois atributos para ser representado no
diagrama. Se tiver apenas um atributo, poderá ser tratado como atributo de outro conjunto.

Atributo chave é o atributo (simples ou composto) que identifica, de forma única, uma entidade.

Exemplos: Veículo = {Placa + Marca + Cor + Data-aquisição + Quilometragem}


Candidato-concurso = {Num-edital + Num-inscrição + Nome + Sexo + ...}

Obs.
• Quando não há na relação um bom atributo chave, cria-se um.

Exercício: Escolha atributo chave para cada conjunto de entidades abaixo.


Funcionário = {Nome + Endereço + Salário + Data-ingresso} Resp:_________________________
Cliente = {Núm-CNPJ + Nome + Endereço + Data-Nasc} Resp:____________________________
Aluno = {Matrícula + Nome + Sexo + Data-nasc.} Resp:__________________________________
Dependente-Funcionário = {Matrícula-Func + Nome-dep + data-nasc }
Resp:______________________________________________________________________
Técnicas de Modelagem - Prof. Aníbal - Notas de aula 2 2
Representação tabular.

ALUNO
Atributos → Matrícula Nome-Aluno Data-Nasc.
1234 José Alceu 12/12/47
Entidade → 0056 Ana Maria 01/06/69
3400 Gaspar Silva
1122 Ida Oliveira 19/07/68

Obs.
• A representação tabular não deve aparecer no MER - serve apenas de recurso didático.

Exercício. Fazer o exercício 1 da lista de exercícios 1.

Relacionamentos e conjuntos de relacionamentos.

Assim como as entidades, os relacionamentos desempenham papel importante no modelo E-R.

Relacionamento (binário) é uma associação entre duas entidades, do mesmo conjunto ou não.

Exemplo: José Alceu cursa a disciplina Matemática.

Conjunto de relacionamentos é um grupo de associações de mesmo tipo.

Representação gráfica: losango com um nome.

Aluno Cursa Disciplina

ALUNO CURSA DISCIPLINA


Matrícula Nome-Aluno Data-Nasc. ↓ Cód Nome
1234 José Alceu 12/12/47 Mat Matemática
0056 Ana Maria 01/06/69 Ing Inglês
3400 Gaspar Silva Inf Informática
1122 Ida Oliveira 19/07/68

Obs.
• Um relacionamento é um par ordenado, mas não se especificam quais são os pares
• O nome do relacionamento contém o significado dos pares no mundo real
• Formas alternativas de nomes: Verbo na voz ativa: Cursa
Verbo na voz passiva: É cursada por
Substantivo: Inscrição
Composição: Aluno-disciplina

Exercício. Fazer o exercício 2 da lista de exercícios 1.

Técnicas de Modelagem - Prof. Aníbal - Notas de aula 2 3


Auto relacionamento é um relacionamento entre entidades do mesmo conjunto.

Exemplo: Disciplina é pré-requisito de disciplina.

Disciplina É pré-requisito de

Atributos de relacionamentos.

Os relacionamentos, assim como as entidades, podem ter atributos.

Exemplo: Grau

Aluno Cursa Disciplina

Por definição, o atributo chave de um relacionamento é composto e formado pelos atributos chaves das
entidades envolvidas. Assim, no exemplo acima teríamos:

Aluno = {Matrícula + Nome-aluno + Data-nasc}


Disciplina = {Cód-disciplina + Nome-disciplina + créditos}
Cursa = {Matrícula + Cód-disciplina + Grau}

Todavia, pode-se dispensar a escrita da chave do relacionamento, pelo fato de ela ser óbvia.

Exercício. Desenhe a representação tabular dos dois diagramas acima.

Nota: é comum usarmos o termo entidade com o significado de conjunto de entidades, e relacionamento para
indicar conjunto de relacionamentos. Mas é importante saber distinguir uma coisa de outra.

Técnicas de Modelagem - Prof. Aníbal - Notas de aula 2 4


Cardinalidade de relacionamentos.

A cardinalidade de um conjunto de relacionamentos informa a quantidade máxima de relacionamentos


individuais de que cada entidade dos conjuntos de entidades pode participar.

Dados os conjuntos de entidades A e B e um conjunto de relacionamentos R entre eles, R pode ter


cardinalidade 1:1, 1:N ou N:N.

1: N (Um para muitos) indica que cada entidade de A pode se associar a no máximo N entidades de B, mas
uma entidade de B pode se associar a no máximo uma entidade de A.

1 N
A R B

Exemplo:
1 N
Departamento Lota Funcionário

Um departamento lota diversos funcionários; um funcionário está lotado em só um departamento.

1:1 (Um para um) indica que cada entidade de A pode se associar a no máximo uma entidades de B, e, da
mesma forma, uma entidade de B pode se associar a no máximo uma entidade de A.

1 1
A R B

Exemplo:
1 1
Funcionário Gerencia Departamento

Um funcionário só pode gerenciar um departamento no máximo; um departamento só pode ter um gerente

N:N (Muitos para muitos) indica que cada entidade de A pode se associar a no máximo N entidades de B, e
que uma entidade de B pode se associar a no máximo N entidades de A.

N N
A R B

Exemplo:
N N
Autor Escreve Livro

Um autor escreve no máximo diversos livros e cada livro pode ser escrito por diversos autores.

Técnicas de Modelagem - Prof. Aníbal - Notas de aula 2 5


Obs.
• A cardinalidade indica o máximo de pares dos quais cada entidade pode participar, mas nada informa a
respeito do mínimo.
• A cardinalidade depende, obviamente, do mundo real que está sendo modelado.
• Existem outras notações.
• Pode-se fixar o valor de N se a regra no mundo real assim o estabelecer.
Exemplo: um candidato só pode inscrever-se num máximo de cinco cursos, e cada curso pode ter um
número ilimitado de candidatos. Desenhe o diagrama para representar esta afirmação.

Obrigatoriedade de um relacionamento.

Informa a quantidade mínima de pares em que cada entidade pode participar.

Se toda entidade de A deve estar obrigatoriamente relacionada com pelo menos uma entidade de B, dizemos
que A é obrigatória em R; caso contrário A é opcional em R.

Exemplo: Todo funcionário deve estar obrigatoriamente lotado num departamento. Um departamento, todavia,
pode não ter nenhum funcionário lotado nele.

1 N
Departamento Lota Funcionário

Departamento é opcional em Lota e Funcionário obrigatório em Lota.

Obs.
• Outras notações existem.

Exercício. Fazer os exercícios 3 da lista de exercícios 1.

Relacionamentos com atributo.

Exemplo: Onde colocar o atributo Preço-Unitário?

N N
Fornecedor Fornece Material

Testes para relacionamentos N:N:


• Fixa-se um fornecedor e variam-se os materiais: se o atributo muda de valor, então ele não pertence a
Fornecedores. Repete-se o processo no sentido inverso para verificar se ele é de Materiais. Se o atributo não
é de nenhuma entidade, então ele é do relacionamento.
• A maneira como o atributo é referido:
O preço unitário é do material em um certo fornecedor.

Exercício. Fazer o exercício 4 da lista de exercícios 1.

Técnicas de Modelagem - Prof. Aníbal - Notas de aula 2 6


Relacionamento ternário.

Exemplo:

Peça N N Fornecedor

Peça-Forn-Proj

Projeto

Uma peça é fornecida por um fornecedor para um projeto.

Obs.
• Em geral, um relacionamento ternário não pode ser substituído por três binários sem perda de informação
• Convém evitar relacionamentos ternários ou múltiplos

Entidade associativa ou agregada.

Entidade associativa ou agregada é uma abstração onde um relacionamento N:N é tratado como uma entidade
de um nível mais alto. Atenção: só acontece em relacionamentos N:N.

Representa um relacionamento entre uma entidade e um relacionamento N:N, ou entre dois relacionamentos
N:N, já que relacionamentos entre relacionamentos não são permitidos no MER.

Exemplo: (será construído em aula)

Obs.
• Entidades associativas não se aplicam a relacionamentos 1:N ou 1:1
• Não tem sentido atributo de entidade associativa
• A idéia de entidade associativa é similar a de atributo de relacionamento N:N, sendo o atributo, no caso,
uma entidade ou outro relacionamento N:N.

Exercício. Fazer o exercício 5 da lista de exercícios 1.

Técnicas de Modelagem - Prof. Aníbal - Notas de aula 2 7


Especialização/Generalização.

Qualquer um dos dois nomes acima serve para identificar um tipo de relacionamento muito importante entre
uma entidade genérica e uma ou mais entidades especializadas. Vamos estudá-lo através de um exemplo.

Exemplo: Numa empresa, os seguintes dados sobre cada empregado devem ser guardados: matrícula, nome e
salário. Todavia, para as secretárias (uma das categorias de empregados) devem ser mantidos mais os seguintes
dados, além dos 3 já indicados acima: língua estrangeira que ela melhor domina e número do manequim, pois
são as únicas que ganham uniforme.

Solução:

Obs.
• O símbolo para especialização/generalização é um triângulo isósceles, cujo vértice dos lados iguais fica
voltado para a entidade genérica.
• As entidades especializadas herdam todas as características da entidade genérica. Assim, todos os atributos
da entidade Empregado se aplicam, também, à entidade Secretária (inclusive o atributo chave); devido a
isso, esses atributos não devem ser repetidos na lista de atributos da entidade especializada.
• A cardinalidade da especialização/generalização é sempre 1:1, não devendo, portanto, ser escrita, pois
jamais é diferente disso.
• O relacionamento é obrigatório nas entidades especializadas, mas pode ser opcional ou obrigatório na
entidade genérica. No exemplo acima, temos que Empregado é _______________________ e Secretária é
___________________________.

Exercício 1. Continuando o modelo acima, como V. representaria o fato de que todo empregado (inclusive as
secretárias) está lotado em algum departamento (sendo Departamento uma entidade do modelo)?

Resp:_____________________________________________________________________________________
_________________________________________________________________________________________.

Exercício 2. Supondo, agora, que a empresa deseja registrar o editor de texto que cada secretária melhor
domina (só para as secretárias), como o modelo acima contemplaria isso?

Resp:_____________________________________________________________________________________
_________________________________________________________________________________________.

Técnicas de Modelagem - Prof. Aníbal - Notas de aula 2 8


Exercício 3. Suponha, porém, que sobre cada editor de texto que a empresa utiliza, ela resolva guardar uma
série de informações como nome do editor, versão, fabricante e data de aquisição. Que adaptação deveria sofrer
o modelo para contemplar esse novo aspecto da realidade?

Resp:_____________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________.

Exercício 4. Crie um diagrama com especialização em que a entidade especializada seja obrigatória no
relacionamento.

Exercício: fazer o exercício 6 da lista de exercícios 1.

Modelo E-R completo.

É composto de
• DER - Diagrama Entidade-Relacionamento, que é o desenho contendo as entidades, os relacionamentos, a
cardinalidade e obrigatoriedade de todos os relacionamentos, e, se houver espaço, a indicação de todos os
atributos;
• Relação dos atributos das entidades e dos relacionamentos - dispensada nos casos em que os atributos já
aparecem no próprio diagrama;
• Conceituação das entidades (às vezes esta parte é dispensada)
• Outras regras de integridade que não aparecem no desenho.

Técnicas de Modelagem - Prof. Aníbal - Notas de aula 2 9

You might also like