Você está na página 1de 85

Modelagem de Dados e Converso de Modelos

Frederico Damasceno Bortoloti freddb@ltc.ufes.br

Objetivo
Teoria e prtica de projeto de Bancos de Dados Relacionais (BDRs) Foco: modelagem conceitual e lgica de BDRs
Dicas avanadas de modelagem entidaderelacionamento (ER) Regras detalhadas de mapeamento ER-relacional

Bibliografia principal
Projeto de Banco de Dados - Carlos Alberto Heuser 5a Ed. Srie Livros Didticos Instituto de Informtica da UFRGS, nmero 4. Editora Sagra-Luzzatto, 2004. www.ltc.ufes.br, Banco de Dados

Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios

3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios

Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios

3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios

Projeto de Banco de Dados


Parte integrante do desenvolvimento de um sistema de informao
preocupao com a representao adequada de dados operacionais

Atividade de projeto de BD
modelagem de dados em diferentes nveis de abstrao
nvel conceitual, lgico e fsico

Projeto de BD - Etapas
Anlise de Requisitos

Modelagem Conceitual

Modelagem Lgica

Modelagem Fsica

Projeto de BD - Etapas
Anlise de Requisitos Coleta de informaes sobre os dados, suas restries e seus relacionamentos na organizao Forma de realizao: reunies com os usurios; observao do funcionamento da organizao Resultado: documento com a especificao de requisitos

Modelagem Conceitual

Modelagem Lgica

Modelagem Fsica

Projeto de BD - Etapas
Anlise de Requisitos Especificao de requisitos Modelagem Conceitual Modelagem dos dados e seus relacionamentos independente da estrutura de representao do SGBD (modelagem conceitual) Forma de realizao: anlise da especificao de requisitos Resultado: esquema conceitual + restries de integridade

Modelagem Lgica

Modelagem Fsica

Vantagens da Modelagem Conceitual


Abstrao de dados de alto nvel
indicao de dados e seus relacionamentos da forma como percebidos no mundo real independncia de detalhes de representao de SGBDs

Fcil compreenso pelo usurio leigo


facilita a validao da modelagem dos dados

Facilita a manuteno dos dados


modificao dos requisitos migrao de SGBD

Traduo para qualquer modelo de SGBD

Projeto de BD - Etapas
Anlise de Requisitos Especificao de requisitos Modelagem Conceitual Esquema conceitual Modelagem Lgica Converso do esquema conceitual para o esquema de representao de um SGBD (esquema lgico) Forma de realizao: aplicao de regras de converso Resultado: esquema lgico (tabelas,
RIs, transaes, consultas relevantes e vises, autorizaes de acesso, ...)

Modelagem Fsica

Projeto de BD - Etapas
Anlise de Requisitos Especificao de requisitos Modelagem Conceitual Definio do esquema lgico em um SGBD adequado ao modelo Esquema conceitual Forma de realizao: SQL Resultado: esquema fsico Modelagem Lgica Esquema lgico Modelagem Fsica

Projeto de BD - Etapas
Anlise de Requisitos Especificao de requisitos Modelagem Conceitual Esquema conceitual Modelagem Lgica Esquema lgico Modelagem Fsica Esquema fsico ou implementao

Projeto de BD - Etapas
Modelagem Conceitual
preocupao: correta abstrao do mundo real
(captura correta da semntica da aplicao)

Modelagem Lgica + Fsica


preocupao: escolhas corretas na converso para o esquema do SGBD (relacional) para maximizar o desempenho
(distribuio adequada dos dados em tabelas)

Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios

3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios

Modelagem Conceitual Modelo ER


Modelo definido por Peter Chen em 1976
modelo sofreu diversas extenses e notaes ao longo do tempo

Padro para modelagem conceitual de BD


modelo simples
poucos conceitos

representao grfica modelo de fcil compreenso

Um esquema conceitual de BD tambm chamado de diagrama ER

Modelo ER - Notao
a1 a5 a6 a7
(1,1)

a4 (0,1)
(0,3) papel 1 (0,N)

a2 (0,N)

(1,N)

E1
(1,N)

r1
a3

E2
papel 2 (1,1)

r3

E3

r2
(1,N)

E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

a8 (1,N)

E4
p

r4
(0,N)

r5
(0,N)

r6
(0,1)

a9

E5

E6
a10

E9

E10
a12

E12
a13

Modelo ER - Notao
a1 a5 a6 a7
(1,1)

