Você está na página 1de 95

Modelo Conceitual de Dados

Modelo Entidade-Relacionamento

Diagrama Entidade-Relacionamento (DER)

Socorro Vânia
socorro.vania@gmail.com
socorro.Alves@ufopa.edu.br
Modelo de Dados
O Projeto do Banco de Dados

 Todo sistema deve ser iniciado por um bom


projeto de banco de dados, o que implica fazer
uma boa modelagem dos dados.

 Isso garante a confiabilidade, eficiência e


eficácia do sistema a ser desenvolvido.
Modelagem

 A modelagem consiste então em mapear


(transformar) aspectos do mundo real em um
modelo de dados formal (gráfico), que irá
representar o sistema e o relacionamento
existente entre os dados.
Modelo de Banco de Dados

 Em resumo na área de banco de dados: um


modelo de banco de dados é uma descrição
dos dados armazenados em uma base de
dados e das possíveis informações que poderão
ser extraídas dela.

É a descrição formal da estrutura de um banco de


dados.
Modelos de dados

 No projeto de banco de dados, normalmente


são considerados três níveis de abstração de
modelo de dados:
1. Modelo conceitual;

2. Modelo lógico;

3. Modelo Físico.
Modelo de Dados
Exemplo de Modelo Conceitual de um BD

trabalha (1,1)
(1,1)
(1,N) Departamento
(1,1)
Empregado gerencia (1,1)
(1, N)

(1,1) (1,N) (1,1)


Trabalha em controla

(0,N)
(0,N) (0,N)
supervisão Dependente Projeto

possui
Modelo Conceitual do BD

 Nesta aula são apresentados os conceitos de


modelagem do modelo entidade-
relacionamento (MER), que é um modelo
conceitual popular de alto-nível.

 Esse modelo é frequentemente usado para o


projeto conceitual de aplicações de banco de
dados e muitas ferramentas de projeto de BD
empregam esses conceitos.
Modelo conceitual do BD

 É uma descrição do banco de dados de forma


independente de implementação em um SGBD.

 Registra que dados podem aparecer no banco


de dados, mas não registra como estes dados
estão armazenados a nível de SGBD.
Abordagem Entidade-Relacionamento

 A abordagem MER (Modelo Entidade


Relacionamento) foi criada em 1976 por Peter
Chen e, posteriormente, sofreu algumas
extensões.
 Mais difundido e utilizado pela comunidade de
BD.
 É um padrão para modelagem conceitual.
 Modelo simples (poucos conceitos)
 Representação gráfica (fácil compreensão)
Abordagem Entidade-Relacionamento

 É considerada como um padrão para a


modelagem conceitual, oferecendo uma
fotografia do BD;

 Utiliza notação diagramática associada ao


modelo ER, conhecida como diagramas
entidade-relacionamento (DER).
Abordagem Entidade-Relacionamento
 O Diagrama Entidade-Relacionamento
(DER).
◼ Essa representação gráfica tem por objetivo
descrever quais dados devem ser armazenados pela
aplicação e quais desses dados se relacionam.

◼ Deve ser construído no início do projeto do BD.

◼ O responsável pela construção do DER é o projetista


da base de dados.

◼ Esta visão inicial representa a visão que o projetista


tem dessa base de dados.
Abordagem Entidade-Relacionamento

 Conceitos da abordagem MER (Modelo Entidade


Relacionamento).

Conceitos:

1. Entidades

2. Atributos

3. Relacionamentos
Abordagem Entidade-Relacionamento

 A abordagem MER (Modelo Entidade Relacionamento) -


Convenções.
Abordagem Entidade-Relacionamento
 A abordagem MER (Modelo Entidade Relacionamento) -
Convenções.
Entidades

 O conceito básico que um modelo ER


representa é o de entidade, que pode ser
entendido como um objeto no mundo real com
uma existência independente ou dependente, e
sobre o qual desejamos registrar informações
no BD.

 Uma entidade pode representar tanto objetos


concretos/físicos da realidade (pessoa,
automóvel) quanto objetos abstratos com
existência conceitual (um departamento, uma
projeto, conta corrente, disciplina).
Entidades
Entidades

 Correspondem aos substantivos na descrição


informal (minimundo) da análise de dados;

 Quais as entidades em uma instituição


financeira representada por um banco?

• Os clientes;

• As contas correntes;

• Os cheques;

• As agências;
Entidades

 A representação de uma entidade no modelo


entidade-relacionamento se faz através de um
retângulo, com o nome (singular) da entidade
em seu interior.

Empregado
Produto

NotaFiscal
Entidades

 Entidades Independentes - entidades que não


