Oficina: Modelagem de Dados - PowerPoint PPT Presentation

About This Presentation
Title:

Oficina: Modelagem de Dados

Description:

... Alberto Heuser - 5a Ed. S rie Livros Did ticos Instituto de Inform tica da UFRGS, n mero 4. Editora Sagra-Luzzatto, 2004. Sum rio Projeto de BD: ... – PowerPoint PPT presentation

Number of Views:97
Avg rating:3.0/5.0
Slides: 86
Provided by: INE49
Category:

less

Transcript and Presenter's Notes

Title: Oficina: Modelagem de Dados


1
OficinaModelagem de Dados
  • Ronaldo S. Mello
  • INE/CTC/UFSC

2
Objetivo da Oficina
  • Teoria e prática de projeto de Bancos de Dados
    Relacionais (BDRs)
  • Foco modelagem conceitual e lógica de BDRs
  • Dicas avançadas de modelagem entidade-relacionamen
    to (ER)
  • Regras detalhadas de mapeamento ER-relacional
  • Exercícios práticos de modelagem
  • ferramenta acadêmica brModelo
  • Bibliografia principal
  • Projeto de Banco de Dados - Carlos Alberto
    Heuser - 5a Ed. Série Livros Didáticos
    Instituto de Informática da UFRGS, número 4.
    Editora Sagra-Luzzatto, 2004.

3
Sumário
  • Projeto de BD objetivo e etapas
  • Modelagem Conceitual
  • 2.1 Modelo ER
  • 2.2 Dicas de Modelagem
  • 2.3 Exercícios
  • Mapeamento ER-Relacional
  • 3.1 Regras de Mapeamento
  • 3.2 Exercícios

4
Sumário
  • Projeto de BD objetivo e etapas
  • Modelagem Conceitual
  • 2.1 Modelo ER
  • 2.2 Dicas de Modelagem
  • 2.3 Exercícios
  • Mapeamento ER-Relacional
  • 3.1 Regras de Mapeamento
  • 3.2 Exercícios

5
Projeto de Banco de Dados
  • Parte integrante do desenvolvimento de um sistema
    de informação
  • preocupação com a representação adequada de dados
    operacionais
  • Atividade de projeto de BD
  • modelagem de dados em diferentes níveis de
    abstração
  • nível conceitual, lógico e físico

6
Projeto de BD - Etapas
Análise de Requisitos
Modelagem Conceitual
Modelagem Lógica
Modelagem Física
7
Projeto de BD - Etapas
Análise de Requisitos
  • Coleta de informações sobre os
  • dados, suas restrições e seus
  • relacionamentos na organização
  • Forma de realização reuniões
  • com os usuários observação do
  • funcionamento da organização
  • Resultado documento com a
  • especificação de requisitos

Modelagem Conceitual
Modelagem Lógica
Modelagem Física
8
Projeto de BD - Etapas
Análise de Requisitos
Especificação de requisitos
  • Modelagem dos dados e seus
  • relacionamentos independente da
  • estrutura de representação do
  • SGBD (modelagem conceitual)
  • Forma de realização análise da
  • especificação de requisitos
  • Resultado esquema conceitual
  • restrições de integridade

Modelagem Conceitual
Modelagem Lógica
Modelagem Física
9
Vantagens da Modelagem Conceitual
  • Abstração de dados de alto nível
  • indicação de dados e seus relacionamentos da
    forma como percebidos no mundo real
  • independência de detalhes de representação de
    SGBDs
  • Fácil compreensão pelo usuário leigo
  • facilita a validação da modelagem dos dados
  • Facilita a manutenção dos dados
  • modificação dos requisitos
  • migração de SGBD
  • Tradução para qualquer modelo de SGBD

10
Projeto de BD - Etapas
Análise de Requisitos
Especificação de requisitos
Modelagem Conceitual
Esquema conceitual
  • Conversão do esquema conceitual
  • para o esquema de representação
  • de um SGBD (esquema lógico)
  • Forma de realização aplicação de
  • regras de conversão
  • Resultado esquema lógico (tabelas,
  • RIs, transações, consultas relevantes e
  • visões, autorizações de acesso, ...)