a4 (0,1)
(0,3) papel 1 (0,N)

a2 (0,N)

(1,N)

E1
(1,N)

r1
a3

E2
papel 2 (1,1)

r3

E3

r2

entidade
(1,N)

E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

a8 (1,N)

E4
p

r4
(0,N)

r5
(0,N)

r6
(0,1)

a9

E5

E6
a10

E9

E10
a12

E12
a13

Modelo ER - Notao
a1 a5 a6 a7
(1,1)

a4 (0,1)
(0,3) papel 1 (0,N)

a2 (0,N)

(1,N)

E1
(1,N)

r1
a3

E2
papel 2 (1,1)

r3

E3

r2
(1,N)

E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

a8 (1,N)

E4
p
(0,N)

entidade fraca
a9

r4

r5
(0,N)

r6
(0,1)

E5

E6
a10

E9

E10
a12

E12
a13

Modelo ER - Notao
a1 a5 a6 a7
(1,1)

a4 (0,1)
(0,3) papel 1 (0,N)

entidade associativa
r3
papel 2 (1,1)

a2 (0,N)

(1,N)

E1
(1,N)

r1
a3

E2

E3

r2
(1,N)

E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

a8 (1,N)

E4
p

r4
(0,N)

r5
(0,N)

r6
(0,1)

a9

E5

E6
a10

E9

E10
a12

E12
a13

Modelo ER - Notao
a1 a5 a6 a7
(1,1)

a4 (0,1)
(0,3)

relacionamento
papel 1 (0,N)

a2 (0,N)

(1,N)

E1
(1,N)

r1
a3

E2
papel 2 (1,1)

r3

E3

r2
(1,N)

E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

a8 (1,N)

E4
p

r4
(0,N)

r5
(0,N)

r6
(0,1)

a9

E5

E6
a10

E9

E10
a12

E12
a13

Modelo ER - Notao
auto-relacionamento
a1 a5 a6 a7
(1,1)

a4 (0,1)
(0,3) papel 1 (0,N)

a2 (0,N)

(1,N)

E1
(1,N)

r1
a3

E2
papel 2 (1,1)

r3

E3

r2
(1,N)

E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

a8 (1,N)

E4
p

r4
(0,N)

r5
(0,N)

r6
(0,1)

a9

E5

E6
a10

E9

E10
a12

E12
a13

Modelo ER - Notao
relacionamento ternrio
a5 a6 a7
(1,1)

a1
(1,N)

a4 (0,1)
(0,3) papel 1 (0,N)

a2 (0,N)

E1
(1,N)

r1
a3

E2
papel 2 (1,1)

r3

E3

r2
(1,N)

E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

a8 (1,N)

E4
p

r4
(0,N)

r5
(0,N)

r6
(0,1)

a9

E5

E6
a10

E9

E10
a12

E12
a13

Modelo ER - Notao
a1 a5 a6 a7
(1,1)

a4 (0,1)
(0,3) papel 1 (0,N)

a2 (0,N)

(1,N)

E1
(1,N)

r1
a3

E2
papel 2 (1,1)

r3

E3

r2
(1,N)

a8 (1,N)

E4
p

atributo identificador E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

r4
(0,N)

r5
(0,N)

r6
(0,1)

a9

E5

E6
a10

E9

E10
a12

E12
a13

Modelo ER - Notao
atributo monovalorado
a5 a6 a7
(1,1)

a1
(1,N)

a4 (0,1)
(0,3) papel 1 (0,N)

a2 (0,N)

E1
(1,N)

r1
a3

E2
papel 2 (1,1)

r3

E3

r2
(1,N)

E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

a8 (1,N)

E4
p

r4
(0,N)

r5
(0,N)

r6
(0,1)

a9

E5

E6
a10

E9

E10
a12

E12
a13

Modelo ER - Notao
a1 a5 a6 a7
(1,1)

a4 (0,1)
(0,3)

atributo multivalorado
papel 1 (0,N)

a2 (0,N)

(1,N)

E1
(1,N)

r1
a3

E2
papel 2 (1,1)

r3

E3

r2
(1,N)

E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

a8 (1,N)

E4
p

r4
(0,N)

r5
(0,N)

r6
(0,1)

a9

E5

E6
a10

E9

E10
a12

E12
a13

Modelo ER - Notao
a1 a5 a6 a7
(1,1)

a4 (0,1)
(0,3)

