Escolar Documentos
Profissional Documentos
Cultura Documentos
projeto conceitual
Modelo Relacional Modelo Entidade Mapeamento Relacionamento MER para o (MER) Modelo Relacional
Profa. Dra. Cristina Dutra de Aguiar Ciferri Mapeamento para o Modelo Relacional
Mapeamentos
!
Tipo-Entidade Forte
!
Modelo entidade-relacionamento
tipo-entidade E atributos a1, a2, ..., an
Modelo relacional
tabela de n colunas distintas, correspondendo aos n atributos de E
CPF_empregado
EMPREGADO
nome_empregado
Tipo-Entidade Fraca
!
Modelo relacional
tabela de n+m colunas distintas, correspondendo s m chaves de E e aos n atributos de A
CPF_empregado nome_empregado
nome_dependente
EMPREGADO
possui
n DEPENDENTE
sexo_dependente
Tipo-Relacionamento (1:1)
!
Chave estrangeira
chave primria de uma relao que inserida em outra relao utilizada para recuperar informaes de outras relaes
Tipo-Relacionamento (1:1)
CPF_empregado nome_empregado sigla_depto
EMPREGADO
gerencia
DEPARTAMENTO
nome_depto
empregado (CPF_empregado, nome_empregado, sigla_depto) departamento (sigla_depto, nome_depto, CPF_empregado) empregado (CPF_empregado, nome_empregado) departamento (sigla_depto, nome_depto, CPF_empregado) empregado (CPF_empregado, nome_empregado, sigla_depto) departamento (sigla_depto, nome_depto)
Profa. Dra. Cristina Dutra de Aguiar Ciferri Mapeamento para o Modelo Relacional
Tipo-Relacionamento (1:1)
CPF_empregado nome_empregado sigla_depto
EMPREGADO
gerencia
DEPARTAMENTO
nome_depto
- no pode existir departamento sem gerente - pode existir empregado que no gerencia o departamento empregado (CPF_empregado, nome_empregado) departamento (sigla_depto, nome_depto, CPF_empregado) - entidades de departamento: participao total - entidades de empregado: participao parcial
Profa. Dra. Cristina Dutra de Aguiar Ciferri Mapeamento para o Modelo Relacional
Tipo-Relacionamento (1:n)
!
Tipo-Relacionamento (1:n)
EMPREGADO CPF_empregado nome_empregado
trabalha
trabalha
data_incio
Tipo-Relacionamento (m:n)
!
Modelo relacional
a tabela de E1 possuir apenas os atributos de E1 a tabela de E2 possuir apenas os atributos de E2 a tabela R (relativa ao tipo-relacionamento) conter: N a chave primria de E1 (chave estrangeira) N a chave primria de E2 (chave estrangeira) N os atributos do tipo-relacionamento
Chave primria de R
chave primria de E1 + chave primria de E2
Mapeamento para o Modelo Relacional
Tipo-Relacionamento (m:n)
EMPREGADO CPF_empregado nome_empregado
desenvolve
horas_trabalhadas
PROJETO
nro_projeto nome_projeto
empregado (CPF_empregado, nome_empregado) projeto (nro_projeto, nome_projeto) desenvolve (CPF_empregado, nro_projeto, horas_trabalhadas)
Profa. Dra. Cristina Dutra de Aguiar Ciferri Mapeamento para o Modelo Relacional
supervisor
tem
Tipo-relacionamento Ternrio
!
Modelo relacional
a tabela de E1 possuir apenas os atributos de E1 a tabela de E2 possuir apenas os atributos de E2 a tabela de E3 possuir apenas os atributos de E3 a tabela R (relativa ao tipo-relacionamento) conter: N a chave primria de E1 N a chave primria de E2 N a chave primria de E3 N os atributos do tipo-relacionamento
Mapeamento para o Modelo Relacional
Tipo-relacionamento Ternrio
chave-A
tipo-entidade_A x y
chave-B atributos_B
atributos_A
ABC
z
chave-C
tipo-entidade_B
tipo-entidade_C
atributos_C
Tipo-relacionamento Ternrio
!
+ integridade referencial
Segundo caso: x = m; y = n; z = p
N
+ integridade referencial
Tipo-relacionamento Ternrio
!
chaves-B chaves-A
+ integridade referencial
Terceiro caso: x = 1; y = m; z = n
N
+ integridade referencial
Generalizao/Especializao
CPF_empregado
EMPREGADO
tipo_empregado
nome_empregado
SECRETRIO
idioma
TCNICO
grau_tcnico
ENGENHEIRO
tipo_engenheiro
Atributo Tipo-Empregado
!
Atributo nico
tipo-empregado assume valores diferentes, de acordo com o tipo do empregado
Diversos atributos
tipo_empS, tipo_empT, tipo_empE, ... cada um dos atributos assume valor 0 ou 1, de acordo com o tipo do empregado abordagem muito mais flexvel, principalmente para hierarquias com restrio de sobreposio
Generalizao/Especializao
!
Modelo relacional
a tabela de E1 possuir: N os atributos de E1 N um atributo discriminador, caso necessrio as tabelas de E2 a En possuiro: N os seus atributos especficos N a chave primria de E1
Generalizao/Especializao
CPF_empregado
EMPREGADO
tipo_empregado
nome_empregado
SECRETRIO
idioma
TCNICO
grau_tcnico
ENGENHEIRO
tipo_engenheiro
empregado (CPF_empregado, nome_empregado, tipo_empregado) secretrio (CPF_empregado, idioma) tcnico (CPF_empregado, grau_tcnico) engenheiro (CPF_empregado, tipo_engenheiro)
Profa. Dra. Cristina Dutra de Aguiar Ciferri Mapeamento para o Modelo Relacional
Modelo relacional
as tabelas de E2 a En possuiro: N os seus atributos especficos N os atributos de E1 N a chave primria de E1
EMPREGADO
tipo_empregado
nome_empregado
SECRETRIO
idioma
TCNICO
grau_tcnico
ENGENHEIRO
tipo_engenheiro
secretrio (CPF_empregado, nome_empregado, idioma) tcnico (CPF_empregado, nome_empregado, grau_tcnico) engenheiro (CPF_empregado, nome_empregado, tipo_engenheiro)
Profa. Dra. Cristina Dutra de Aguiar Ciferri Mapeamento para o Modelo Relacional
Modelo relacional
a tabela de E1 possuir: N os atributos de E1 N os atributos de E2, ..., En N o atributo discriminador, caso necessrio
EMPREGADO
tipo_empregado
nome_empregado
SECRETRIO
idioma
TCNICO
grau_tcnico
ENGENHEIRO
tipo_engenheiro
Modelo relacional
a tabela de E1 possuir: N os atributos de E1 a tabela referente juno das subclasses possuir: N os atributos de E2, ..., En N a chave primria de E1 N um atributo discriminador, caso necessrio
EMPREGADO
tipo_empregado
nome_empregado
SECRETRIO
idioma
TCNICO
grau_tcnico
ENGENHEIRO
tipo_engenheiro
Agregao
CPF_pessoa nome_pessoa data_ingresso
ALUNO
CGC_univ nome_univ
n
PESSOA
m ingressa
UNIVERSIDADE
m orienta n
CPF_professor
PROFESSOR
nome_professor
Agregao
!
Mapeamento
pessoa (CPF_pessoa, nome_pessoa) universidade (CGC_univ, nome_univ) ingressa/aluno (CPF_pessoa, CGC_univ, data_ingresso) professor (CPF_professor, nome_professor) orienta (CPF_pessoa, CGC_univ, CPF_professor)
Agregao
CPF_pessoa nome_pessoa data_ingresso CGC_univ nome_univ
PESSOA
ingressa
UNIVERSIDADE
ALUNO
m orienta n
PROFESSOR
CPF_professor nome_professor
Mapeamento
pessoa (CPF_pessoa, nome_pessoa) universidade (CGC_univ, nome_univ) ingressa/aluno (CPF_pessoa, CGC_univ, data_ingresso) professor (CPF_professor, nome_professor) orienta (CPF_pessoa, CGC_univ, CPF_professor)
Agregao
CMR_mdico nome_mdico hora data+ CPF_paciente nome_paciente
MDICO
atende
ATENDIMENTO
PACIENTE
mdico (CRM_mdico, nome_mdico) paciente (CPF_paciente, nome_paciente) atendimento (CRM_mdico, CPF_paciente, data, hora)
Agregao
CMR_mdico nome_mdico hora data+ CPF_paciente nome_paciente
MDICO
atende
obs
PACIENTE
ATENDIMENTO
mdico (CRM_mdico, nome_mdico) paciente (CPF_paciente, nome_paciente) atendimento (CRM_mdico, CPF_paciente, data, hora) atende (CRM_mdico, CPF_paciente, obs)
Profa. Dra. Cristina Dutra de Aguiar Ciferri Mapeamento para o Modelo Relacional
Agregao
CMR_mdico nome_mdico hora data+ CPF_paciente nome_paciente
MDICO
atende
obs
PACIENTE
ATENDIMENTO
nro_atendimento
mdico (CRM_mdico, nome_mdico) paciente (CPF_paciente, nome_paciente) atendimento (CRM_mdico, CPF_paciente, data, hora, nro_atendimento) atende (CRM_mdico, CPF_paciente, obs)
Profa. Dra. Cristina Dutra de Aguiar Ciferri Mapeamento para o Modelo Relacional