Modelagem Lógica
Modelagem Física
11
Projeto de BD - Etapas
Análise de Requisitos
Especificação de requisitos
  • Definição do esquema lógico
  • em um SGBD adequado ao modelo
  • Forma de realização SQL
  • Resultado esquema físico

Modelagem Conceitual
Esquema conceitual
Modelagem Lógica
Esquema lógico
Modelagem Física
12
Projeto de BD - Etapas
Análise de Requisitos
Especificação de requisitos
Modelagem Conceitual
Esquema conceitual
Modelagem Lógica
Esquema lógico
Modelagem Física
Esquema físico ou implementação
13
Projeto de BD - Etapas
  • Modelagem Conceitual
  • preocupação correta abstração do mundo real
  • (captura correta da semântica da aplicação)
  • Modelagem Lógica Física
  • preocupação escolhas corretas na conversão para
    o esquema do SGBD (relacional) para maximizar o
    desempenho
  • (distribuição adequada dos dados em tabelas)

14
Sumário
  • Projeto de BD objetivo e etapas
  • Modelagem Conceitual
  • 2.1 Modelo ER
  • 2.2 Dicas de Modelagem
  • 2.3 Exercícios
  • Mapeamento ER-Relacional
  • 3.1 Regras de Mapeamento
  • 3.2 Exercícios

15
Modelagem Conceitual Modelo ER
  • Modelo definido por Peter Chen em 1976
  • modelo sofreu diversas extensões e notações ao
    longo do tempo
  • Padrão para modelagem conceitual de BD
  • modelo simples
  • poucos conceitos
  • representação gráfica
  • modelo de fácil compreensão
  • Um esquema conceitual de BD é também chamado de
    diagrama ER

16
Modelo ER - Notação
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
(1,N)
(0,3)
E1
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
17
Modelo ER - Notação
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
(1,N)
(0,3)
E1
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
entidade
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
18
Modelo ER - Notação
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
(1,N)
(0,3)
E1
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
entidade fraca
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
19
Modelo ER - Notação
entidade associativa
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
(1,N)
(0,3)
E1
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
20
Modelo ER - Notação
relacionamento
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
(1,N)
(0,3)
E1
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
r 5
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
21
Modelo ER - Notação
auto-relacionamento
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
(1,N)
(0,3)
E1
r 3
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
22
Modelo ER - Notação
relacionamento ternário
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
(1,N)
(0,3)
E1
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
23
Modelo ER - Notação
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
(1,N)
(0,3)
E1
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
atributo identificador
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
24
Modelo ER - Notação
atributo monovalorado
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
(1,N)
(0,3)
E1
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
25
Modelo ER - Notação
atributo multivalorado
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
(1,N)
(0,3)
E1
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
26
Modelo ER - Notação
atributo composto
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
a5
a6
(1,N)
(0,3)
E1
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
27
Modelo ER - Notação
atributo obrigatório
atributo opcional
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
(1,N)
(0,3)
E1
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
28
Modelo ER - Notação
especialização parcial
especialização total
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
(1,N)
(0,3)
E1
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
29
Modelo ER - Notação
especialização exclusiva
especialização não-exclusiva
a4 (0,1)
a1
a2 (0,N)
papel 1
(0,N)
(1,N)
(0,3)
E1
E2
r 1
a7
(1,1)
papel 2
(1,N)
a3
(1,1)
r 2
E3
E11
(1,N)
E7
E8
a11
(1,1)
E4
(1,1)
a8 (1,N)
(1,N)
p
(0,1)
(0,N)
(0,N)
a9
E10
E12
E5
E6
E9
a12
a13
a10
30
Sumário
  • Projeto de BD objetivo e etapas
  • Modelagem Conceitual
  • 2.1 Modelo ER
  • 2.2 Dicas de Modelagem
  • 2.3 Exercícios
  • Mapeamento ER-Relacional
  • 3.1 Regras de Mapeamento
  • 3.2 Exercícios

31
Dicas de Modelagem Conceitual
  • Entidade X Atributo
  • a opção por entidade é válida se existem
    propriedades (atributos e relacionamentos) e
    transações relevantes para o fato

Empregados
salário
deduçãoIRPF
valorBruto
(1,1)
(1,N)
categoria
Salários
Empregados
remuneração
valorLíquido
gratificação
32
Dicas de Modelagem Conceitual
  • Entidade X Atributo Composto
  • a opção por atributo composto é válida se existe
    noção de agregação

