Vous êtes sur la page 1sur 49

Banco de Dados

Modelagem de
Dados/Modelo
EntidadeRelacionamento

Livros Texto : Sistemas de Banco de Dados Fundamentos e


Aplicaes Elmasri & Navathe
Captulos 3
Sistema de Banco de Dados Silberschartz
Captrulo 2
Modelagem Conceitual de Dados - Slide 1

Modelagem de Dados
Contedo
Introduo
Fases de Projeto de BD
Ciclo de vida de BD
Modelo conceitual de BD
Modelo Entidade-Relacionamento
Entidade/Atributo/Relacionamento
Representao
Extenses
Exerccios
Modelagem Conceitual de Dados - Slide 2

Modelagem de Dados
Introduo

Abstrao da informao
Habilidade mental que permite aos seres humanos visualizarem os
problemas do mundo real com vrios graus de detalhe, dependendo
do contexto do problema.
J.Rumbaugh

Modelagem Conceitual de Dados - Slide 3

Modelagem de Dados
Introduo
(Valdemar W. Setzer)
seres, objetos,
organismos, fatos

informaes informais

informaes formais

dados

cadeia de bits e bytes

mundo real

organizao;
alteraes

modelo descritivo

descries das estruturas e


das transaes

modelo conceitual

estruturas de informaes;
especificaes de manipulao

modelo operacional

estruturas externas de dados;


especificaes e programas de
manipulao

modelo interno

estruturas internas de arquivos e


tabelas; programas interpretveis ou
executveis

Modelagem Conceitual de Dados - Slide 4

Modelagem de Dados
Introduo
Fases de Projeto de um banco de dados
Modelagem Conceitual
Procura capturar formalmente os requisitos de informao de um BD;
Projeto Lgico
Objetiva definir as estruturas de dados que implementem os requisitos
identificados na modelagem conceitual;
Projeto Fsico
Define parmetros fsicos de acesso ao BD;
Procura otimizar o desempenho do sistema em relao ao acesso aos
dados.
Modelagem Conceitual de Dados - Slide 5

Modelagem de Dados
Fase do Projeto de banco de Dados

Mini-Mundo

Independente do SGBD
Dependente do SGBD

Anlise e Coleta de
Requisitos
Requisitos do BD
Projeto Conceitual

Esquema Conceitual (Alto


Nvel)
Projeto Lgico
Mapeamento
Modelo Dados
Esquema Conceitual
(Modelo do SGBD)

Projeto
Fsico

Modelagem Conceitual de Dados - Slide 6

Catlogo do
BD

Modelagem de Dados
Cclo e Vida do BD
Anlise dos requerimentos

Projeto conceitual e lgico do banco de dados


Modelo ER
Integrao das Vises
Transformaes do MER em tabelas SQL
Normalizao das tabelas

Distribuio dos dados (opcional)


Definio do projeto fsico
Implementao do banco de dados, monitoramento e modificaes

Modelagem Conceitual de Dados - Slide 7

Modelo Conceitual de Dados


Definio

"Um modelo conceitual um modelo detalhado, que captura a estrutura


dos dados organizacional sendo independente de qualquer sistema de
gerenciamento de base de dados ... "
McFadden & Hoffer, p. 87

Coleo de ferramentas conceituais para descrio de dados,


relacionamento entre os dados, semntica e restries de dados.
Henry F. Korth
Uma coletnea de conceitos que podem ser utilizados para descrever a
estrutura de um banco de dados fornece os meios necessrios para
alcanar a abstrao de dados
Elmasri/Navathe
Modelagem Conceitual de Dados - Slide 8

Modelo Conceitual de Dados


Definio
Modelos Conceitual Comuns para Banco de Dados:

Modelo Entidade-Relacionamento
Focaliza na estrutura dos dados/metadados
No aborda a modelagem funcional
Modelo Orientado a Objeto
Modela objetos atravs do encapsulamento dos
metadados (estrutura) e mtodos (funes)

Modelagem Conceitual de Dados - Slide 9

Modelo Entidade-Relacionamento
Conceito
Modelo de dados conceitual de alto nvel bastante popular. Esse
modelo e suas variaes so frequentemente utilizados para o projeto
conceitual de aplicaes de banco de dados e por muitas ferramentas
de projeto de banco de dados
Elmasri/Navathe

O modelo de dados entidade-relacionamento baseia-se na percepo de