atributo composto
papel 1 (0,N)

a2 (0,N)

(1,N)

E1
(1,N)

r1
a3

E2
papel 2 (1,1)

r3

E3

r2
(1,N)

E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

a8 (1,N)

E4
p

r4
(0,N)

r5
(0,N)

r6
(0,1)

a9

E5

E6
a10

E9

E10
a12

E12
a13

Modelo ER - Notao
atributo obrigatrio
a5 a6 a7
(1,1)

a1
(1,N)

a4 (0,1)
(0,3) papel 1 (0,N)

atributo opcional
r3
papel 2 (1,1)

a2 (0,N)

E1
(1,N)

r1
a3

E2

E3

r2
(1,N)

E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

a8 (1,N)

E4
p

r4
(0,N)

r5
(0,N)

r6
(0,1)

a9

E5

E6
a10

E9

E10
a12

E12
a13

Modelo ER - Notao
especializao parcial
a5 a6 a7
(1,1)

a1
(1,N)

a4 (0,1)
(0,3)

especializao total
papel 1 (0,N)

a2 (0,N)

E1
(1,N)

r1
a3

E2
papel 2 (1,1)

r3

E3

r2
(1,N)

E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

a8 (1,N)

E4
p

r4
(0,N)

r5
(0,N)

r6
(0,1)

a9

E5

E6
a10

E9

E10
a12

E12
a13

Modelo ER - Notao
especializao exclusiva
a5 a6 a7
(1,1)

a1
(1,N)

a4 (0,1)
(0,3)

especializao no-exclusiva
papel 1 (0,N)

a2 (0,N)

E1
(1,N)

r1
a3

E2
papel 2 (1,1)

r3

E3

r2
(1,N)

E7
(1,1)

E8
(1,N)

E11
a11
(1,1)

a8 (1,N)

E4
p

r4
(0,N)

r5
(0,N)

r6
(0,1)

a9

E5

E6
a10

E9

E10
a12

E12
a13

Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios

3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios

Dicas de Modelagem Conceitual


Entidade X Atributo
a opo por entidade vlida se existem propriedades (atributos e relacionamentos) e transaes relevantes para o fato
Empregados
salrio

deduoIRPF valorBruto
(1,N) remunerao (1,1)

Empregados

Salrios
gratificao

categoria valorLquido

Dicas de Modelagem Conceitual


Entidade X Atributo Composto
a opo por atributo composto vlida se existe noo de agregao
imvel

Pessoas

localizao valor

aplicao comercial (setor de credirio de uma loja)

localizao
(0,N) proprietrio (1,1)

Pessoas

Imveis

valor

aplicao de negcio imobilirio

Dicas de Modelagem Conceitual


Entidade X Atributo Multivalorado
a opo por atributo multivalorado vlida se existe noo de agregao
Pessoas
telefone(0,N)

aplicao comercial (setor de credirio de uma loja) DDD


(0,1) proprietrio (1,N)

Pessoas

Linhas Telefnicas

nmero

aplicao: companhia telefnica

Dicas de Modelagem Conceitual


Entidade Fraca X Atributo
a opo por atributo vlida se o fato no possui outros relacionamentos
Pedidos
itens (1,N) descrio quantidade valor nmero quantidade
(1,1) (1,N) composio

Pedidos

Itens
(0,N) (1,1) referncia

Produtos

Dicas de Modelagem Conceitual


Entidade X Relacionamento
admite-se representaes equivalentes
a opo por relacionamento recomendada se no existem propriedades associadas ao fato a opo por entidade recomendada se existe um identificador explcito para o fato (ex.: ID da consulta)
nome CRM
(0,N)

hora
(0,N)

nome cdigo

Mdicos
nome CRM
(1,1)

consulta
data
(0,N)

Pacientes

nome
(0,N) (1,1)

Mdicos

Consultas
data hora

Pacientes

cdigo

Dicas de Modelagem Conceitual


Entidade X Relacionamento
a opo por entidade introduz uma indireo na associao entre fatos
no recomendvel, especialmente para casos umpara-um e um-para-muitos
no geram o mesmo banco de dados relacional!
nome CPF
(0,1) (0,N)

marca chassi marca


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

Pessoas
nome CPF
(1,1)

posse

Automveis

Pessoas

Posses

Automveis

chassi

Dicas de Modelagem Conceitual


