Projeto de Bancos de Dados
•
Compreende três etapas:
1) Modelagem Conceitual (Projeto Conceitual):
- Modelo de dados abstrato
- Define os dados do domínio
- Independente do SGBD
2) Projeto Lógico
-
Define como o modelo conceitual será implementado no
SGBD específico
Tabelas, Campos..
3) Projeto Físico
-
Detalhes que influenciam no desempenho do BD, mas
não interferem em suas funcionalidades
É um processo contínuo e bem específico de cada SGBD
Índices, stored procedures...
Modelagem Conceitual
• Descrição abstrata dos dados do
domínio que serão armazenados no
BD
• É independente de SGBD
• Representação visual de fácil
Compreensão
Modelo Entidade-Relacionamento
• Criado em 1976 por Peter Chen
• É a técnica de modelagem de dados
mais difundida e aceita (padrão)
• Representação gráfica de fácil
compreensão: diagrama entidaderelacionamento (DER)
– Usa conceitos simples para definir
domínio
Exemplo Diagrama ER
Conceitos do Modelo ER
• Entidade
– Representa um Conjunto de objetos do
mundo real que deseja-se armazenar no
BD
– Símbolo: Retângulo com o nome da
entidade
Autores
(representação gráfica)
Pedro
João
Maria
Felipe
(interpretação)
Conceitos do Modelo ER
• Relacionamento
– Conjunto de associações entre
ocorrências de entidades
– Símbolo: losango nomeado interligando
as entidades do relacionamento
Autores
autoria
Livros
(representação gráfica)
Conceitos do Modelo ER
Pedro
João
Felipe
Maria
João, BD
BD
Pedro,MC
MER
Felipe, MC
MC
(interpretação)
entidade
Autores
relacionamento
autoria
entidade
Livros
Conceitos do Modelo ER
• Auto-Relacionamento
– Relacionamento entre ocorrências de uma mesma
entidade
– Exige que papéis sejam definidos
Bibliotecárias
Supervisionada
supervisão
Supervisora
Conceitos do Modelo ER
Maria
Rita
Ana
Paula
entidade
Bibliotecárias
Carla
supervisor
supervisor
supervisionado
supervisionado
relacionamento
SUPERVISÃO
Rita,Maria
Paula,Ana
(interpretação)
Conceitos do Modelo ER
• No relacionamento deve-se definir:
– Cardinalidade máxima: número
máximo de entidades associadas a uma
ocorrência da entidade em questão,
através do relacionamento (1 ou N)
Editoras
1
publicacao
N
Livros
“Uma editora pode publicar N livros.
Um livro é publicado por no máximo 1 editora.”
Conceitos do Modelo ER
• Exemplos de Cardinalidades Máximas:
Bibliotecárias
Autores
1
1
controle
N
N
autoria
Áreas
Livros
Bibliotecárias
(1,1)
Supervisionada
supervisão
(0,N)
Supervisora
Conceitos do Modelo ER
• No relacionamento deve-se definir:
– Cardinalidade mínima: número mínimo de entidades
associadas a uma ocorrência da entidade em questão,
através do relacionamento (0 ou 1)
– Indica a participação opcional (0) ou obrigatória (1)
das ocorrências no relacionamento
– Notação de cardinalidades: (mínima, máxima)
Editoras
(1,1)
(0,N)
publicacao
Livros
“Uma editora pode publicar N livros.
Um livro é obrigatoriamente publicado por no máximo 1 editora.”
Conceitos do Modelo ER
• Exemplos de cardinalidades mínimas e máximas
Bibliotecárias
Editoras
(0,1)
(1,1)
controle
(1,1)
(0,N)
publicacao
(1,N)
Autores
Áreas
Livros
(0,N)
autoria
Livros
Conceitos do Modelo ER
• Relacionamentos entre duas entidades é
chamado Relacionamento Binário
• Relacionamento “N”-ário: relacionamento
entre “N” entidades
– Exemplo: Relacionamento Ternário (a cardinalidade é
dada aos pares)
Cidades
(0,N)
(0,1)
distribuição
Distribuidores
(0,N)
Produtos
“Um produto em uma cidade pode ser
entregue por no máximo 1 distribuidor.”
Conceitos do Modelo ER
• Atributo
– Dado associado as ocorrências de uma
entidade ou relacionamento
ISBN
(0,N)
(0,N)
Livros
ItemPedido
Pedidos
Titulo
Quantidade
Numero
Conceitos do Modelo ER
• Os Atributos podem ser
– obrigatórios ou opcionais
– monovalorados ou multivalorados
– simples ou compostos
CNH (0,1)
Nome
Clientes
Endereço
Email (1,N)
Rua
CEP
Bairro
Conceitos do Modelo ER
• Identificação de Entidades
– Um ou mais atributos cujos valores
distinguem uma ocorrência da entidade
ou relacionamento das demais
ocorrências.
Nome
Código
Bibliotecárias
Salário
Capacidade
NúmeroCorredor
Estantes
NúmeroEstante
Conceitos do Modelo ER
• Entidades Fracas
– Depende da existência de ocorrências de
outra(s) entidade(s)
– A identificação de suas ocorrências também
depende da identificação de outra(s) entidade(s)
Número
NúmeroSeqüência
(1,N)
(1,1)
(0,N)
Pedidos
composição
Itens
referência
Data
Quantidade
(1,1)
Código
Descrição
Produtos
Conceitos do Modelo ER
• Identificação de Relacionamentos
– Um relacionamento é identificado implicitamente
pelo conjunto de identificadores das ocorrências
de entidades que participam dele
Nome
Código
Autores
(0,N)
(1,N)
autoria
ISBN
Livros
DataPublicacao
(a1, l1,12/02/04)
(a1, l2, 18/11/03)
(a2, l1, 02/03/04)
...
Título
Conceitos do Modelo ER
• Identificação de Relacionamentos
– atributos identificadores adicionais
podem ser necessários para definir a
identificação de um relacionamento
CRM
Médicos
Nome
Hora
(0,N)
(0,N)
consulta
Data
Código
Pacientes
Nome
(m1, p1,12/06/04, 13:30)
(m1, p2, 28/05/04, 10:00)
(m2, p1, 02/06/04, 16:30)
...
Restrições do Domínio
• O modelo ER, em geral, não consegue expressar
todas as RIs de um domínio de aplicação
– uma documentação em anexo pode ser
necessária
Bibliotecárias
supervisionada
RI:
supervisão
supervisora
- uma bibliotecária não pode ser supervisora dela mesma
Restrições do Domínio
Tipo Nome
Matrícula
Alunos
(0,N)
(0,N)
curso
Nome
Tipo
Disciplinas
Código
Ris:
-
o Tipo de
o Tipo de
um aluno
um aluno
um aluno deve ser graduação (G) ou pós-graduação (PG)
uma disciplina deve ser graduação (G) ou pós-graduação (PG)
de G não pode estar cursando uma disciplina de PG
de PG não pode estar cursando uma disciplina de G
Exercício de Fixação I
Clube
Em uma entrevista a um clube esportivo levantou-se as
seguintes informações:
• O clube possui diversos sócios que utilizam as diversas
quadras esportivas do clube
• Uma quadra pode ser utilizada por diversos sócios, mas nela
só pode ser praticado um tipo de esporte
• Um esporte pode ser praticado em diversas quadras
Defina os atributos que julgares necessário.
Conceitos do Modelo ER
• Generalização/Especialização
– Permite atribuir propriedades particulares a um
subconjunto das ocorrências (especializadas) de uma
entidade genérica.
– As entidades especializadas herdam o identificador da
entidade genérica
– Símbolo: triângulo isósceles
Endereço
Nome
Pessoas
CPF
Física
CNPJ
Jurídica
Conceitos do Modelo ER
• Tipos de Especialização
– Total ou Parcial
Pessoas
Total: Toda Pessoa é ou
Pessoa Física ou Pessoa
Jurídica
t (default)
Funcionários
Físicas
Jurídicas
p
Médicos
Parcial:
Nem todo
funcionário é
Médico ou
Enfermeiro
Enfermeiros
Conceitos do Modelo ER
• Tipos de Especialização
– Exclusiva ou Não-Exclusiva (compartilhada)
Pessoas
Exclusiva: A entidade genérica
é especializada por uma das
suas folhas, no máximo
Pessoas
Físicas
Jurídicas
Professor
Alunos
Não-Exclusiva:
A entidade
genérica pode
ser
especializada
por várias
entidades
folha
Conceitos do Modelo ER
• Uma entidade pode ser especializada
em qualquer número de entidades
Animais
Vertebrados
Mamíferos
Aves
Invertebrados
Insetos
Moluscos
Conceitos do Modelo ER
• Deve existir apenas uma entidade
genérica (herança múltipla é proibida)
Negros
Brancos
Mestiços
Conceitos do Modelo ER
• Entidade Associativa: Permite associar
entidades a relacionamentos
• Exemplo: Como associar Medicamentos
prescritos em uma Consulta?
(0,N)
(0,N)
Médicos
consulta
?
Medicamentos
Pacientes
Como associar?
Conceitos do Modelo ER
• Entidade Associativa
– Solução: tornar consulta uma entidade associativa
– Uma entidade associativa encapsula uma associação
entre entidades
Consultas
(0,N)
(0,N)
Médicos
consulta
Pacientes
(0,N)
prescrição
(0,N)
Medicamentos
Conceitos do Modelo ER
• Entidade Associativa
– Outra forma de representar
Médicos
(0,N)
consulta
(0,N)
Pacientes
(0,N)
prescrição
(0,N)
Medicamentos
Conceitos do Modelo ER
• Entidade Associativa
– Outra forma de modelar
Médicos
Pacientes
(1,1)
(1,1)
(0,N)
(0,N)
Consultas
(0,N)
prescrição
(0,N)
Medicamentos
Exercício de Fixação II
Clínica
Em uma clínica trabalham médicos e existem pacientes
internados. Cada médico é identificado pelo seu CRM, possui
um nome e recebe um salário na clínica. 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: 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), porém
vários outros médicos podem participar do seu tratamento.
Pacientes estão sempre internados em quartos individuais,
que são identificados por um número e ficam em um andar
da clínica.
RU
Em um restaurante universitário, cada dia da semana possui um
cardápio
específico. Para cada cardápio existe um funcionário responsável e
um
grupo de funcionários que participam de seu preparo.
Os funcionários são classificados em efetivos e estagiários.
Somente
funcionários efetivos podem se responsabilizar por um cardápio.
Cada cardápio possui uma lista de alimentos que são oferecidos.
Deseja-se armazenar as quantidades de cada alimento que são
oferecidos
em cada um dos cardápios. Cada alimento pode ser fornecido por
diversos
fornecedores e diversas vezes.
Para cada fornecimento, deve-se armazenar o preço de cada
fornecedor
para determinado alimento em determinada data.
Nos casos em que o fornecimento passa por uma distribuidora, os
dados da distribuidora deverão ser mantidos.
Defina os atributos que julgares necessário.
Download

0,N