Projeto de Banco de Dados - inf.ufpr.br · – Solução: tornar consulta uma entidade associativa...

Post on 27-Jan-2019

215 views 0 download

Transcript of Projeto de Banco de Dados - inf.ufpr.br · – Solução: tornar consulta uma entidade associativa...

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 entidade-relacionamento (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 João

(representação gráfica) (interpretação)

Maria

Pedro

Felipe

Conceitos do Modelo ER

• Relacionamento– Conjunto de associações entre

ocorrências de entidades– Símbolo: losango nomeado interligando

as entidades do relacionamento

Autores

(representação gráfica)

Livrosautoria

João

Maria

Pedro

Felipe

Conceitos do Modelo ER

(interpretação)

João, BD Pedro,MCFelipe, MC

BDMC

entidadeAutores

relacionamentoautoria

entidadeLivros

MER

Conceitos do Modelo ER

• Auto-Relacionamento– Relacionamento entre ocorrências de uma mesma

entidade– Exige que papéis sejam definidos

Bibliotecárias

supervisãoSupervisionada Supervisora

Conceitos do Modelo ER

Rita Ana

Carla

Paula

Maria

Rita,Maria

Paula,Ana

supervisorsupervisionado

supervisor

supervisionado

(interpretação)

entidadeBibliotecárias

relacionamentoSUPERVISÃ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 Livrospublicacao1 N

“Uma editora pode publicar N livros. Um livro é publicado por no máximo 1 editora.”

Conceitos do Modelo ER

• Exemplos de Cardinalidades Máximas:

Autores LivrosautoriaN N

Bibliotecárias Áreascontrole1 1

Bibliotecárias

supervisãoSupervisionada Supervisora

(0,N)(1,1)

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 Livrospublicacao(1,1) (0,N)

“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

Editoras Livrospublicacao(1,1) (0,N)

Autores Livrosautoria(1,N) (0,N)

Bibliotecárias Áreascontrole(1,1) (0,1)

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 Distribuidoresdistribuição

Produtos

(0,1)

(0,N)

(0,N)

“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

Livros PedidosItemPedido(0,N) (0,N)

Titulo

ISBN Numero

Quantidade

Conceitos do Modelo ER

• Os Atributos podem ser– obrigatórios ou opcionais – monovalorados ou multivalorados– simples ou compostos

Clientes

Nome CNH (0,1)

Email (1,N)Endereço

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.

Bibliotecárias

Salário

Nome Código

Estantes

NúmeroEstante

Capacidade NúmeroCorredor

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)

Pedidos Itenscomposição(1,1) (1,N)

Data

Número NúmeroSeqüência

Quantidade

Produtos

referência

Código

Descrição

(1,1)

(0,N)

Conceitos do Modelo ER

• Identificação de Relacionamentos– Um relacionamento é identificado implicitamente

pelo conjunto de identificadores das ocorrências de entidades que participam dele

Autores Livrosautoria(1,N) (0,N)

Nome Título

DataPublicacao

Código ISBN

(a1, l1,12/02/04)(a1, l2, 18/11/03)(a2, l1, 02/03/04). . .

Conceitos do Modelo ER

• Identificação de Relacionamentos– atributos identificadores adicionais

podem ser necessários para definir a identificação de um relacionamento

Médicos Pacientesconsulta(0,N) (0,N)

Nome Data

CRM Código

(m1, p1,12/06/04, 13:30)(m1, p2, 28/05/04, 10:00)(m2, p1, 02/06/04, 16:30). . .

Hora

Nome

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

RI: - uma bibliotecária não pode ser supervisora dela mesma

Bibliotecárias

supervisãosupervisionada supervisora

Restrições do Domínio

Alunos Disciplinascurso(0,N) (0,N)

Matrícula

Nome

Código

Tipo

- o Tipo de um aluno deve ser graduação (G) ou pós-graduação (PG) - o Tipo de uma disciplina deve ser graduação (G) ou pós-graduação (PG) - um aluno de G não pode estar cursando uma disciplina de PG - um aluno de PG não pode estar cursando uma disciplina de G

Ris:

NomeTipo

Exercício de Fixação I

ClubeEm 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

Pessoas

Nome

Jurídica

CNPJ

Física

CPF

Endereço

Conceitos do Modelo ER• Tipos de Especialização

– Total ou Parcial

Pessoas

JurídicasFísicas

t (default)

Total: Toda Pessoa é ou Pessoa Física ou Pessoa

Jurídica

Funcionários

EnfermeirosMédicos

p

Parcial: Nem todo

funcionário é Médico ou Enfermeiro

Conceitos do Modelo ER• Tipos de Especialização

– Exclusiva ou Não-Exclusiva (compartilhada)

Pessoas

JurídicasFísicas

Exclusiva: A entidade genérica é especializada por uma das

suas folhas, no máximo

Pessoas

AlunosProfessor

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

InvertebradosVertebrados

AvesMamíferos MoluscosInsetos

Conceitos do Modelo ER

• Deve existir apenas uma entidade genérica (herança múltipla é proibida)

Mestiços

BrancosNegros

Conceitos do Modelo ER

• Entidade Associativa: Permite associar entidades a relacionamentos

• Exemplo: Como associar Medicamentos prescritos em uma Consulta?

Médicos Pacientesconsulta(0,N) (0,N)

Medicamentos

? Como associar?

Conceitos do Modelo ER

• Entidade Associativa– Solução: tornar consulta uma entidade associativa– Uma entidade associativa encapsula uma associação

entre entidades

Médicos Pacientesconsulta(0,N) (0,N)

Medicamentosprescrição

Consultas

(0,N)

(0,N)

Conceitos do Modelo ER

• Entidade Associativa– Outra forma de representar

Médicos Pacientesconsulta(0,N) (0,N)

Medicamentosprescrição(0,N)

(0,N)

Conceitos do Modelo ER

• Entidade Associativa– Outra forma de modelar

Médicos Pacientes

(0,N) (0,N)

Medicamentos

prescrição

(0,N)

(0,N)

Consultas

(1,1) (1,1)

Exercício de Fixação IIClí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.