Sei sulla pagina 1di 34

Projeto de Banco de Dados

Prof. Emanoel Claudino

2009

Modelagem de Dados
Parte II

1
O Modelo
Entidade--Relacionamento
Entidade

Conceito
O modelo de entidade-
entidade-relacionamento (MER) é
baseado na percepção do mundo real que consiste em
um conjunto de objetos básicos chamados entidades e
nos relacionamentos entre estes objetos.
Ele foi desenvolvido para facilitar o projeto de banco
de dados,
dados, permitindo a especificação de um esquema
de “negócio”, onde tal esquema representa a estrutura
lógica geral do banco de dados
dados..
É representado graficamente por um DER (Diagrama
Entidade Relacionamento)

2
Modelos
Modelo Conceitual
– Espelha a realidade independente da implementação
– Independência de hardware e software

Modelo Lógico
– Dependência da Abordagem
– Independência de software e hardware

Modelo Físico (modelo interno)


– Forma como os dados são implementados
– Preocupação com características físicas
– Preso ao software

Componentes do DER
Entidades
Relacionamentos

PEDIDO
CLIENTE PRODUTO

3
Entidade
Objeto que existe no mundo real com uma
identificação distinta e com um significado próprio

Qualquer “coisa” existente no negocio que


proporciona algum interesse em mantermos dados –
entidade de negócio

Algo sobre o qual desejamos guardar informações

Entidade é a representação de uma classe de dados,


um conjunto de informações de mesma característica

Entidade
Uma entidade pode ser:
– Objeto real
um livro, um carro, um local.

– Pessoa
um empregado, um aluno, um cliente.

– Conceito abstrato
um curso, uma empresa.

– Acontecimento
uma venda, uma mercadoria despachada.
– Associação
Aproveitamento de um aluno numa disciplina

4
Entidade
Como uma entidade é representada?

Aluno Livro

Cliente Departamento

Avaliação

Venda

Entidade
Ponderações
– Entidade X Instâncias
– Domínio do mundo real
– Preocupação na construção de sistemas

5
Atributo
Todo objeto para ser uma entidade deve possuir propriedades
que são descritas por atributos e valores
Esses atributos e valores, juntos, descrevem as instâncias de
uma entidade
Exemplo
– Carro: placa, marca, cor, ano de fabricação
– Cliente: nome, endereço, telefone, cpf

Cada instancia de Cliente, cada existência de um objeto da


Classe Cliente, será formada por valores nestes atributos.

Atributo
Representando atributos
Número

Nome
SSN
Projeto

Localização Nome
Empregado

Salário

Endereço

6
Atributo
Classificação
– Atributo composto
– Atributo multivalorado
– Atributo derivado
– Atributo agregado
– Atributo determinante

Atributo composto
Pode ser dividido em partes menores que representam
atributos mais básicos com significado independentes
SSN

Nome
Empregado

Salário

Logradouro
Endereço

Complemento

Número

Bairro

7
Atributo multivalorado
É um atributo assume mais de um valor para uma
mesma ocorrência de entidade.
Seu nome deve estar no plural e representado
graficamente por uma elipse dupla.
SSN

Nome
Cliente

Telefones

Atributo derivado
São os obtidos através de operações sobre outros
atributos pertencentes a mesma ocorrência-
ocorrência-de
de--
entidade (operação na horizontal).
Como exemplo citamos os totais, diferenças,
somatórios, etc. SSN

Nome

Empregado
SalárioBruto

Desconto

SalárioLíquido

8
Atributo agregado
São os obtidos por operações ou comparações entre
atributos pertencentes a ocorrências-
ocorrências-de
de--entidade
distintas de uma ou mais entidades (operação ou
comparação na vertical).
Os principais exemplos são os valores máximos,
mínimos, médias, somatórios, saldos, etc.
Código

Nome
Departamento

TotalDeEmpregados

Atributo determinante
É um atributo que identifica (determina) uma única
ocorrência da entidade.

CPF

Nome
Cliente

Endereço