um universo constitudo por um grupo bsico de objetos chamados
entidades e por relacionamentos entre estes objetos. Ele foi
desenvolvido a fim de facilitar o projeto de banco de dados permitindo a
especificao de um esquema que representa a estrutura lgica global
do banco de dados

Percepo do mundo real representada por entidades e relacionamentos

Modelagem Conceitual de Dados - Slide 10

Modelo Entidade-Relacionamento
Definio
Proposto por Peter Chen [1976]
Baseado na percepo do mundo real
Qualifica todo item de informao como entidade, atributos e
relacionamento facilitando assim o entendimento tanto por
parte do projetista do banco de dados, quanto do usurio

Objetivos:
Simplicidade de representao
Ferramenta para os projetistas
Ferramenta de comunicao
Criar uma viso unificada dos dados

Modelagem Conceitual de Dados - Slide 11

Modelo Entidade-Relacionamento
Entidade
Entidade - qualquer objeto distinto a ser representado pelo banco de
dados.
Um grupo de pessoas, coisas ou eventos que compartilham um
conjunto de atributos
Identificada pelo usurio, definido pelo projetista de dados
Concretas: carro, casa, filme, produto, etc..
Abstratas: atividade, cargo, show, etc..
Instncia de uma Entidade
Uma pessoa, coisa ou evento individual
Percebido com um registro lgico

Modelagem Conceitual de Dados - Slide 12

Modelo Entidade-Relacionamento
Atributo
Atributo - informaes teis a respeito de uma entidade ou
relacionamento, so independentes de todas as demais entidades.
Tipos de atributo :
determinante:
seu valor representa uma instncia da entidade
seu valor nico por instncia da entidade
deve ser sublinhado
composto
necessita ser dividido em sub-atributos, para que seu significado
seja melhor compreendido
multi-valorado
pode assumir mais do que um valor para cada entidade,
diferenciado com um (*)
Modelagem Conceitual de Dados - Slide 13

Modelo Entidade-Relacionamento
Atributo
Domnio de um atributo - determina o conjunto de valores vlidos de
um atributo
Ex : Idade numrico (0,120)
Nome texto de 30 posies

Representao no Diagrama de Entidade-Relacionamento(DER)

Entidade

Atributos
Modelagem Conceitual de Dados - Slide 14

Modelo Entidade-Relacionamento
Representao entidade/atributo

Funcionrios

Funcionrios

matricula nome endereo

endereo
matricula

Funcionrios

matricula

Atributo
composto

rua

n CEP

Atributo multi-valorado

*telefone

Modelagem Conceitual de Dados - Slide 15

Modelo Entidade-Relacionamento
Representao entidade/atributo
Entidade
Nome da entidade = (atributo1, atributo2, , atributon)
Atributo
Identificador - sublinhado
Multivalorados - {}
Compostos - ( )
Ex.
Carro = (Placa,Registro(Numero, Estado),Modelo, {cor})
(BSA3321, (234,Bahia), Corsa,{azul,branco})
(VIT3521, (317,Bahia), Corsa,{vermelho,preto})

Modelagem Conceitual de Dados - Slide 16

Modelo Entidade-Relacionamento
Representao entidade/atributo

Exerccio 1 - Definir trs entidades de um sistema de matrcula de alunos


numa universidade com seus respectivos atributos e criar uma instncia
para cada entidade.

Modelagem Conceitual de Dados - Slide 17

Modelo Entidade-Relacionamento
Tipos de Entidade
Fortes - so entidades de dados que possuem alto grau de
independncia com relao existncia e identificao.
Fracas - so entidades que possuem dependncia de existncia e de
identificao. Esto sempre ligadas outras entidades fortes por
relacionamentos. As entidades fracas possuem as seguintes
propriedades:
Devem ser consideradas como pertencentes a somente uma outra
entidade (forte ou fraca).
Devem ter pelo menos um relacionamento estabelecido com a
forte.
Devem ter pelo menos uma identificao parcial prpria.
Devem ter pelos menos uma identificao da forte com que se
Entidade Fraca
relaciona
Modelagem Conceitual de Dados - Slide 18

Modelo Entidade-Relacionamento
Atributo de identificao e de conexo

Chave Primria: Identifica uma nica instncia de entidade (entidade)


numa entidade (conjunto de entidades) e uma instncia de
relacionamento (relacionamento) num relacionamento (conjunto de
relacionamentos).
Chave Candidata: Atributo da entidade passvel de se tornar uma
chave primria.
Chave Estrangeira: Atributo da entidade que representa a chave
primria de outra entidade.

