rafaeldiasribeiro.com.br
04/08/2012
MODELAGEM DE DADOS
PROF. RAFAEL DIAS RIBEIRO, M.Sc.
@ribeirord
MODELAGEM DE DADOS
Aula 8
Prof. Rafael Dias Ribeiro. M.Sc.
@ribeirord
1
rafaeldiasribeiro.com.br
04/08/2012
Objetivos:
• Aprender a transformar o modelo conceitual para o modelo
lógico relacional para:
• Relacionamentos 1:1
• Relacionamentos 1:n
• Relacionamentos n:m
Convertendo o Diagrama ER para Tabelas Relacionais
• Regras
simples,
baseadas
na
cardinalidade
dos
relacionamentos, são aplicadas para converter entidades e
relacionamentos em tabelas relacionais.
2
rafaeldiasribeiro.com.br
04/08/2012
Para cardinalidade 1:1
• Caso 1:
Para cardinalidade 1:1
• Caso 1:
PEDIDO (NºdoPedido, DataEmissão, DatadeEntrega, Produtos
Comprados, Numero, DataDeEmissão, Valor_Total)
3
rafaeldiasribeiro.com.br
04/08/2012
PEDIDO (NºdoPedido, DataEmissão, DatadeEntrega, Produtos
Comprados, Numero, DataDeEmissão, Valor_Total)
Pedido
Nºdo
Pedido
Data
Emissão
Datade
Entrega
Nota Fiscal
Produtos
Comprados
Numero
DataDe
Emissão
Valor
Total
Para cardinalidade 1:1
• Caso 2:
ALUNO
Matricula
Nome
e-mail
endereço
(1,1)
PRODUZ
(0,1)
TESE
Titulo
Resumo
Ano
4
rafaeldiasribeiro.com.br
04/08/2012
Para cardinalidade 1:1
ALUNO
(1,1)
PROD
UZ
(0,1)
TESE
• Caso 2:
Titulo
Resumo
Ano
Matricula
Nome
e-mail
endereço
ALUNO (Matricula, Nome, e-mail, endereço)
TESE (Aluno-Matricula , Titulo, Resumo, Ano)
ALUNO (Matricula, Nome, e-mail, endereço)
TESE (Aluno-Matricula , Titulo, Resumo, Ano)
ALUNO
Matricula
Nome
e-mail
endereço
TESE
Aluno
Matricula
Titulo
Resumo
Ano
5
rafaeldiasribeiro.com.br
04/08/2012
Para cardinalidade 1:N
Para cardinalidade 1:N
FABRICA (Nome, CNPJ)
LOJA (CNPJ_Loja, Fabrica-CNPJ , Razão_Social, End, Nome,
Telefone)
6
rafaeldiasribeiro.com.br
04/08/2012
FABRICA (Nome, CNPJ)
LOJA (CNPJ_Loja, Fabrica-CNPJ , Razão_Social, End, Nome,
Telefone)
FABRICA
CNPJ
Nome
LOJA
CNPJ
FABRICA
CNPJ
Razão
Social
End
Nome
Telefone
Para cardinalidade 1:N
FABRICA(Nome, CNPJ)
CADASTRO(CNPJ, CNPJ_Loja)
LOJA(CNPJ_Loja, Razão_Social, End, Nome, Telefone)
7
rafaeldiasribeiro.com.br
04/08/2012
FABRICA(Nome, CNPJ)
CADASTRO(CNPJ, CNPJ_Loja)
LOJA(CNPJ_Loja, Razão_Social, End, Nome, Telefone)
FABRICA
CNPJ
CADASTRO
Nome
FABRICA
CNPJ
FABRICA
CNPJ
LOJA
CNPJ
Razão
Social
End
Nome
Telefone
Para cardinalidade N:M
8
rafaeldiasribeiro.com.br
04/08/2012
Para cardinalidade N:M
ROUPA (Cod_modelo, Preço, TipoTecido)
POSSUEM (Cod_Modelo,Sigla)
TECIDO (Sigla, Descrição)
ROUPA (Cod_modelo, Preço, TipoTecido)
POSSUEM (Cod_Modelo,Sigla)
TECIDO (Sigla, Descrição)
POSSUEM
TECIDO
Sigla
TECIDO
Sigla
Descrição
ROUPA
Cod_modelo
ROUPA
Cod_modelo
Preço
TipoTecido
9
rafaeldiasribeiro.com.br
04/08/2012
Para cardinalidade N:M
EMPREGADO
(1,N)
(1,N)
Trabalha
em
Horas
Matricula
Nome
e-mail
Projeto
Código
Nome
Local
Para cardinalidade N:M
(1,N)
EMPREGADO
Matricula
Nome
e-mail
(1,N)
Trabalha
em
Projeto
Horas
Código
Nome
Local
EMPREGADO (Matricula, Nome, e-mail)
PROJETO (Código , Nome , Local)
EMPREGADO/PROJETO (EMPREGADO-Matricula, PROJETO-Código, Horas)
10
rafaeldiasribeiro.com.br
04/08/2012
EMPREGADO (Matricula, Nome, e-mail)
PROJETO (Código , Nome , Local)
EMPREGADO/PROJETO (EMPREGADO-Matricula, PROJETO-Código, Horas)
PROJETO
EMPREGADO
Matricula
Nome
e-mail
Código
Nome
Local
EMPREGADO/PROJETO
EMPREGADO.
Matricula
PROJETO.
Código
Local
Para cardinalidade N:M
PEÇA
Codigo
Nome
Cor
Cidade
(1,N)
(1,N)
Forneci
mento
QTDE
FORNECEDOR
Codigo
Nome
Cidade
11
rafaeldiasribeiro.com.br
04/08/2012
Para cardinalidade N:M
(1,N)
PEÇA
(1,N)
Forneci
mento
QTDE
Codigo
Nome
Cor
Cidade
FORNECEDOR
Codigo
Nome
Cidade
PEÇA (Codigo, Nome, Cor, Cidade)
FORNECEDOR (Codigo , Nome, Cidade)
FORNECIMENTO (PEÇA-Codigo, FORNECEDOR-Codigo, QTDE)
Para cardinalidade N:M
PEÇA
CODIGO
NOME
COR
CIDADE
P1
PREGO
VERMELHO
RJ
P2
PORCA
VERDE
SP
P3
PARAFUSO
AZUL
CURITIBA
FORNECEDOR
CODIGO
NOME
CIDADE
S1
SILVA
RJ
S2
JOÃO
SP
FORNECIMENTO
COD_FORN
COD_PECA
QTDE
S1
P1
300
S1
P2
200
S1
P3
400
S2
P1
300
S2
P2
400
12
rafaeldiasribeiro.com.br
04/08/2012
numero
andar
capacidade
AMBULATORIO
codigo
nome
ESPECIALIDADE
(0,1)
(1,1)
(0,N)
(0,N)
CONSULTA
Data
Hora
(1,1)
(0,N)
(1,N)
(1,1)
PACIENTE
MEDICO
Matricula
nome
crm
codigo
nome
CPF
Dt.Nascimento
codigo
nome
ESPECIALIDADE
(0,1)
(0,N)
MEDICO
ESPECIALIDADE (Codigo, Nome)
Matricula
nome
crm
MEDICO (Matricula, Nome, Crm, ESPECIALIDADE- Codigo )
13
rafaeldiasribeiro.com.br
04/08/2012
numero
andar
capacidade
AMBULATORIO
codigo
nome
ESPECIALIDADE
(0,1)
(1,1)
(0,N)
(0,N)
CONSULTA
(1,N)
Data
Hora
codigo
nome
CPF
Dt.Nascimento
PACIENTE
numero
andar
capacidade
(1,1)
(1,1)
(0,N)
(0,N)
CONSULTA
Data
Hora
MEDICO
Matricula
nome
crm
(1,1)
AMBULATORIO
(1,1)
(0,N)
MEDICO
Matricula
nome
crm
(1,N)
(1,1)
PACIENTE
codigo
nome
CPF
Dt.Nascimento
MEDICO (Matricula, Nome, Crm, ESPECIALIDADE- Codigo )
AMBULATORIO (Numero, Andar, Capacidade)
PACIENTE (Codigo, Nome, CPF, Dt.Nascimento
CONSULTA (MEDICO- Matricula, AMBULATORIO- Numero, PACIENTE-Codigo,Data,Hora)
14
rafaeldiasribeiro.com.br
04/08/2012
CONSULTA (MEDICO- Matricula, AMBULATORIO- Numero, PACIENTE-Codigo,Data,Hora)
MED.
Matricula
AMB.
Numero
PAC.
Codigo
Data
Hora
012
017
015
012
2
5
3
2
001
005
009
001
25/11/2009
26/12/2009
31/12/2009
25/11/2009
08:15
23:50
12:00
19:30
015
3
009
15/01/2010
11:30
CHAVE PRIMÁRIA
• Uma chave primária é uma coluna ou uma combinação de
colunas cujos valores distinguem uma linha das demais
dentro de uma tabela.
Por isso, nas definições formais de chave primária, exige-se
que essa seja mínima.
Uma chave é mínima quando todas suas colunas forem
efetivamente necessárias para garantir o requisito de
unicidade de valores da chave.
15
rafaeldiasribeiro.com.br
04/08/2012
CONSULTA (MEDICO- Matricula, AMBULATORIO- Numero, PACIENTE-Codigo, Data, Hora)
MED.
Matricula
AMB.
Numero
PAC.
Codigo
Data
Hora
012
2
001
25/11/2009
08:15
017
5
005
26/12/2009
23:50
015
3
009
31/12/2009
12:00
012
2
001
25/11/2009
19:30
015
3
009
15/01/2010
11:30
MEDICO (Matricula, Nome, Crm, ESPECIALIDADE- Codigo )
ESPECIALIDADE (Codigo, Nome)
AMBULATORIO (Numero, Andar, Capacidade)
PACIENTE (Codigo, Nome, CPF, Dt.Nascimento
CONSULTA (MEDICO- Matricula, AMBULATORIO- Numero, PACIENTE-Codigo,Data,Hora)
16
Download

Aula 8 - rafaeldiasribeiro.com.br