9
Atributo
Propriedades dos atributos
– Definição
placa - código de id. do veículo junto ao DETRAN
– Tipo (numérico, alfa, data)
data de nascimento - data, salário - numérico
– Formato
salário bruto - 99.999,00, ano de fabricação - 9999
– Domínio
salário bruto >= 380,00
– Chave de identificação
Carro: placa, marca, modelo, ano de fabricação
Chave de identificação: placa

Descobrindo Entidades

10
Descobrindo Entidades
Conhecer os objetos principais do domínio
observado
– Perceber a realidade em diversas entidades

Não devemos considerar como entidade um


objeto, se não conseguimos ter uma visão de seu
conteúdo em instancias com valores de atributos

Descobrindo Entidades
Atividade
– Uma clinica médica necessita controlar as
consultas médicas realizadas e marcadas pelos
médicos a ela vinculados, assim como acompanhar
quem são os pacientes atendidos para manter o
acompanhamento clínico dos mesmos.

11
Descobrindo Entidades

Nome

Endereço

Paciente
Sexo CRM

Idade
Médico Nome

Especialidade

Descobrindo Entidades
Data_Consulta

CRM_Medico
Consulta

Nome_Paciente

12
Descobrindo Entidades

Consulta
Médico Paciente
Medica

Generalização e Especialização
Generalização
– Uma entidade é utilizada para representar entidades
distintas pertencentes a um mesmo macro tipo
– Na generalização colocamos todas as instâncias de
entidades diversas em uma única entidade

Especialização
– Entidades que possuem propriedades que permitam
identificar um grupo, uma classe dentro da entidade
genérica

13
Generalização e Especialização

Médico

Cardiologista Neurologista Pediatra Clinico Geral

Atividade
– Encontrar os subtipos do tipo pedido

Relacionamentos

14
Relacionamentos
O fato, o acontecimento que liga dois objetos, duas
“coisas” do mundo real

São elementos que dão sentido a existência deste


objetos e suas inter-
inter-relações, sem as quais ficaria de
extrema complexidade o entendimento e a
compreensão do domínio do problema

Casado com
João Maria

Relacionamentos
Representa um mapeamento (associação) entre as
classes de entidades.
– Exemplos:
As pessoas moram em apartamentos
Os apartamentos formam condomínios
Os condomínios localizam
localizam--se em ruas
As ruas estão em uma cidade

15
Relacionamentos
Representação

Está
Aluno Matriculado
Disciplina

Pessoas Moram Apartamentos

Relacionamentos
O relacionamento acontece nos dois sentidos
– Apenas um é necessário na modelagem
– Preferencialmente da entidade mais forte para a
mais fraca

Conta
Cliente Movimenta
Corrente

Conta É Cliente
Corrente Movimentada

16
Relacionamentos
Cardinalidade
Numero de ocorrências de uma entidade que está
associado, com ocorrências de outra entidade,
determina a cardinalidade

Relacionamentos
Cardinalidade
Relacionamento de um-
um-para
para--um (1:1)

Passageiro Poltrona de Avião

João *
* 20
Marcos *
* 12
Silvia *
*8
Bianca *
*6

17
Relacionamentos
Cardinalidade
Relacionamento de um-
um-para
para--muitos (1:N)

Empregado Departamento

João *
* RH
Marcos *
* Financeiro
Silvia *
* Compras
Bianca *

Relacionamentos
Cardinalidade
Relacionamento de muitos-
muitos-para
para--muitos (N:M)

Aluno Disciplina

João *
* PBD
Marcos *
* Redes
Silvia *
* Programação
Bianca *

18
Relacionamentos
Cardinalidade
Representação no DER

1 1 Poltrona
Passageiro Ocupa
de Avião

N 1
Empregado Lotação Departamento

N M
Aluno Cursa Disciplina

Relacionamentos
Cardinalidade
Observações
– O grau deve ser determinado analisando o
relacionamento em todos os sentidos. O maior é o
determinante

N 1
Empregado Lotação Departamento

1:1

N:1