imóvel
localização
Pessoas
valor
aplicação comercial (setor de crediário de uma
loja)
localização
(1,1)
(0,N)
valor
Imóveis
Pessoas
proprietário
aplicação de negócio imobiliário
33
Dicas de Modelagem Conceitual
  • Entidade X Atributo Multivalorado
  • a opção por atributo multivalorado é válida se
    existe noção de agregação

Pessoas
telefone(0,N)
aplicação comercial (setor de crediário de uma
loja)
DDD
(1,N)
(0,1)
número
Linhas Telefônicas
Pessoas
proprietário
aplicação companhia telefônica
34
Dicas de Modelagem Conceitual
  • Entidade Fraca X Atributo
  • a opção por atributo é válida se o fato não
    possui outros relacionamentos

itens (1,N)
descrição
Pedidos
quantidade
valor
número
quantidade
(1,N)
(1,1)
Itens
Pedidos
composição
(0,N)
(1,1)
Produtos
referência
35
Dicas de Modelagem Conceitual
  • Entidade X Relacionamento
  • admite-se representações equivalentes
  • a opção por relacionamento é recomendada se não
    existem propriedades associadas ao fato
  • a opção por entidade é recomendada se existe um
    identificador explícito para o fato (ex. ID da
    consulta)

hora
nome
CRM
nome
(0,N)
(0,N)
Médicos
código
Pacientes
consulta
data
nome
CRM
nome
(0,N)
(0,N)
(1,1)
(1,1)
Médicos
Consultas
Pacientes
código
data
hora
36
Dicas de Modelagem Conceitual
  • Entidade X Relacionamento
  • a opção por entidade introduz uma indireção na
    associação entre fatos
  • não recomendável, especialmente para casos
    um-para-um e um-para-muitos
  • não geram o mesmo banco de dados relacional!

marca
CPF
nome
(0,1)
(0,N)
Pessoas
chassi
Automóveis
posse
CPF
marca
nome
(0,N)
(0,1)
(1,1)
(1,1)
Pessoas
Posses
Automóveis
chassi
37
Dicas de Modelagem Conceitual
  • Entidade X Entidade Associativa
  • admite-se representações equivalentes
  • levar em conta as recomendações do caso anterior
    (entidade X relacionamento)

hora
CRM
nome
nome
(0,N)
(0,N)
Médicos
código
Pacientes
consulta
Consultas
data
(0,N)
nome
(0,N)
intervaloHoras
prescrição
Medicamentos
código
38
Dicas de Modelagem Conceitual
  • Entidade X Entidade Associativa

CRM
nome
nome
(0,N)
(0,N)
(1,1)
(1,1)
Médicos
Consultas
Pacientes
código
data
hora
(0,N)
nome
(0,N)
intervaloHoras
prescrição
Medicamentos
código
39
Dicas de Modelagem Conceitual
  • Entidade Associativa X Relacionamento N-Ário
  • recomenda-se a opção por relacionamento n-ário
    apenas se a participação for obrigatória para
    todas as entidades
  • evita problemas de identificação do
    relacionamento

nome
CPF
nome
(1,N)
(1,N)
Empregados
código
Projetos
alocação
(1,N)
nome
Tarefas
código
40
Dicas de Modelagem Conceitual
  • Entidade Associativa X Relacionamento N-Ário
  • recomenda-se a opção por entidade associativa se
    a participação não for obrigatória para todas as
    entidades

nome
CPF
nome
(1,N)
(0,N)
Empregados
código
Projetos
alocação
Alocações
(0,N)
nome
(0,N)
execução
Tarefas
código
41
Dicas de Modelagem Conceitual
  • Relacionamento X Especialização
  • a opção por especialização é válida se houver uma
    associação um-para-um entre as entidades
    participantes

CPF
CPF
nome
nome
Pessoas
Pessoas
(0,N)
titulação
formação
habilitação
(1,N)
Professores
código
tempo experiência
Professores
aplicação universitária
aplicação de uma escola de música
42
Dicas de Modelagem Conceitual
  • Atributo X Especialização
  • a opção por especialização é valida se houver
    atributos e/ou relacionamentos relevantes para os
    fatos especializados