Entidade X Entidade Associativa
admite-se representaes equivalentes
levar em conta as recomendaes do caso anterior (entidade X relacionamento)
nome CRM
(0,N)

hora
(0,N)

nome cdigo

Mdicos

consulta
data
(0,N)

Pacientes

Consultas
nome
(0,N)

intervaloHoras

prescrio

Medicamentos

cdigo

Dicas de Modelagem Conceitual


Entidade X Entidade Associativa
nome CRM
(1,1) (0,N) (0,N) (1,1)

nome

Mdicos

Consultas
data
(0,N)

Pacientes

cdigo

hora nome
(0,N)

intervaloHoras

prescrio

Medicamentos

cdigo

Dicas de Modelagem Conceitual


Entidade Associativa X Relacionamento N-rio
recomenda-se a opo por relacionamento n-rio apenas se a participao for obrigatria para todas as entidades
evita problemas de identificao do relacionamento
nome CPF
(1,N) (1,N)

nome

Empregados
nome

alocao
(1,N)

Projetos

cdigo

Tarefas

cdigo

Dicas de Modelagem Conceitual


Entidade Associativa X Relacionamento N-rio
recomenda-se a opo por entidade associativa se a participao no for obrigatria para todas as entidades
nome CPF
(1,N) (0,N)

nome

Empregados

alocao

Projetos

cdigo

Alocaes
(0,N) (0,N)

nome

execuo

Tarefas

cdigo

Dicas de Modelagem Conceitual


Relacionamento X Especializao
a opo por especializao vlida se houver uma associao um-para-um entre as entidades participantes
nome CPF nome CPF

Pessoas
titulao

Pessoas
(0,N)

formao
(1,N)

habilitao tempo experincia

Professores
aplicao universitria

cdigo

Professores

aplicao de uma escola de msica

Dicas de Modelagem Conceitual


Atributo X Especializao
a opo por especializao valida se houver atributos e/ou relacionamentos relevantes para os fatos especializados
funo nome CPF nome CPF

Pessoas
CREA

Pessoas
nroHabilitao

Engenheiros

Motoristas

Dicas de Modelagem Conceitual


Atributo X Especializao
ateno: atributos opcionais podem sugerir a modelagem de uma entidade especializada
nroHabilitao (0,1) veculosHabilitados (0,N) nome CPF

Pessoas

nome

CPF

Pessoas
nroHabilitao

veculosHabilitados (1,N)

Motoristas

Dicas de Modelagem Conceitual


Limitaes no poder de expresso!
exige a documentao de restries de integridade em anexo
(0,N) supervisionado

Empregados
(0,1)

superviso
supervisor

RIs: - um empregado no pode ser supervisor de si prprio - ciclos em hierarquias de superviso no so permitidos (0,1)

(0,N)

emCurso G emCurso PG

Graduao Cursos Ps-Graduao


aplicao de um depto universitrio

Alunos

(0,N)

(0,1)

RIs: - um aluno no pode estar cursando ambos os cursos - um aluno deve estar cursando pelo menos um dos cursos

Dicas de Modelagem Conceitual


Considerao de aspectos temporais
ateno: alteram a modelagem conceitual!
Empregados
instantneo salrio
(1,1)

valor
(1,N) remunerao

data

Empregados

Salrios

temporal

Empregados

(0,N)

(1,1)

lotao data

Departamentos

instantneo

Empregados

(0,N)

(1,N)

lotao

Departamentos

temporal

Dicas de Modelagem Conceitual


Entidade isolada
pode-se admitir a sua representao
Escolas
(1,1) (0,N)

definio

Home-Pages
(mostrada aleatoriamente sempre que uma home-page aberta)

DicasDidticas OK !

Empresa Empregados
(0,N) (1,1)

lotao

Departamentos

OK ?

Dicas de Modelagem Conceitual


Validao do esquema conceitual
substantivos para nomes de relacionamentos
minimizam a redundncia de nomes nomes mais adequados para futuros conceitos lgicos (tabelas, atributos)

cardinalidade de relacionamentos
na dvida, definir cardinalidades opcionais
menos restritivas reduzem os controles de integridade no BD dependncias de insero e controles na atualizao
(1,1) (1,1)

possui
(1,N)

Setores

reviso

lotao
(0,N)

Setores

Mquinas

Mquinas

Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios

3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios

Ferramenta brModelo
Modelagem conceitual ER notao Peter Chen Mapeamento semi-automtico ER-relacional Armazenamento XML de modelagens