19
Relacionamentos
Cardinalidade
Observações
– O relacionamento com cardinalidade N:M é conseqüência de
um relacionamento com cardinalidade 1:N em ambos os
sentidos
– Este tipo de relacionamento pode possui atributos, ou seja,
possui propriedades que são inerentes ao fato e não às
entidades
turma data da matricula

N M
Aluno Cursa Disciplina

1:M
N:1

Relacionamento
Cenário 01
– Em uma determinada empresa, são realizados diversos
projetos de engenharia que alocam os funcionários
disponíveis em seu quadro funcional conforme a
necessidade, ficando estes funcionários alocados a
somente um projeto até o encerramento do mesmo
Definir as entidades e relacionamentos
Onde ficaria atributos como: data de inicio e tempo de
alocação
Cenário 02
– Um funcionário pode está alocado a muitos projetos,
que são executados por vários funcionários
Quais as modificações no modelo?

20
Relacionamento
Cenário 01
Matricula Nome Codigo do Data Inicio Tempo de
Projeto do Projeto Alocação
1466 Pedro P-25 12/12/05 18 meses
2322 Luiz P-18 05/01/02 12 meses
7712 Carlos Nulo Nulo Nulo
4415 Silvia P-18 18/04/07 3 meses

Código do Projeto Nome do Projeto


P-18 Phoenix Funcionários
P-25 Minerva
P-32 Corrupt Projetos
P-55 Nova Ponte
P-203 Canal Novo

Relacionamento
Funcionários Projetos
Cenário 02
Matricula Nome Código do Projeto Nome do Projeto
P-18 Phoenix
1466 Pedro P-25 Minerva
2322 Luiz P-32 Corrupt
7712 Carlos P-55 Nova Ponte
4415 Silvia P-203 Canal Novo
Matricula Código do Data Inicio Tempo de
funcionário Projeto do Projeto Alocação Alocado
1466 P-25 12/12/05 18 meses
2322 P-18 05/01/02 12 meses
7712 Nulo Nulo Nulo
4415 P-18 18/04/07 3 meses

21
Descobrindo
Relacionamentos
Como saber qual o grau de um relacionamento
que observamos?
Será mesmo um relacionamento, ou é um
procedimento de sistema?
– Certos verbos utilizados para expressar o
relacionamento são tipicamente representações de
procedimentos.
Item de nota fiscal baixa um item de estoque
Item de nota fiscal refere
refere--se a um item de estoque

Relacionamentos
Condicionalidade
Relacionamentos que possuem uma condição,
uma qualificação para ocorrerem

Relacionamentos condicionais
– São aqueles em que nem todos ao elementos de
uma entidade A estão ligados com os elementos de
uma entidade B

Homem Casado Mulher

22
Relacionamentos
Condicionalidade
Relacionamentos incondicionais
– Todos os elementos de uma entidade estão
obrigatoriamente relacionados com um elemento,
no mínimo, da outra entidade

Mãe Possui Filho

Relacionamentos
Condicionalidade
Representação no DER

1 N
Empregado Possui Dependente

23
Relacionamentos
Condicionalidade
(1,1) (1,1) Cada entidade da classe A está associada
A B
B a uma única entidade da classe B

(1,1) (1,N) Cada entidade da classe A está associada


A B a uma ou várias entidades da classe B

(1,1) (0,1)
A B Cada entidade da classe A está associada
a zero ou uma entidade da classe B

(1,1) (0,N) Cada entidade da classe A está associada


A B a zero, uma ou várias entidades da classe B

Relacionamento
Exemplo
(1,1) (0,N)
Empregado Dependência Dependente

(0,N)

Lotação

(1,1)

Departamento

24
Entidades - Classificação
Entidade primária (forte)
– Quando existe em si e por si é concebida
– Seu conceito não carece/necessita do conceito de
outra coisa

– Exemplos:

Uma entidade da classe ALUNO precisa de um único atributo para