dependem de outras para sua existência e identificação.

 Entidades Dependentes/Fracas - entidades que


dependem de outras para sua existência (dependência
por existência)
Entidades

 Entidades Fracas - entidades que dependem de outras


para sua existência (dependência por existência).
 As entidades fracas são sempre ligadas a outras
entidades através de relacionamentos
Entidades

 As ocorrências de uma entidade são chamadas de


instâncias.

Pessoa
João Carlos
Paulo
Maria
Pedro
Entidades

 As instâncias de uma entidade não são


representadas no DER.

 Ao visualizar uma entidade devemos entendê-


la como uma tabela de dados, onde cada linha
desta tabela representa uma instância da
mesma.
Atributos

 Todo objeto (entidade) possui propriedades ou


características que o descreve chamadas de
atributos;

 Uma entidade sempre é representada por um


conjunto de atributos.

 Os atributos podem ser representados


graficamente, mas caso sobrecarreguem o
diagrama deve-se analisar seu uso.
Atributos
Atributos

 O que descreve Empregado?


Matricula
Nome
DataAdmissao
DataNascimento
Salario

 O que descreve Professor?


CPF
Nome
DataNascimento
Titulação
Salário
Atributos

Representação Gráfica:

Empregado
Atributos

 Tipos de atributos:
• Simples

• Composto

• Multivalorado

• Identificador (conhecido também como chave)

• Derivado
Atributos

Atributos simples ou atômicos são aqueles que não


podem ser divididos.

Empresa
Atributos

Atributo composto pode ser dividido em outros


atributos.
- É formado por itens menores.

Logradouro

Número

Pessoa Endereço CEP

Bairro
Atributos

Grau

PROFESSOR Titulação Curso

Instituição
Atributos

Atributo multivalorado: é aquele cujo conteúdo é


formado por mais de um valor.
Ex.: O professor pode ter vários valores para o
atributo telefone
Atributos

Atributo Multivalorado
- Em algumas notações são representados através de um asterisco
na extremidade do atributo ou uma elipse duplicada.

- Em outras é representado com a cardinalidade mínima e máxima


entre parênteses (min, max).

Empregado
Atributos

Atributo identificador ou determinante ou


atributo chave
◼ Pode existir atributos cujos valores não se
repetem para diferentes instâncias da mesma
entidade, atuando como identificadores únicos;

◼ É usado para identificar uma instância de uma


entidade de forma única.

Empregado
Atributos

Atributo identificador ou determinante ou


atributo chave
◼ Pode ser:
 Simples: um único atributo
 Composto: mais de um atributo
Atributos

Atributo identificador
◼ Pode ser:
 Simples: um único atributo
 Composto: mais de um atributo
Atributos

Atributo identificador ou determinante ou


atributo chave

◼ Não pode haver atributo identificador em


relacionamentos.
Atributos

Atributos identificador
◼ Chave primária é então o atributo (ou conjunto
de atributos) que identifica uma única
ocorrência (instância) dentro de uma entidade.

◼ Chaves Candidatas é um atributo ou um


conjunto de atributos de uma entidade que
identifica de forma única uma instância. A chave
primária é extraída a partir do conjunto de
chaves candidatas de uma entidade.
Atributos

Atributo identificador composto

A figura abaixo mostra um exemplo no qual o


identificador da entidade é composto por dois atributos
(chave primária composta/super chave).
Atributos

Atributo Derivado
 O valor será definido a partir de cálculos sobre outros
atributos e não será armazenado no BD.

Exemplos:
◼ Idade pode ser obtida a partir do atributo DataNascimento;
◼ ValorMulta pode ser obtido do valor unitário da multa multiplicado
pelos dias de atraso;
◼ ValorINSS pode ser obtido a partir do Salário

Empregado
Atributos

Domínio dos Atributos


- Cada atributo de uma entidade é mapeada para um
conjunto de valores, ou domínio, que especifica o
conjunto de valores que pode ser atribuído a esse
atributo.
- O domínio do atributo não é representado no DER.
◼ O atributo salário de um PROFESSOR por exemplo tem
como domínio o conjunto de números decimais não-
negativos.
◼ Já o atributo turno de um curso tem como domínio os
caracteres ’V’ (vespertino) e ’N’ (noturno). Só aceita V
ou N.
Atributos
Relacionamentos

 Representam as associações entre as entidades;

 Representação abstrata de associações entre objetos


do mundo real para armazenamento no BD;
Ex.: No banco, um cliente c1 é titular da conta ct3
Departamento D1 EMPREGA o Empregado E3

 Correspondem aos verbos na descrição informal


(minimundo) da análise de dados.
Relacionamentos

 Abstração Informal