nome
nome
CPF
função
CPF
Pessoas
Pessoas
nroHabilitação
CREA
Motoristas
Engenheiros
43
Dicas de Modelagem Conceitual
  • Atributo X Especialização
  • atenção atributos opcionais podem sugerir a
    modelagem de uma entidade especializada

nroHabilitação (0,1)
nome
CPF
veículosHabilitados (0,N)
Pessoas
nome
CPF
Pessoas
nroHabilitação
Motoristas
veículosHabilitados (1,N)
44
Dicas de Modelagem Conceitual
  • Limitações no poder de expressão!
  • exige a documentação de restrições de integridade
    em anexo

(0,N)
supervisionado
supervisão
Empregados
(0,1)
supervisor
RIs - um empregado não pode ser supervisor de
si próprio - ciclos em hierarquias de
supervisão não são permitidos
(0,1)
emCurso G
(0,N)
Graduação
Cursos
Alunos
(0,N)
(0,1)
Pós-Graduação
emCurso PG
aplicação de um depto universitário
RIs - um aluno não pode estar cursando ambos
os cursos - um aluno deve estar cursando
pelo menos um dos cursos
45
Dicas de Modelagem Conceitual
  • Consideração de aspectos temporais
  • atenção alteram a modelagem conceitual!

valor
data
Empregados
salário
(1,1)
(1,N)
instantâneo
Salários
Empregados
remuneração
temporal
(1,1)
(0,N)
Departamentos
Empregados
lotação
instantâneo
data
(1,N)
(0,N)
Departamentos
Empregados
temporal
lotação
46
Dicas de Modelagem Conceitual
  • Entidade isolada
  • pode-se admitir a sua representação

(0,N)
(1,1)
Home-Pages
Escolas
definição
(mostrada aleatoriamente sempre que uma home-page
é aberta)
DicasDidáticas
OK !
Empresa
(1,1)
(0,N)
OK ?
Departamentos
Empregados
lotação
47
Dicas de Modelagem Conceitual
  • Validação do esquema conceitual
  • substantivos para nomes de relacionamentos
  • minimizam a redundância de nomes
  • nomes mais adequados para futuros conceitos
    lógicos (tabelas, atributos)
  • cardinalidade de relacionamentos
  • na dúvida, definir cardinalidades opcionais
  • menos restritivas
  • reduzem os controles de integridade no BD
  • dependências de inserção e controles na
    atualização

(1,1)
(1,1)
revisão
Setores
lotação
Setores
possui
(0,N)
(1,N)
Máquinas
Máquinas
48
Sumário
  • Projeto de BD objetivo e etapas
  • Modelagem Conceitual
  • 2.1 Modelo ER
  • 2.2 Dicas de Modelagem
  • 2.3 Exercícios
  • Mapeamento ER-Relacional
  • 3.1 Regras de Mapeamento
  • 3.2 Exercícios

49
Ferramenta brModelo
  • Modelagem conceitual ER notação Peter Chen
  • Mapeamento semi-automático ER-relacional
  • Armazenamento XML de modelagens