identificá--lo (número-
identificá (número-matrícula)
Uma entidade de classe DEPARTAMENTO pode ser identificada
pelo Codigo-
Codigo-departamento ou Sigla-
Sigla-departamento.

Entidades - Classificação
Entidade dependente (fraca)
– Não existe por si só. Sua existência está
condicionada à uma única outra entidade da qual
ela depende.
Exemplo:

Funcionário possui Filhos


Filhos

25
Entidades - Classificação
Entidade de relacionamento/associativa
– Não existe por si só. Sua existência está
condicionada a existência de duas ou mais
entidades, a partir da qual é concebida.

Exemplo:
Código
Matrícula

Aluno avaliação Disciplina


Nome Nome

Nota

Relacionamento Especiais
Relacionamento entre múltiplas entidades
– As entidades devem ser analisadas aos
aos pares
pares

Aluno N N Disciplina

Professor

– Um relacionamento múltiplo deve ser analisado com cuidado,


pois em alguns casos, o mesmo pode ser desmembrado em
mais de um relacionamento

26
Relacionamento Especiais
Relacionamento binários de um-
um-para
para--um
– Este tipo existe. É fato. Mas como implementá
implementá--los através de
referencias lógicas?
– Onde coloca-
coloca-se a chave estrangeira para efetivar, logicamente,
este relacionamento?

1 1
Nota Fiscal Remete Pedido

– A sugestão é para a chave estrangeira ser colocada no lado


que tem a possibilidade semântica de evoluir para uma
cardinalidade muitos

Relacionamento Especiais
Grau de Relacionamento
– Determina quantas entidades participam de um
relacionamento.
Binário: duas entidades ou um auto-
auto-relacionamento
Ternário: três entidades
Enário: mais que três entidades

27
Relacionamento Especiais
Grau de Relacionamento

R E1 R E2

E1

E1

E1 E2

E4 R E3

R E3

E2

E2

Relacionamento - Classificação

Agregação
– Agregação é utilizada quando se quer transformar um
relacionamento entre entidades, em uma entidade
(abstrata)
Exemplo:

N N
Meliante Assassina Vitima

N
Usa Arma

28
Relacionamento - Classificação

Agregação
Crime

N N
Meliante Assassina Vitima

Usa

Arma

Relacionamento - Classificação
Cenário
– Um medico atende a muitos pacientes, que o
consultam, e um paciente pode realizar consultas
com muitos médicos. Sempre que um paciente
consulta um medico, este fornece uma receita, que
pode ter um, ou vários remédios

29
Relacionamento - Classificação
Cenário 03

Consulta

N N
Médico Atende Paciente

Receita

Remédio

Relacionamento - Classificação
Relacionamento de especialização/generalização
– Existem muitos casos em que uma entidade representa
elementos do mundo real que se subdividem em
categorias com atributos parcialmente distintos.
Exemplo:
Empregado
ESPECIALIZAÇÃO
ESPECIALIZA
GENERALIZAÇÃO
ÃO

função

A G
U O

Administrativo Gerencial Operacional

30
Relacionamento - Classificação
Auto--relacionamento
Auto
– Ocorre entre uma entidade e ela mesma.
Exemplo:

1 N

M M
chefia Empregado Pré-requisito Disciplina

Relacionamento
Papel de uma entidade no relacionamento
– Função que a entidade desempenha em um
relacionamento

Apartamento ? Pessoa

31
Relacionamento
Papel de uma entidade no relacionamento

Está alugando

1
N
Aluga Locatário

Apartamento Pessoa

1
N Possui Locador

Tem a posse

Relacionamento
Papel de uma entidade no relacionamento

Tem como pré-requisito

M
Pré-requisito Disciplina

é pré-requisito de

32
Iniciando do Projeto
Lembre-se! O que define conceitualmente uma
Lembre-
entidade é se desejamos guardar dados para o objeto
em si
Identifique as entidades chaves no domínio
Identifique os objetos que se relacionam com estas
entidades
Analisar estudo de caso

33
This document was created with Win2PDF available at http://www.win2pdf.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.
This page will not be added after purchasing Win2PDF.

Potrebbero piacerti anche