Relacionamentos

 Em um DER, um relacionamento é
representado através de um losango.
Relacionamentos

Departamento Lota Pessoa

 Este modelo expressa que o BD mantém dados sobre:


1. Um conjunto de objetos classificados como pessoas (entidade
PESSOA);
2. Um conjunto de objetos classificados como departamentos (entidade
DEPARTAMENTO)
3. Um conjuntos de associações, cada uma ligando um departamento a
uma pessoa (relacionamento LOTA).
Relacionamentos
Relacionamentos

Empregado trabalha Departamento

Obs.: No caso de no DER não constar o nome do


relacionamento, este é denominado pela concatenação de
nomes das entidades participantes.

Equipamento Equipamento-Projeto Projeto


Relacionamentos
 Cardinalidade
◼ A cardinalidade determina a quantidade (mínima e
máxima) de ocorrências de relacionamentos que uma
instância de entidade pode ter com outras instâncias
de entidades.

Empregado coordena Departamento


(1,1) (0,1)

◼ A cardinalidade de uma relação é definida em cada


um dos sentidos do relacionamento por um conjunto
(x,y) onde x representa a cardinalidade mínima e y
representa a cardinalidade máxima.
Relacionamentos
 Cardinalidade
◼ A cardinalidade determina a quantidade (mínima e
máxima) de ocorrências de relacionamentos que uma
instância de entidade pode ter com outras instâncias de
entidades.

Cliente Movimenta Conta


(1,1) (0,N)

A B
Relacionamentos
 Cardinalidade

Empregado trabalha Departamento


(1,N) (1,1)

◼ A cardinalidade de uma relação é definida em cada


um dos sentidos do relacionamento por um conjunto
(x,y) onde x representa a cardinalidade mínima e y
representa a cardinalidade máxima.
Relacionamentos
 Cardinalidade
Relacionamentos
 Cardinalidade
Relacionamentos
 Cardinalidade
◼ A cardinalidade mínima é responsável por
orientar a obrigatoriedade (opcionalidade) do
relacionamento.
◼ Já a cardinalidade máxima é responsável por
definir a quantidade máxima de vezes que um
elemento pode estar associado no
relacionamento.

Empregado coordena Departamento


(1,1) (0,1)
Relacionamentos
 Cardinalidade
◼ Um empregado não precisa coordenar um
departamento para ser cadastrado. Um
empregado só pode coordenar um
departamento.
◼ Um departamento precisa ser coordenado por
um empregado para ser cadastrado. Um
departamento só pode ser coordenado por um
empregado.

Empregado coordena Departamento


(1,1) (0,1)
Relacionamentos
 Cardinalidade
◼ Um cliente não precisa movimentar uma conta
para ser cadastrado. Um cliente pode
movimentar várias contas.
◼ Uma conta precisa ser movimentada por um
cliente para ser cadastrada. Uma conta só pode
ser movimentada por um cliente.

Cliente Movimenta Conta


(1,1) (0,N)
Relacionamentos
 Cardinalidade
Outra notação para representar participação opcional ou
obrigatória:
Relacionamentos

 Participação Obrigatória/Total ou Parcial/Opcional –


outra representação
Relacionamentos

 Cardinalidade
◼ Até agora, por fins didáticos, a cardinalidade
não estava sendo representada, porém vale
destacar que seu uso é obrigatório, pois as
cardinalidades refletem regras que
obrigatoriamente devem ser representadas
em um modelo conceitual de dados.
Relacionamentos

 Cardinalidade
Relacionamentos

 Os relacionamentos devem ser lidos nos dois


sentidos, pois os mesmos não são
unidirecionais;

 Muitos dos erros na construção de modelo de


dados ocorrem por serem realizados exames
apressados sobre a cardinalidade dos
relacionamentos, efetuando-se a análise
somente no sentido de um interesse específico
do negócio, sem que se verifique a
cardinalidade no sentido inverso.
Relacionamentos

 Cardinalidade
◼ Considerando apenas as cardinalidades máximas,
tem-se os seguintes tipos de relacionamentos.

◼ Nas primeiras iterações do projeto conceitual, pode-


se usar apenas as cardinalidades máximas dos
relacionamentos. Contudo, recomenda-se que as
cardinalidades mínimas sejam definidas o quanto
antes.
Relacionamentos

 Cardinalidade
◼ Existem três tipos: Um-Para-Um, Um-Para-
Vários, Vários-Para-Vários.

Aqui na
imagem são
representados
apenas a
cardinalidade
máxima. Isso
significa que o
mínima é zero.
Relacionamentos

 Um-Para-Um (1:1)

A B
Relacionamentos

 Um-Para-Um (1:1)