50
Exercício Modelagem 1 - Clínica
Cada médico que trabalha na clínica é
identificado pelo seu CRM, possui um nome, uma
data de admissão na clínica e um salário. Um
médico tem formação em diversas especialidades
(ortopedia, traumatologia, etc), mas só exerce
uma delas na clínica. Para todo paciente
internado na clínica são cadastrados alguns dados
pessoais código (único), nome, RG, CPF,
endereço, telefone(s) para contato e data do
nascimento. Um paciente tem sempre um determinado
médico como responsável, com um horário de visita
diário predeterminado. Pacientes estão sempre
internados em quartos individuais, que são
identificados por um número e estão em um andar
da clínica.
51
Exercício 2 - Museu
Cada obra no museu possui um código, um título e
um ano. Obras ou são pinturas ou são esculturas.
No primeiro caso, são dados importantes o estilo
(por exemplo, impressionista). No caso de
esculturas, são importantes o peso e os materiais
de que é feita (por exemplo, argila, madeira,
etc). Uma obra pode estar exposta em um único
salão, em uma determinada posição neste salão. Um
salão, que geralmente abriga várias obras, é
identificado por um número e está em um andar do
museu. Certos dados a respeito dos autores de
cada obra também são relevantes código, nome e
nacionalidade. Uma obra é produzida por apenas um
autor, porém, pode existir mais de uma obra de um
mesmo autor no museu. No museu trabalham
funcionários, cada um possuindo um ID, CPF, um
nome e um salário. Funcionários ou são guardas ou
são restauradores de obras. No primeiro caso,
mantêm-se dados sobre a hora de entrada e hora de
saída. No caso de restauradores, qual a sua
especialidade. Um guarda é responsável pela
segurança de um único salão, que pode ser vigiado
por vários guardas. Um restaurador pode estar
realizando a manutenção de várias obras. Uma
obra, caso esteja em manutenção, está nas mãos de
apenas um restaurador. Para cada manutenção
deve-se registrar a data de início e a data
prevista de término do trabalho, uma descrição do
serviço a ser feito e um custo previsto para
realizar a manutenção. Uma manutenção pode estar
utilizando uma ou mais matérias-primas. Uma
matéria-prima possui um código, um nome e uma
quantidade em estoque. Uma matéria-prima pode
estar sendo utilizada em várias manutenções, em
uma certa quantidade.
52
Exercício 3 (se der tempo...) - Biblioteca
Um livro tem vários exemplares na biblioteca,
como por exemplo, Liv1-Ex1, Liv1-Ex2, Liv2-Ex1.
Exemplares estão dispostos em estantes. São
mantidos dados detalhados sobre autores e
editoras dos livros para fins de consulta. Na
biblioteca trabalham bibliotecárias. Cada estante
é periodicamente organizada por uma única
bibliotecária. Bibliotecárias também realizam
empréstimos de exemplares para clientes.
Empréstimos cadastrados no BD devem conter a data
da devolução e o valor diário da multa,
permanecendo no BD até o cliente entregar o
exemplar. A bibliotecária que realizou o
empréstimo também é relevante de ser mantido no
BD. Algumas bibliotecárias são estagiárias. Uma
bibliotecária estagiária está sempre sob a
responsabilidade de uma bibliotecária efetiva.
Deve-se saber também a instituição de ensino da
qual a estagiária vem. Defina os atributos que
julgares relevantes para os fatos identificados.
53
Sumário
  • Projeto de BD objetivo e etapas
  • Modelagem Conceitual
  • 2.1 Modelo ER
  • 2.2 Dicas de Modelagem
  • 2.3 Exercícios
  • Mapeamento ER-Relacional
  • 3.1 Regras de Mapeamento
  • 3.2 Exercícios

54
Modelagem Lógica de BD
  • Foco
  • mapeamento ER-gtrelacional
  • Para 1 esquema ER N esquemas relacionais
  • existem várias maneiras de se implementar uma
    modelagem conceitual abstrata

55
Prática de Modelagem Lógica
  • Compromisso entre
  • evitar um grande número de tabelas
  • evitar um tempo longo de resposta nas consultas e
    atualizações de dados
  • implica minimizar junções entre tabelas
  • evitar atributos opcionais
  • evitar tabelas sub-utilizadas
  • implica evitar desperdício de espaço
  • evitar muitos controles de integridade no BD
  • evitar organizações de dados em tabelas que gerem
    muitos controles de integridade
  • implica evitar muitas dependências entre dados

56
Processo de Mapeamento
  1. Mapeamento preliminar de entidades e seus
    atributos
  2. Mapeamento de especializações
  3. Mapeamento de relacionamentos e seus atributos

57
Mapeamento de Entidades
CPF
Empregados
Nome
Idade
Empregados (CPF, Nome, Idade)
58
Mapeamento de Entidades Fracas
  • Identificador da entidade forte torna-se
  • parte da chave primária na tabela correspondente
    à entidade fraca (tabelaFraca)
  • chave estrangeira na tabelaFraca

(1,N)
(1,1)
Itens
Composição
Pedidos
Quantidade
Número
Produto
Número
Itens (NroPedido, NroItem, Produto, Quantidade)
59
Mapeamento de Atributos
Telefone (1,N)
PlanoSaúde (0,1)
CPF
Rua
Empregados
Nome
Número
Idade
Cidade
Endereço
Empregados (CPF, Nome, Idade, PlanoSaúde,
Rua, Número, Cidade) Telefone(CPF
, Número) ou Telefone (CPF, Número)
60
Mapeamento de Atributos
Telefone (1,3)
PlanoSaúde (0,1)
CPF
Rua
Empregados
Nome
Número
Idade
Cidade
Endereço
Empregados (CPF, Nome, Idade, PlanoSaúde,
Rua, Número, Cidade,
FoneRes, FoneCom, Celular)
61
Processo de Mapeamento
  1. Mapeamento preliminar de entidades e seus
    atributos
  2. Mapeamento de especializações
  3. Mapeamento de relacionamentos e seus atributos