Modelagem Conceitual de Dados - Slide 19

Modelo Entidade-Relacionamento
Relacionamento
Entidades no esto isoladas, necessrio identificar relacionamentos para
representar corretamente o ambiente observado.
uma associao lgica entre as diversas entidades. So representados
por losangos.

Entidade 1

Relaciona

Entidade 2

Modelagem Conceitual de Dados - Slide 20

Modelo Entidade-Relacionamento
Relacionamento
Grau do relacionamento
Nmero de entidades que participam no relacionamento
gerenciado

Unrio
Gerncia

Funcionario
gerencia

Funcionario

Pertence

Departamento

Modelagem Conceitual de Dados - Slide 21

Binrio

Modelo Entidade-Relacionamento
Relacionamento
Fornecedor

Ternrio

Pea

Projeto

Modelagem Conceitual de Dados - Slide 22

Modelo Entidade-Relacionamento
Relacionamento
Cardinalidade - o nmero de instncias de uma entidade que podem
ser associados com instncias de outra entidade

Cardinalidade de relacionamento 1:1

1
Func

Utiliza

Carro

Modelagem Conceitual de Dados - Slide 23

Modelo Entidade-Relacionamento
Relacionamento

Cardinalidade de relacionamento 1:N

Classificacao

N
Filme

Modelagem Conceitual de Dados - Slide 24

Modelo Entidade-Relacionamento
Relacionamento
Cardinalidade de relacionamento - N:M

Cada FUNC participa de quantos PROJETOS?

Func

M
Participa

N
Projeto

Cada PROJETO tem a participao de quantos FUNC?


Modelagem Conceitual de Dados - Slide 25

Modelo Entidade-Relacionamento
Relacionamento
Cardinalidade de relacionamento Um-para-Um (1:1)

a
1

b1

a
2

b2
a
2

a
3

b3

a
4

b4

Modelagem Conceitual de Dados - Slide 26

Modelo Entidade-Relacionamento
Relacionamento
Cardinalidade de relacionamento (1:N)

a
1

b1
b2
a
2
b3

a
2

b4

a
3

b4

Modelagem Conceitual de Dados - Slide 27

Modelo Entidade-Relacionamento
Relacionamento
Cardinalidade de relacionamento (M:N)

a
1

b1

a
2

b2
a
2

a
3

b3

a
4

b4

Modelagem Conceitual de Dados - Slide 28

Modelo Entidade-Relacionamento
Notaes para DER

Entidade

Entidade fraca
Relacionamento

Atributos

Modelagem Conceitual de Dados - Slide 29

Modelo Entidade-Relacionamento
Relacionamento

Exerccio 2 - Definir o relacionamento entre as entidades Cliente,


Agncia e Conta Corrente, apontando a cardinalidade dos
relacionamentos. Neste problema o cliente pode possuir vrias conta
corrente. Uma conta corrente pertence a uma Agncia. Uma conta
corrente pode possuir mais de um cliente.

Modelagem Conceitual de Dados - Slide 30

Modelo Entidade-Relacionamento
Relacionamento
Modalidade: Associaes mandatrias e opcionais
Associar um par de nmeros inteiros (min, max) a cada
participao de um tipo de entidade E em um tipo de
relacionamento R

(Elmasri/Navathe)

min = 0
min > 0

participao parcial
participao total

Modelagem Conceitual de Dados - Slide 31

Modelo Entidade-Relacionamento
Relacionamento
Relacionamento 1:1
Todo consumidor possui apenas um registro de dados cadastrais.

Consumidor
Nome
CPF

(1,1)

Possui

(0,1)

Dados Cadastrais
Endereo
CPF

Consumidor(CPF, Nome)
Dados Cadastrais(CPF, Endereo) FK=CPF se refere a CPF de Consumidor
* Representar a chave estrangeira com grifado pontilhado
Modelagem Conceitual de Dados - Slide 32

Modelo Entidade-Relacionamento
Relacionamento
Relacionamento 1:1 (no obrigatrio)
Um homem pode ser casado com uma nica mulher. Uma mulher
pode ser casa com um nico homem.
Data

Homem
Nome
CPF

(0,1)

Casado

(0,1)

Mulher
Nome
CPF

