You are on page 1of 49

Modelagem de

Dados/Modelo
Banco de Dados
Entidade-
Relacionamento

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, organizao;
mundo real alteraes
organismos, fatos

descries das estruturas e


informaes informais modelo descritivo das transaes

estruturas de informaes;
informaes formais modelo conceitual especificaes de manipulao

estruturas externas de dados;


dados especificaes e programas de
modelo operacional manipulao

estruturas internas de arquivos e


tabelas; programas interpretveis ou
cadeia de bits e bytes modelo interno 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) Catlogo do BD

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

Modelagem Conceitual de Dados - Slide 6


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

Atributo
Funcionrios Funcionrios composto

endereo
matricula nome endereo matricula
rua n CEP

Funcionrios Atributo multi-valorado

*telefone
matricula
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
relaciona

Entidade Fraca

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
Funcionario Gerncia

gerencia

Funcionario Pertence Departamento Binrio

Modelagem Conceitual de Dados - Slide 21


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 1
Func Utiliza Carro

Modelagem Conceitual de Dados - Slide 23


Modelo Entidade-Relacionamento
Relacionamento

Cardinalidade de relacionamento 1:N

1 N
Classi-
Filme
ficacao

Modelagem Conceitual de Dados - Slide 24


Modelo Entidade-Relacionamento
Relacionamento

Cardinalidade de relacionamento - N:M

Cada FUNC participa de quantos PROJETOS?

M N
Func Participa 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 b1
1

a b2
a
2 2

a b3
3

a b4
4

Modelagem Conceitual de Dados - Slide 26


Modelo Entidade-Relacionamento
Relacionamento

Cardinalidade de relacionamento (1:N)

a b1
1
b2
a
2
b3
a
2
b4

a b4
3

Modelagem Conceitual de Dados - Slide 27


Modelo Entidade-Relacionamento
Relacionamento

Cardinalidade de relacionamento (M:N)

a b1
1

a b2
a
2 2

a b3
3

a b4
4

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 participao parcial


min > 0 participao total

Modelagem Conceitual de Dados - Slide 31


Modelo Entidade-Relacionamento
Relacionamento
Relacionamento 1:1

Todo consumidor possui apenas um registro de dados cadastrais.

(1,1) (1,1)
Consumidor Possui Dados Cadastrais

Nome Endereo
CPF CPF

Consumidor(CPF, Nome) FK=CPF se refere a CPF de Dados Cadastrais


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
(0,1) (0,1)
Homem Casado Mulher
Nome Nome
CPF 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.

(1,n) (1,1)
Cidade Pertence Estado
populao
nome sigla
idcidade 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.

(0,1) (1,n)
Vendedor Emite Pedido
Telefone Item
Nome Quantidade
idvendedor Nmero
Vendedor(idvendedor,nome, Telefone) Data
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.

(1,m) (1,n)
Funcionrio Participa Projeto
Funo Horas trabalhadas
Nome Nome
Matrcula 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, etc.)

Modelagem 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 Terceiro

assalariado 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

(0,N) (0,M)
Medico consulta Paciente

(0,N)
data solicitacao
solicita data realizacao
resultado
(0,M)
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
data
(0,N) alocado (1,M)
Funcionario Projeto

(1,1)
periodo
reserva
data
(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. Antes de comear a modelar, conhea o mundo real.


2. Identifique quais so as ENTIDADES.
3. Para cada Entidade represente seus ATRIBUTOS.
4. Verifique a necessidade de ESPECIALIZAO.
5. 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

You might also like