62
Mapeamento de Especializações
  • Três alternativas são geralmente adotadas
  • tabela única para entidade genérica e suas
    especializações
  • tabelas para a entidade genérica e as entidades
    especializadas
  • tabelas apenas para as entidades especializadas

63
Alternativa 1
CPF
Servidores
Nome
Titulação
Função
Professores
Funcionários
Categoria
Servidores (CPF, Nome, Tipo, Função, Titulação,
Categoria)
  • Tipo pode assumir mais de um valor se a
    especialização é
  • não-exclusiva

64
Alternativa 2
CPF
Servidores
Nome
Titulação
Função
Professores
Funcionários
Categoria
Servidores (CPF, Nome) Funcionários (CPF,
Função) Professores (CPF, Titulação, Categoria)
65
Alternativa 3
CPF
Servidores
Nome
Titulação
Função
Professores
Funcionários
Categoria
Funcionários (CPF, Nome, Função) Professores
(CPF, Nome, Titulação, Categoria)
  • Não se aplica a especializações parciais

66
Processo de Mapeamento
  1. Mapeamento preliminar de entidades e seus
    atributos
  2. Mapeamento de especializações
  3. Mapeamento de relacionamentos e seus atributos

67
Mapeamento de Relacionamentos
  • Recomendações de mapeamento baseiam-se na análise
    da cardinalidade dos relacionamentos
  • com base nesta análise, algumas alternativas de
    mapeamento podem ser adotadas
  • entidades relacionadas podem ser fundidas em uma
    única tabela
  • tabelas podem ser criadas para o relacionamento
  • chaves estrangeiras podem ser criadas em tabelas
    a fim de representar adequadamente o
    relacionamento

68
Relacionamento 1-1
  • Obrigatório em ambos os sentidos

Endereço
(1,1)
Número
(1,1)
Comissões
Conferências
Organização
eMail
Sigla
Nome
DataInstalação
Conferências (Sigla, Nome, DataInstCom, NroCom,
EndereçoCom, eMailCom)
69
Relacionamento 1-1
  • Opcional em um dos sentidos

Número
(0,1)
(1,1)
Posse
CarteirasMotorista
Pessoas
Código
Nome
Categoria
DataExpedição
Validade
DataRetirada
alternativa 1
Pessoas (Código, Nome, NúmeroCarteiraMotorista,
DataExpedição, Validade, Categoria,
DataRetirada)
70
Relacionamento 1-1
  • Opcional em um dos sentidos

Número
(0,1)
(1,1)
Posse
CarteirasMotorista
Pessoas
Código
Nome
Categoria
DataExpedição
Validade
DataRetirada
alternativa 2
Pessoas (Código, Nome) CarteirasMotorista
(Número, DataExpedição,
Validade, Categoria, Código,
DataRetirada)
71
Relacionamento 1-1
  • Opcional em ambos os sentidos

(0,1)
(0,1)
Mulheres
Homens
Casamento
CPF
Nome
CPF
Nome
Data
alternativa 1
Mulheres (CPF, Nome)
Homens (CPF, Nome)
Casamento (CPFh, CPFm, Data)
72
Relacionamento 1-1
  • Opcional em ambos os sentidos

(0,1)
(0,1)
Mulheres
Homens
Casamento
CPF
Nome
CPF
Nome
Data
alternativa 2
Homens (CPF, Nome)
Mulheres (CPF, Nome, CPFmarido, DataCasamento)
73
Relacionamento 1-N
  • Obrigatório/opcional no lado N

Código
Nome
(1,N)
(1,1)
Lotação
Departamentos
Empregados
(0,N)
CPF
Nome
Data
Departamentos (Código, Nome) Empregados (CPF,
Nome, CodDepto, DataLotação)
74
Relacionamento 1-N
  • Opcional no lado 1