Exerccio Modelagem 1 - Clnica


Cada mdico que trabalha na clnica identificado pelo seu CRM, possui um nome, uma data de admisso na clnica e um salrio. Um mdico tem formao em diversas especialidades (ortopedia, traumatologia, etc), mas s exerce uma delas na clnica. Para todo paciente internado na clnica so cadastrados alguns dados pessoais: cdigo (nico), nome, RG, CPF, endereo, telefone(s) para contato e data do nascimento. Um paciente tem sempre um determinado mdico como responsvel, com um horrio de visita dirio predeterminado. Pacientes esto sempre internados em quartos individuais, que so identificados por um nmero e esto em um andar da clnica.

Exerccio 2 - Museu
Cada obra no museu possui um cdigo, um ttulo e um ano. Obras ou so pinturas ou so esculturas. No primeiro caso, so dados importantes o estilo (por exemplo, impressionista). No caso de esculturas, so importantes o peso e os materiais de que feita (por exemplo, argila, madeira, etc). Uma obra pode estar exposta em um nico salo, em uma determinada posio neste salo. Um salo, que geralmente abriga vrias obras, identificado por um nmero e est em um andar do museu. Certos dados a respeito dos autores de cada obra tambm so relevantes: cdigo, nome e nacionalidade. Uma obra produzida por apenas um autor, porm, pode existir mais de uma obra de um mesmo autor no museu. No museu trabalham funcionrios, cada um possuindo um ID, CPF, um nome e um salrio. Funcionrios ou so guardas ou so restauradores de obras. No primeiro caso, mantm-se dados sobre a hora de entrada e hora de sada. No caso de restauradores, qual a sua especialidade. Um guarda responsvel pela segurana de um nico salo, que pode ser vigiado por vrios guardas. Um restaurador pode estar realizando a manuteno de vrias obras. Uma obra, caso esteja em manuteno, est nas mos de apenas um restaurador. Para cada manuteno deve-se registrar a data de incio e a data prevista de trmino do trabalho, uma descrio do servio a ser feito e um custo previsto para realizar a manuteno. Uma manuteno pode estar utilizando uma ou mais matrias-primas. Uma matria-prima possui um cdigo, um nome e uma quantidade em estoque. Uma matria-prima pode estar sendo utilizada em vrias manutenes, em uma certa quantidade.

Exerccio 3 (se der tempo...) - Biblioteca


Um livro tem vrios exemplares na biblioteca, como por exemplo, Liv1-Ex1, Liv1-Ex2, Liv2-Ex1. Exemplares esto dispostos em estantes. So mantidos dados detalhados sobre autores e editoras dos livros para fins de consulta. Na biblioteca trabalham bibliotecrias. Cada estante periodicamente organizada por uma nica bibliotecria. Bibliotecrias tambm realizam emprstimos de exemplares para clientes. Emprstimos cadastrados no BD devem conter a data da devoluo e o valor dirio da multa, permanecendo no BD at o cliente entregar o exemplar. A bibliotecria que realizou o emprstimo tambm relevante de ser mantido no BD. Algumas bibliotecrias so estagirias. Uma bibliotecria estagiria est sempre sob a responsabilidade de uma bibliotecria efetiva. Deve-se saber tambm a instituio de ensino da qual a estagiria vem. Defina os atributos que julgares relevantes para os fatos identificados.

Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios

3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios

Modelagem Lgica de BD
Foco
mapeamento ER->relacional

Para 1 esquema ER N esquemas relacionais


existem vrias maneiras de se implementar uma modelagem conceitual abstrata

Prtica de Modelagem Lgica


Compromisso entre
evitar um grande nmero de tabelas
evitar um tempo longo de resposta nas consultas e atualizaes de dados
implica minimizar junes entre tabelas

evitar atributos opcionais


evitar tabelas sub-utilizadas
implica evitar desperdcio de espao

evitar muitos controles de integridade no BD


evitar organizaes de dados em tabelas que gerem muitos controles de integridade
implica evitar muitas dependncias entre dados

Processo de Mapeamento
1. Mapeamento preliminar de entidades e seus atributos 2. Mapeamento de especializaes 3. Mapeamento de relacionamentos e seus atributos

Mapeamento de Entidades
Empregados
CPF Nome Idade

Empregados (CPF, Nome, Idade)

Mapeamento de Entidades Fracas


