1,N - IFC

Transcrição

1,N - IFC
BANCO DE DADOS
- PROJETO CONCEITUAL DE BD
Prof. Angelo Augusto Frozza, M.Sc.
PROJETO CONCEITUAL
|
Levantamento de requisitos
Modelagem Conceitual
| Modelo ER
|
PROJETO CONCEITUAL
Parte integrante do Projeto de um BD
|
Etapas:
y
y
y
y
Levantamento de requisitos
Projeto conceitual
Projeto lógico
Projeto físico
|
Preocupação com a representação adequada dos
dados da organização
|
Definição de esquemas de dados em diferentes
níveis de abstração
MODELAGEM CONCEITUAL
Abstração de alto nível dos fatos relevantes
do mundo real que devem se tornar
persistentes (dados operacionais)
| Identifica :
y Objetos concretos (pessoa, livro
y Objetos abstratos – conceitos
(endereço, pedido etc.)
etc.)
MODELAGEM CONCEITUAL
| Vantagens
de uma documentação
conceitual de dados
y
independente de detalhes de implementação em
um SGBD
facilita a definição da semântica dos dados de um
domínio
| melhor compreendido por usuários leigos
|
y
pode ser mapeado para qualquer modelo de BD
y
facilita a manutenção dos dados
modificação de requisitos de dados
| engenharia reversa (desempenho, ...)
|
y
facilita a migração de SGBD
|
usado como modelo intermediário
MODELO ER
| Modelo
y
sofreu diversas extensões e notações ao longo
do tempo
| Padrão
y
para modelagem conceitual de BD
modelo simples
|
y
y
definido por Peter Chen em 1976
poucos conceitos
representação gráfica
fácil compreensão
| Um
esquema conceitual de BD é também
chamado de diagrama ER
CONCEITOS DO MODELO ER
|
Entidade
|
Relacionamento
|
Atributo
|
Generalização e Especialização
CONCEITOS DO MODELO ER
|
Entidade
y
|
normal, fraca ou associativa
Relacionamento
y
y
auto-relacionamento, binário ou n-ário
cardinalidades
|
y
um-para-um, um-para-muitos ou muitos-para-muitos
participação opcional ou obrigatória das entidades
envolvidas
CONCEITOS DO MODELO ER
|
Atributo
y
tipos
|
|
identificador, monovalorado, multivalorado, composto,
obrigatório e opcional
Generalização e Especialização
y
y
total ou parcial
exclusiva ou não-exclusiva
MODELO ER - NOTAÇÃO
a5 a6
a4 (0,1)
a1
a2 (0,N)
(1,N)
E1
a7
r1
papel 2 (1,1)
a3
(1,1)
r2
(1,N)
E7
E4
a8 (1,N)
(1,1)
r4
p
(0,N)
a9
E5
r3
E2
(1,N)
E3
papel 1 (0,N)
(0,3)
E6
E9
a10
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
MODELO ER - NOTAÇÃO
a5 a6
a4 (0,1)
a1
a2 (0,N)
(1,N)
E1
a7
r1
papel 2 (1,1)
a3
(1,1)
r2
(1,N)
entidade
E7
E4
a8 (1,N)
(1,1)
r4
p
(0,N)
a9
E5
r3
E2
(1,N)
E3
papel 1 (0,N)
(0,3)
E6
E9
a10
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
MODELO ER - NOTAÇÃO
a5 a6
a4 (0,1)
a1
a2 (0,N)
(1,N)
E1
a7
r1
papel 2 (1,1)
a3
(1,1)
r2
(1,N)
E7
E4
a8 (1,N)
entidade
fraca
(1,1)
r4
p
(0,N)
a9
E5
r3
E2
(1,N)
E3
papel 1 (0,N)
(0,3)
E6
E9
a10
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
MODELO ER - NOTAÇÃO
a5 a6
a1
a2 (0,N)
(1,N)
E1
a7
E3
r1
papel 2 (1,1)
a3
r2
E7
E4
(1,1)
r4
p
(0,N)
a9
E5
r3
E2
(1,N)
a8 (1,N)
papel 1 (0,N)
(0,3)
(1,N)
(1,1)
entidade
associativa
a4 (0,1)
E6
E9
a10
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
MODELO ER - NOTAÇÃO
a5 a6
a2 (0,N)
(1,N)
E1
a7
r1
a3
r2
(1,N)
E7
E4
(1,1)
r4
p
(0,N)
a9
E5
r3
E2
papel 2 (1,1)
(1,1)
a8 (1,N)
papel 1 (0,N)
(0,3)
(1,N)
E3
relacionamento
a4 (0,1)
a1
E6
E9
a10
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
MODELO ER - NOTAÇÃO
a5 a6
a4 (0,1)
a1
a2 (0,N)
(1,N)
E1
a7
E3
r1
papel 2 (1,1)
a3
r2
E7
E4
(1,1)
r4
p
(0,N)
a9
E5
r3
E2
(1,N)
a8 (1,N)
papel 1 (0,N)
(0,3)
(1,N)
(1,1)
auto-relacionamento
E6
a10
E9
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
MODELO ER - NOTAÇÃO
relacionamento
ternário
a5 a6
a4 (0,1)
a1
a2 (0,N)
(1,N)
E1
a7
r1
E3
papel 2 (1,1)
a3
r2
(1,N)
E7
E4
a8 (1,N)
(1,1)
r4
p
(0,N)
a9
E5
r3
E2
(1,N)
(1,1)
papel 1 (0,N)
(0,3)
E6
a10
E9
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
MODELO ER - NOTAÇÃO
a5 a6
a4 (0,1)
a1
a2 (0,N)
(1,N)
E1
a7
r1
papel 2 (1,1)
a3
(1,1)
r2
atributo
E7
identificador
(1,1)
(1,N)
E4
a8 (1,N)
r4
p
(0,N)
a9
E5
r3
E2
(1,N)
E3
papel 1 (0,N)
(0,3)
E6
a10
E9
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
MODELO ER - NOTAÇÃO
atributo
monovalorado
a5 a6
a4 (0,1)
a1
a2 (0,N)
(1,N)
E1
a7
r1
E3
papel 2 (1,1)
a3
r2
(1,N)
E7
(1,1)
E4
a8 (1,N)
r4
p
(0,N)
a9
E5
r3
E2
(1,N)
(1,1)
papel 1 (0,N)
(0,3)
E6
a10
E9
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
MODELO ER - NOTAÇÃO
a5 a6
a4 (0,1)
a1
a2 (0,N)
(1,N)
E1
a7
E3
r1
papel 2 (1,1)
a3
r2
E7
E4
(1,1)
r4
p
(0,N)
a9
E5
r3
E2
(1,N)
a8 (1,N)
papel 1 (0,N)
(0,3)
(1,N)
(1,1)
atributo
multivalorado
E6
a10
E9
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
MODELO ER - NOTAÇÃO
a5 a6
a4 (0,1)
a1
a2 (0,N)
(1,N)
E1
a7
E3
r1
papel 2 (1,1)
a3
r2
E7
E4
(1,1)
r4
p
(0,N)
a9
E5
r3
E2
(1,N)
a8 (1,N)
papel 1 (0,N)
(0,3)
(1,N)
(1,1)
atributo
composto
E6
E9
a10
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
MODELO ER - NOTAÇÃO
atributo
obrigatório
a5 a6
a4 (0,1)
a1
a2 (0,N)
(1,N)
E1
a7
E3
r1
papel 2 (1,1)
a3
r2
E7
E4
(1,1)
r4
p
(0,N)
a9
E5
r3
E2
(1,N)
a8 (1,N)
papel 1 (0,N)
(0,3)
(1,N)
(1,1)
atributo
opcional
E6
a10
E9
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
MODELO ER - NOTAÇÃO
especialização
parcial
a5 a6
a4 (0,1)
a1
a2 (0,N)
(1,N)
E1
a7
E3
r1
papel 2 (1,1)
a3
r2
E7
E4
(1,1)
r4
p
(0,N)
a9
E5
r3
E2
(1,N)
a8 (1,N)
papel 1 (0,N)
(0,3)
(1,N)
(1,1)
especialização
total
E6
a10
E9
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
MODELO ER - NOTAÇÃO
especialização
exclusiva
a5 a6
a4 (0,1)
a1
a2 (0,N)
(1,N)
E1
a7
E3
r1
papel 2 (1,1)
a3
r2
E7
E4
(1,1)
r4
p
(0,N)
a9
E5
r3
E2
(1,N)
a8 (1,N)
papel 1 (0,N)
(0,3)
(1,N)
(1,1)
especialização
não-exclusiva
E6
a10
E9
E11
E8
a11
(1,1)
(1,N)
r6
r5
(0,1)
(0,N)
E10
E12
a12
a13
QUESTÕES DE REPRESENTAÇÃO
|
Entidade X Atributo
y
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
Empregados
valorBruto
(1,1)
(1,N)
remuneração
Salários
categoria
valorLíquido
gratificação
QUESTÕES DE REPRESENTAÇÃO
|
Entidade X Atributo Composto
y
a opção por atributo composto é válida se existe noção
de agregação
imóvel
localização
valor
Pessoas
domínio comercial (setor de crediário de uma loja)
localização
Pessoas
(1,1)
(0,N)
domínio imobiliário
proprietário
Imóveis
valor
QUESTÕES DE REPRESENTAÇÃO
|
Entidade X Atributo Multivalorado
y
a opção por atributo multivalorado é válida se existe
noção de agregação
Pessoas
telefone(0,N)
domínio comercial (setor de crediário de uma loja)
DDD
Pessoas
(1,N)
(0,1)
proprietário
domínio de uma companhia telefônica
Linhas
Telefônicas
número
QUESTÕES DE REPRESENTAÇÃO
|
Entidade Fraca X Atributo
y
a opção por atributo é válida se o fato não possui outros
relacionamentos
Pedidos
itens (1,N)
descrição
quantidade
valor
número quantidade
(1,N)
(1,1)
Pedidos
Itens
composição
(0,N)
Produtos
(1,1)
referência
QUESTÕES DE REPRESENTAÇÃO
|
Entidade X Relacionamento
y
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)
|
QUESTÕES DE REPRESENTAÇÃO
|
Entidade X Relacionamento
hora
CRM
nome
(0,N)
Médicos
nome
(0,N)
consulta
código
Pacientes
data
nome
CRM
(1,1)
Médicos
nome
(0,N)
(0,N)
Consultas
data
(1,1)
Pacientes
hora
código
QUESTÕES DE REPRESENTAÇÃO
|
Entidade X Relacionamento
y
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
QUESTÕES DE REPRESENTAÇÃO
|
Entidade X Relacionamento
CPF
nome
marca
(0,1)
Pessoas
nome
(0,N)
posse
Automóveis
CPF
(1,1)
Pessoas
chassi
marca
(0,N)
(0,1)
Posses
(1,1)
Automóveis
chassi
QUESTÕES DE REPRESENTAÇÃO
|
Entidade X Entidade Associativa
y
admite-se representações equivalentes
|
levar em conta as recomendações do caso anterior (entidade
X relacionamento)
QUESTÕES DE REPRESENTAÇÃO
|
Entidade X Entidade Associativa
nome
CRM
hora
(0,N)
Médicos
nome
(0,N)
consulta
data
Consultas
(0,N)
intervaloHoras
código
Pacientes
nome
(0,N)
prescrição
Medicamentos
código
QUESTÕES DE REPRESENTAÇÃO
|
Entidade X Entidade Associativa
nome
CRM
(1,1)
nome
(0,N)
(0,N)
Médicos
Consultas
Pacientes
código
hora
data
(0,N)
intervaloHoras
(1,1)
nome
(0,N)
prescrição
Medicamentos
código
QUESTÕES DE REPRESENTAÇÃO
| Entidade Associativa X
y
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
QUESTÕES DE REPRESENTAÇÃO
| Entidade Associativa X
nome
Relacionamento N-Ário
CPF
nome
(1,N)
Empregados
(1,N)
alocação
nome
Projetos
(1,N)
Tarefas
código
código
QUESTÕES DE REPRESENTAÇÃO
| Entidade Associativa X
nome
Relacionamento N-Ário
CPF
nome
(1,N)
Empregados
(0,N)
alocação
Projetos
código
Alocações
(0,N)
nome
(0,N)
execução
Tarefas
código
QUESTÕES DE REPRESENTAÇÃO
|
Relacionamento X Especialização
y
a opção por especialização é válida se houver uma
associação um-para-um entre as entidades
participantes
QUESTÕES DE REPRESENTAÇÃO
|
Relacionamento X Especialização
nome
nome
CPF
CPF
Pessoas
Pessoas
(0,N)
formação
titulação
habilitação
(1,N)
Professores
domínio universitário
código
tempo
experiência
domínio de uma escola de música
Professores
QUESTÕES DE REPRESENTAÇÃO
|
Atributo X Especialização
y
a opção por especialização é valida se houver atributos
e/ou relacionamentos relevantes para os fatos
especializados
nome
função
nome
CPF
CPF
Pessoas
Pessoas
CREA
Engenheiros
nroHabilitação
Motoristas
QUESTÕES DE REPRESENTAÇÃO
|
Atributo X Especialização
y
atributos opcionais podem sugerir a modelagem de uma
entidade especializada
nroHabilitação (0,1)
veículosHabilitados (0,N)
nome
CPF
Pessoas
nome
CPF
Pessoas
nroHabilitação
veículosHabilitados (1,N)
Motoristas
QUESTÕES DE REPRESENTAÇÃO
|
Limitações no poder de expressão
y
exige a documentação de restrições de integridade em
anexo
QUESTÕES DE REPRESENTAÇÃO
|
Limitações no poder de expressão
(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,N)
Alunos
(0,N)
emCurso
G
emCurso
PG
(1,1)
Graduação
Cursos
(1,1)
Pós-Graduação
RI: um aluno não pode estar cursando ambos os cursos
domínio de um depto
universitário
QUESTÕES DE REPRESENTAÇÃO
|
Consideração de aspectos temporais
y
alteram a modelagem conceitual
Empregados
salário
instantâneo
valor
(1,1)
Empregados
data
(1,N)
remuneração
temporal
Salários
QUESTÕES DE REPRESENTAÇÃO
|
Consideração de aspectos temporais
Empregados
(1,1)
(0,N)
Departamentos
lotação
instantâneo
data
Empregados
(1,N)
(0,N)
lotação
Departamentos
temporal
QUESTÕES DE REPRESENTAÇÃO
|
Entidade isolada
y
admite-se a sua representação
Escolas
(0,N)
(1,1)
definição
DicasDidáticas
Home-Pages
(mostrada aleatoriamente sempre
que uma home-page é aberta)
Empresa
Empregados
(1,1)
(0,N)
lotação
Departamentos
QUESTÕES DE REPRESENTAÇÃO
|
Validação do esquema conceitual
y
verificar eventuais redundâncias...
|
pesar desempenho de consultas X controles de integridade e
volume de dados
QUESTÕES DE REPRESENTAÇÃO
|
Validação do esquema conceitual
(1,1)
lotação
Setores
(1,1)
(0,N)
composição
Departamentos
(0,N)
Empregados
departamento
(0,1)
lotação
Setores
(1,1)
(1,N)
(0,N)
(1,1)
(0,N)
Máquinas
Fábricas
composição
bens
QUESTÕES DE REPRESENTAÇÃO
|
Sugestões finais
y
substantivos para nomes de relacionamentos
descrevem ação ou estado
| minimizam a redundância de nomes
| nomes mais adequados para prováveis entidades lógicas
|
y
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
|
QUESTÕES DE REPRESENTAÇÃO
|
Sugestões finais
(1,1)
(1,1)
possui
Setores
revisão
lotação
(1,N)
(0,N)
Máquinas
Máquinas
Setores
EXERCÍCIO DE MODELAGEM ER
Pizzaria
Uma pizzaria de tele-entrega apresenta um cardápio composto por
diversos tipos de pizza, cujos dados são: número do item, nome da pizza,
ingredientes e preços das pizzas pequena, média e grande. Na pizzaria
trabalham funcionários que emitem pedidos de pizzas. Cada pedido possui
um número e uma data de emissão, além do nome, telefone e endereço do
cliente que solicitou o pedido. Um pedido é emitido por apenas um
funcionário. Um pedido solicita uma ou mais pizzas do cardápio,
informando tamanhos (pequena, média ou grande) e quantidades
desejados de cada pizza. O cliente pode desejar retirar um ou mais
ingredientes de alguma pizza solicitada. Existem funcionários que são
entregadores, ou seja, são responsáveis pela entrega de um ou mais
pedidos. Deve-se saber o número do telefone celular destes funcionários
para um eventual contato durante uma entrega. Um pedido destina-se a
um bairro. Para cada bairro existe um tempo máximo de espera para a
entrega de um pedido. Você é livre para definir outros atributos que julgar
relevantes.
|

Documentos relacionados

Modelagem

Modelagem estruturas de armazenamento e os métodos de acesso. Caracteriza-se pela criação do

Leia mais