Ano
CPF
Nome
(1,N)
(0,1)
Posse
Pessoas
Automóveis
(0,N)
Chassi
Modelo
DataCompra
alternativa 1
Pessoas (CPF, Nome) Automóveis (Chassi, Modelo,
Ano) Posse (CPF, Chassi, DataCompra)
75
Relacionamento 1-N
  • Opcional no lado 1

Ano
Nome
(1,N)
CPF
(0,1)
Posse
Pessoas
Automóveis
(0,N)
Chassi
Modelo
DataCompra
alternativa 2
Pessoas (CPF, Nome) Automóveis (Chassi, Modelo,
Ano, CPF, DataCompra)
76
Relacionamento N-M
  • Obrigatório/opcional em ambos os sentidos

(1,N)
Código
(1,N)
Nome
Projetos
Empregados
Participação
(0,N)
(0,N)
CPF
Nome
DataInício
Empregados (CPF, Nome) Projetos (Código,
Nome) Participação (CPF, Código, DataInício)
77
Auto-Relacionamento
  • Valem as mesmas recomendações anteriores

(0,1)
gerente
Empregados
gerência
subordinado
(0,N)
Idade
Nome
CPF
Alternativas 1) Empregados(CPF, Nome,
Idade) Gerência(CPFe, CPFg) 2) Empregados(CPF,
Nome, Idade, CPFg)
78
Relacionamentos com Entidades Associativas
  • Valem as mesmas recomendações anteriores
  • questão localizar a entidade associativa

Empréstimos
(0,1)
(0,N)
Clientes
empréstimo
Livros
DataDevolução
(0,N)
(1,1)
cadastro
Bibliotecárias
alternativa 2
Livros (Código, ..., CPFcli, DataDevolução,
CPFbibl) Clientes (CPFcli, ...) Bibliotecárias(CP
Fbibl, ...)
79
Relacionamentos com Entidades Associativas
  • Outro exemplo

(1,N)
(1,N)
Contas
Clientes
vínculo
Número
CPF
Correntistas
(1,1)
Número
CartõesMagnéticos
Concessão
DataExp
(0,1)
alternativa 1
Correntista(CPF, NroCta, NroCartão, DataExp)
80
Relacionamentos Ternários
  • Gera uma tabela para o relacionamento

Sigla
Número
Instituições
Projetos
(0,N)
(1,N)
Pesquisa
DataInício
(1,N)
Caso NNN
CPF
Pesquisadores
Instituições (Sigla, ...) Projetos (Número,
...) Pesquisadores (CPF, ...) Pesquisa (Sigla,
Número, CPF, DataInício)
81
Relacionamentos Ternários
Código
Código
Produtos
Cidades
(0,N)
(0,N)
Distribuição
(0,1)
Caso 1NN
Distribuidores
CPF
Produtos (Código, ...) Cidades (Código,
...) Distribuidores (CPF, ...) Distribuição
(CodProduto, CodCidade, CPF)
82
Relacionamentos Ternários
CPF
Código
Empregados
Atividades
Nome
Descrição
(0,N)
(1,1)
Remuneração
(1,1)
Caso 11N
ID
Valor
Salários
Empregados (CPF, Nome) Atividades (Código,
Descrição) Salários (ID, valor) Remuneração
(CodAtiv, CPF, ID-Salario)
  • Uma das RIs pode
  • ser chave primária

83
Relacionamentos Ternários
Código
Código
Painéis
Motores
Fabricante
Peso
(0,1)
(0,1)
Veículo
(0,1)
Caso 111
Código
Latarias
Modelo
Painéis (Código, Peso) Motores (Código,
Fabricante) Latarias (Código, Modelo) Veículo
(CodP, CodM, CodL)
  • Uma das RIs pode
  • ser chave primária

84
Sumário
  • Projeto de BD objetivo e etapas
  • Modelagem Conceitual
  • 2.1 Modelo ER
  • 2.2 Dicas de Modelagem
  • 2.3 Exercícios
  • Mapeamento ER-Relacional
  • 3.1 Regras de Mapeamento
  • 3.2 Exercícios

85
Exercícios
  • Mapeamento das modelagens conceituais definidas
    nos exercícios anteriores
Write a Comment
User Comments (0)
About PowerShow.com