Identificador da entidade forte torna-se
parte da chave primria na tabela correspondente entidade fraca (tabelaFraca) chave estrangeira na tabelaFraca
(1,1) (1,N)

Pedidos
Nmero

Composio
Nmero

Itens

Quantidade

Produto

Itens (NroPedido, NroItem, Produto, Quantidade)

Mapeamento de Atributos
PlanoSade (0,1) Rua Nmero Cidade Telefone (1,N) CPF Nome Idade

Empregados
Endereo

Empregados (CPF, Nome, Idade, PlanoSade, Rua, Nmero, Cidade) Telefone(CPF, Nmero) ou Telefone (CPF, Nmero)

Mapeamento de Atributos
PlanoSade (0,1) Rua Nmero Cidade Telefone (1,3) CPF Nome Idade

Empregados
Endereo

Empregados (CPF, Nome, Idade, PlanoSade, Rua, Nmero, Cidade, FoneRes, FoneCom, Celular)

Processo de Mapeamento
1. Mapeamento preliminar de entidades e seus atributos 2. Mapeamento de especializaes 3. Mapeamento de relacionamentos e seus atributos

Mapeamento de Especializaes
Trs alternativas so geralmente adotadas
1. tabela nica para entidade genrica e suas especializaes 2. tabelas para a entidade genrica e as entidades especializadas 3. tabelas apenas para as entidades especializadas

Alternativa 1
Servidores
CPF Nome

Funo

Funcionrios

Professores

Titulao Categoria

Servidores (CPF, Nome, Tipo, Funo, Titulao, Categoria)


Tipo pode assumir mais de um valor se a especializao no-exclusiva

Alternativa 2
Servidores
CPF Nome

Funo

Funcionrios

Professores

Titulao Categoria

Servidores (CPF, Nome) Funcionrios (CPF, Funo) Professores (CPF, Titulao, Categoria)

Alternativa 3
Servidores
CPF Nome

Funo

Funcionrios

Professores

Titulao Categoria

Funcionrios (CPF, Nome, Funo) Professores (CPF, Nome, Titulao, Categoria)


No se aplica a especializaes parciais

Processo de Mapeamento
1. Mapeamento preliminar de entidades e seus atributos 2. Mapeamento de especializaes 3. Mapeamento de relacionamentos e seus atributos

Mapeamento de Relacionamentos
Recomendaes de mapeamento baseiam-se na anlise da cardinalidade dos relacionamentos
com base nesta anlise, algumas alternativas de mapeamento podem ser adotadas
1. entidades relacionadas podem ser fundidas em uma nica tabela 2. tabelas podem ser criadas para o relacionamento 3. chaves estrangeiras podem ser criadas em tabelas a fim de representar adequadamente o relacionamento

Relacionamento 1-1
Obrigatrio em ambos os sentidos
(1,1) (1,1)
Nmero Endereo eMail

Conferncias
Sigla Nome

Organizao

Comisses

DataInstalao

Conferncias (Sigla, Nome, DataInstCom, NroCom, EndereoCom, eMailCom)

Relacionamento 1-1
Opcional em um dos sentidos
Nmero

(1,1)

(0,1)

Pessoas
Cdigo Nome

Posse
DataRetirada

CarteirasMotorista
DataExpedio Validade Categoria

alternativa 1

Pessoas (Cdigo, Nome, NmeroCarteiraMotorista, DataExpedio, Validade, Categoria, DataRetirada)

Relacionamento 1-1
Opcional em um dos sentidos
Nmero

(1,1)

(0,1)

Pessoas
Cdigo Nome

Posse
DataRetirada

CarteirasMotorista
DataExpedio Validade Categoria

alternativa 2

Pessoas (Cdigo, Nome) CarteirasMotorista (Nmero, DataExpedio, Validade, Categoria, Cdigo, DataRetirada)

Relacionamento 1-1
Opcional em ambos os sentidos
(0,1) (0,1)

Homens
CPF Nome

Casamento
Data

Mulheres
CPF Nome

alternativa 1

Homens (CPF, Nome) Mulheres (CPF, Nome) Casamento (CPFh, CPFm, Data)

Relacionamento 1-1
Opcional em ambos os sentidos
(0,1) (0,1)

Homens
CPF Nome

Casamento
Data

Mulheres
CPF Nome

alternativa 2

Homens (CPF, Nome) Mulheres (CPF, Nome, CPFmarido, DataCasamento)