Homem(CPF, Nome)
Mulher(CPF,
Nome)
Casado(CPFHomem, CPFMulher, DataCasamento) FK1=CPFHomem se
refere a CPF de Homem
FK2=CPFMulher se refere a CPF de Mulher
Modelagem Conceitual de Dados - Slide 33

Modelo Entidade-Relacionamento
Relacionamento
Relacionamento 1:n
Toda cidade pertence a apenas um estado. Um estado deve ter
vrias cidades.

Cidade
populao
nome
idcidade

(0,n)

Pertence

(1,1)

Estado
sigla
nome
idestado

Cidade(idcidade, nome, populao, idestado) FK=idestado se refere a chave


primria de Estado
Estado(idestado, nome, sigla)
Modelagem Conceitual de Dados - Slide 34

Modelo Entidade-Relacionamento
Relacionamento
Relacionamento 1:n (no obrigatrio)
Todo vendedor emite vrios pedidos de compra. Um pedido
de compra pode ser emitido atravs da Internet sem o
envolvimento do vendedor.

Vendedor
Telefone
Nome
idvendedor

(0,1)

Emite

(1,n)

Pedido
Item
Quantidade
Nmero
Data

Vendedor(idvendedor,nome, Telefone)
Pedido(Nmero, Item, Quantidade, data, idvendedor)
FK=idvendedor se refere a chave primria de Vendedor

Modelagem Conceitual de Dados - Slide 35

Modelo Entidade-Relacionamento
Relacionamento
Relacionamento m:n (obrigatrio)
Todo funcionrio participa de pelo menos um projeto. Cada
projeto tem a participao de um ou vrios funcionrios.

Funcionrio
Funo
Nome
Matrcula

(1,m)

Participa

(0,n)

Projeto

Horas trabalhadas
Nome
Cdigo

Funcionario(Matricula, Nome, Funo)


Projeto(Codigo, Nome)
Participa(MatFunc, CodProjeto, HorasTrabalhadas)
FK1=MatFunc se refere a Matricula de Funcionario
FK2=CodProjeto se refere a Codigo de Projeto
Modelagem Conceitual de Dados - Slide 36

Modelo Entidade-Relacionamento
Relacionamento
Exerccio 3
Fazer um DER apresentando as entidades Empregado, Departamento,
Dependentes de Empregado e Projetos, seus atributos, relacionamentos e
respectivas cardinalidades e modalidade de relacionamento. Realize tambm
os mapeamentos.
Neste problema um empregado sempre est alocado a um departamento,
cada departamento gerenciado por um gerente e ser importante saber a
data que este gerente iniciou na gerncia.
O empregado pode ou no possuir dependentes. Se os empregados so
casados, apenas um deles pode declarar os dependentes.
Um empregado pode ou no trabalhar em um ou mais projetos e a
quantidade de horas trabalhadas em cada projeto deve ser registrada. Um
projeto dever conter no mnimo um empregado alocado. Todo projeto
controlado por um departamento.
Do empregado precisamos conhecer todas as suas informaes cadastrais, de
seus dependentes apenas o nome, sexo, data de nascimento e parentesco
(filho, neto, pai, me,Modelagem
etc.)
Conceitual de Dados - Slide 37

Modelo Entidade-Relacionamento
Extenses
O modelo E-R no conseguia refletir alguns fatos do mundo real, foi

necessrio estende-lo para que a modelagem conceitual fosse o mais


fiel possvel
Novos elementos foram introduzidos para tornarem a tcnica mais
rica em semntica e alargar o ambito de sua aplicao
Generalizao/Especializao
Quando dado um subconjunto de instncias de uma entidade,
pedemos v-lo como elemento pertencente tanto a um subconjunto
distinto quanto ao conjunto maior.
As caractersticas comuns a todas as instncias devem ser
alocadas numa entidade generalizadora e sero herdadas pelas
especializaes
As caractersticas especficas so alocadas s especializaes
Modelagem Conceitual de Dados - Slide 38

Modelo Entidade-Relacionamento
Extenses
Especializao
Considerando uma entidade uma classe, especializar subdividir a
classe em subclasses. A classe ou entidade principal tambm
chamada de superclasse.

Colaborador

Funcionrio

Terceiro

Modelagem Conceitual de Dados - Slide 39

Modelo Entidade-Relacionamento
Extenses
Especializao
Funcionrio

Secretria

Engenheiro
Tcnico

Velocidade datilog.

Tipo
Grau

Funcionario(Maticula, Nome, Endereco, Salario, TipoTrabalho)