Empregado coordena Departamento


(1,1) (0,1)
Relacionamentos

 Um-Para-Vários (1:N)

A B
Relacionamentos

 Um-Para-Vários (1:N)

Empregado trabalha Departamento


(1,N) (1,1)
Relacionamentos

 Vários-Para-Vários (M:N ou N:N)

A B
Relacionamentos

 Vários-Para-Vários

Empregado participa Projeto


(1,N) (0,N)

Outros exemplos:
Ex2: Fornecedor fornece Produto
Ex3: Aluno cursa disciplina
Relacionamentos

 Vários-Para-Vários (atributos no relacionamento)


Relacionamentos

 Vários-Para-Vários (atributos no relacionamento)

Aluno participa Projeto


(1,N) (0,N)
Relacionamentos

 Vários-Para-Vários (atributos no relacionamento)


Relacionamentos

 Vários-Para-Vários (atributos no relacionamento)


Relacionamentos

 Vários-Para-Vários (atributos no relacionamento)


Relacionamentos

 Vários-Para-Vários (atributos no relacionamento)


Relacionamentos

 Vários-Para-Vários (atributos no relacionamento)


Relacionamentos

 Dois relacionamentos - mais de um


relacionamento envolvendo as mesmas
entidades.

Leciona

(0,N) (1,N)

Professor Disciplina

(1,1) (0,1)

Coordena
Relacionamentos

 Dois relacionamentos entre Entidades

Lotado

(1,N) (1,1)

Empregado Departamento

(1,1) (0,1)

Gerencia
Relacionamentos
 Auto relacionamento ou Relacionamento Recursivo –
quando uma entidade pode se relacionar com ela mesma, isto é,
é um relacionamento entre ocorrências de uma mesma
entidade.
◼ Ex.: Numa empresa um empregado pode chefiar vários
empregados, porém ele também é um empregado.
Chefiado/subordinado

(0,N)

Empregado chefia

(1,1)
Relacionamentos

 Auto relacionamento – neste caso surge o conceito de


papel da entidade no relacionamento. O papel de uma
entidade em um relacionamento define que função
uma instância da entidade cumpre dentro do
relacionamento.

Uma ocorrência (instância) de pessoa


Pessoa exerce o papel de marido e a outra
ocorrência de pessoa exerce o papel
de esposa.
Marido Esposa

(0,1) (0,1)

Casamento
Relacionamentos
 Auto relacionamento ou Relacionamento Recursivo

Abstração Informal:
Relacionamentos

 Auto relacionamento
Relacionamentos
 Auto relacionamento – também usado quando desejamos
representar estruturas similares a composições com a mesma
entidade.
 A figura a seguir mostra um exemplo de utilização de um auto
relacionamento com essas características.

Produto

composto componente
(1,N) (1,N)

composição
Relacionamentos

 Auto relacionamento

liberada

(0,N)

Disciplina Pré-requisito

(0,N)

liberadora
Relacionamentos

 Auto relacionamento
Relacionamentos

 Os relacionamentos ternários expressam um fato em


que todas as entidades ocorrem simultaneamente, ou
seja, todas as ocorrências do relacionamento possuem,
sempre, ligações com todas as entidades envolvidas no
relacionamento.
Relacionamentos
 Relacionamento ternário - são relacionamentos
que ligam três entidades.

(1,1) (1,N)
Cliente Possui Conta

(1,1)

Agência
Relacionamentos

 Relacionamento ternário

(1,N) (0,N)
Aluno Cursa Disciplina

(1,1)

Professor
Relacionamentos

 Relacionamento ternário

(1,N) (1,N)
Aluno Cursa Disciplina

(1,N)

É ministrada

(1,1)

Professor
Relacionamentos

 Como descobrir a cardinalidade do


relacionamento ternário?
1. Separar a entidade ALUNO e analisar o par
PROFESSOR, DISCIPLINA. Para cada par
PROFESSOR / DISCIPLINA podemos ter de 1 até N
ALUNOS relacionados;
2. Separar a entidade PROFESSOR e analisar o par
ALUNO, DISCIPLINA. Para cada par ALUNO /
DISCIPLINA podemos ter de 1 e somente 1
PROFESSOR relacionado;
3. Separar a entidade DISCIPLINA e analisar o par
PROFESSOR, ALUNO. Para cada par PROFESSOR /
ALUNO podemos ter de 1 até N DISCIPLINAS
relacionadas;
Relacionamentos
 Relacionamento ternário
brModelo

brModelo - Ferramenta de Ensino: Modelagem de Dados (MER)

http://www.sis4.com/brModelo/download.html
Dúvidas?
Obrigada!

Você também pode gostar