Relacionamento 1-N
Obrigatrio/opcional no lado N
(1,N) (1,1) Lotao (0,N)
CPF Nome Data Cdigo Nome

Empregados

Departamentos

Departamentos (Cdigo, Nome) Empregados (CPF, Nome, CodDepto, DataLotao)

Relacionamento 1-N
Opcional no lado 1
Ano

(1,N) Posse (0,N)

(0,1)

CPF

Nome

Automveis
Chassi Modelo

Pessoas

DataCompra

alternativa 1

Pessoas (CPF, Nome) Automveis (Chassi, Modelo, Ano) Posse (CPF, Chassi, DataCompra)

Relacionamento 1-N
Opcional no lado 1
Ano

(1,N) Posse (0,N)

(0,1)

CPF

Nome

Automveis
Chassi Modelo

Pessoas

DataCompra

alternativa 2

Pessoas (CPF, Nome) Automveis (Chassi, Modelo, Ano, CPF, DataCompra)

Relacionamento N-M
Obrigatrio/opcional em ambos os sentidos
(1,N) (1,N) (0,N)
DataIncio Cdigo Nome

Empregados
CPF Nome

Participao

Projetos

(0,N)

Empregados (CPF, Nome) Projetos (Cdigo, Nome) Participao (CPF, Cdigo, DataIncio)

Auto-Relacionamento
Valem as mesmas recomendaes anteriores
(0,1) gerente gerncia subordinado

Empregados
(0,N)
CPF Nome Idade

Alternativas: 1) Empregados(CPF, Nome, Idade) Gerncia(CPFe, CPFg) 2) Empregados(CPF, Nome, Idade, CPFg)

Relacionamentos com Entidades Associativas


Valem as mesmas recomendaes anteriores
questo: localizar a entidade associativa
Emprstimos

(0,N)

(0,1)

Livros

emprstimo
DataDevoluo

Clientes

(0,N) (1,1) cadastro alternativa 2

Bibliotecrias

Livros (Cdigo, ..., CPFcli, DataDevoluo, CPFbibl) Clientes (CPFcli, ...) Bibliotecrias(CPFbibl, ...)

Relacionamentos com Entidades Associativas


Outro exemplo
CPF

Clientes

(1,N)

(1,N)

vnculo

Contas Nmero (1,1)

Correntistas
Nmero DataExp

CartesMagnticos

Concesso

(0,1) alternativa 1

Correntista(CPF, NroCta, NroCarto, DataExp)

Relacionamentos Ternrios
Gera uma tabela para o relacionamento
Sigla

Instituies
(1,N)

(0,N) Pesquisa

Projetos

Nmero

DataIncio

Caso N:N:N

(1,N)

Pesquisadores

CPF

Instituies (Sigla, ...) Projetos (Nmero, ...) Pesquisadores (CPF, ...) Pesquisa (Sigla, Nmero, CPF, DataIncio)

Relacionamentos Ternrios
Cdigo

Produtos
(0,N)

(0,N)
Distribuio

Cidades

Cdigo

Caso 1:N:N
CPF

(0,1)

Distribuidores

Produtos (Cdigo, ...) Cidades (Cdigo, ...) Distribuidores (CPF, ...) Distribuio (CodProduto, CodCidade, CPF)

Relacionamentos Ternrios
CPF Nome

Empregados
(0,N)
Remunerao

Atividades
(1,1)

Cdigo Descrio

Caso 1:1:N
ID

(1,1)

Salrios

Valor

Empregados (CPF, Nome) Atividades (Cdigo, Descrio) Salrios (ID, valor) Uma das RIs pode Remunerao (CodAtiv, CPF, ID-Salario) ser chave primria

Relacionamentos Ternrios
Cdigo Peso

Painis
(0,1) (0,1) Veculo

Motores

Cdigo Fabricante

Caso 1:1:1

(0,1)

Latarias Painis (Cdigo, Peso) Motores (Cdigo, Fabricante) Latarias (Cdigo, Modelo) Veculo (CodP, CodM, CodL)

Cdigo Modelo

Uma das RIs pode ser chave primria

Sumrio
1. Projeto de BD: objetivo e etapas 2. Modelagem Conceitual
2.1 Modelo ER 2.2 Dicas de Modelagem 2.3 Exerccios

3. Mapeamento ER-Relacional
3.1 Regras de Mapeamento 3.2 Exerccios

Exerccios
Mapeamento das modelagens conceituais definidas nos exerccios anteriores

Você também pode gostar