Secretaria(Matricula, VelocidadeDatilografia)
Tecnico (Matricula, Grau)
Engenheiro (Matricula, Tipo)
Modelagem Conceitual de Dados - Slide 40

Modelo Entidade-Relacionamento
Extenses
Especializao
Define um conjunto de subclasses de um tipo de entidade
Estabelece atributos especficos e adicionais para cada subclasse

Colaborador

Funcionrio
assalariado

Terceiro
por hora

Modelagem Conceitual de Dados - Slide 41

Modelo Entidade-Relacionamento
Extenses
Generalizao
Inverso da Especializao. Ocorre quando uma superclasse
(entidade) um agrupamento de subclasses (entidades).
Representao do conjunto global
Processo inverso de especializao, define apenas as
carcatersticas comuns

Pessoa
Homem

Mulher

Modelagem Conceitual de Dados - Slide 42

Modelo Entidade-Relacionamento
Extenses
Generalizao
Funcionrio

Secretria

Engenheiro
Tcnico

Velocidade datilog.

Tipo
Categoria

Funcionario(Maticula, Nome, Endereco, Salario, TipoTrabalho)


Secretaria(Matricula, VelocidadeDatilografia)
Tecnico (Matricula, Categoria)
Engenheiro (Matricula, Tipo)
Modelagem Conceitual de Dados - Slide 43

Modelo Entidade-Relacionamento
Extenses
Especializaes/Generalizao
H um relacionamento entre a superclasse e as subclasses
Especializao considerada uma diviso em duas ou mais
entidades e no entidades diferentes
Os relacionamentos podem ser estabelecidos entre a superclasse
e as subclasses

Modelagem Conceitual de Dados - Slide 44

Modelo Entidade-Relacionamento
Extenses
Agregao
Abstrao da informao onde relacionamentos so tratados como
entidades em nvel mais alto
So usadas quando desejamos associar um relacionamento a uma
entidade atravs de um outro relacionamento.

Modelagem Conceitual de Dados - Slide 45

Modelo Entidade-Relacionamento
Extenses
Agregao
data consulta

Medico

(0,N)

consulta

(0,N)
solicita

(0,M)

(0,M)

Paciente

data solicitacao
data realizacao
resultado

Exame
Medico(CodMedico, Nome, ...)
Paciente(CodPaciente, Nome, ...)
Consulta(CodMedico, CodPaciente, DataConsulta)
Exame(CodExame, Descricao, ...)
SolicitacaoExame(CodMedico,CodPaciente,CodExame,DataSolicitacao,
DataRealizacao,Resultado)
Modelagem Conceitual de Dados - Slide 46

Modelo Entidade-Relacionamento
Extenses
Agregao
Permite relacionamento entre relacionamentos tratando o
relacionamento como uma entidade abstrata

Modelagem Conceitual de Dados - Slide 47

Modelo Entidade-Relacionamento
Extenses
Agregao
Funcionario

(0,N)

periodo
data

alocado

data
(1,M)

Projeto

(1,1)
reserva
(1,N)

Maquina
Funcionario(Matricula, Nome, ...)
Projeto(CodProjeto, NomeProjeto, ...)
AlocacaoProjeto(Matricula, CodProjeto, DataAlocacao)
Reserva(Matricula,CodProjeto,CodMaquina, DataReserva, Periodo)
Maquina(CodMaquina, Processador, Memria, ...)
Modelagem Conceitual de Dados - Slide 48

Modelo Entidade-Relacionamento
Recomendaes para criao de um DER
1.
2.
3.
4.
5.

Antes de comear a modelar, conhea o mundo real.


Identifique quais so as ENTIDADES.
Para cada Entidade represente seus ATRIBUTOS.
Verifique a necessidade de ESPECIALIZAO.
Confronte cada Entidade consigo mesma e com as demais na
procura de possveis RELACIONAMENTOS.
6. Verifique a existncia de ATRIBUTOS DE RELACIONAMENTO.
7. Identifique as cardinalidades dos relacionamentos
8. Para relacionamentos mltiplos estude a necessidade de
AGREGAES.
9. Desenhe o DER, com todas as Entidades, Atributos e
Relacionamentos.
10.Analise cuidadosamente todas as restries que voc imps.
11.At que voc e os seus usurios estejam convencidos de que
o DER reflete fielmente o mundo real, volte ao item 1.
Modelagem Conceitual de Dados - Slide 49