Sie sind auf Seite 1von 48

MC536

Modelo de dados (reviso)

Modelo de dados
Modelos conceituais para usurios
Alto nvel, fcil entendimento ao usurio MER

Modelos fsicos para computadores


Baixo nvel Descrevem detalhes de como dados so armazenados no computador

Modelos representacionais implementao) para usurios

(ou

de

Nvel intermedirio entre o conceitual e o fsico Modelo relacional

MC536
Transformaes do MER para Esquemas no Modelo Relacional

Sumrio
Entidades fortes Atributos compostos Atributos multivalorados Entidades fracas Superclasses e subclasses Relacionamento 1:1 Relacionamento 1:N, N:1 Relacionamento N:M Auto-relacionamento Exemplo

Sumrio
Entidades fortes Atributos compostos Atributos multivalorados Entidades fracas Superclasses e subclasses Relacionamento 1:1 Relacionamento 1:N, N:1 Relacionamento N:M Auto-relacionamento Exemplo

Entidades fortes
Cada entidade forte (EF) mapeada para um esquema de relao com mesmo nome
Atributo da EF mapeado para atributo com mesmo nome no esquema da relao Uma chave da EF mapeado para chave da relao

Entidades fortes - exemplo


Cidade Rua CEP MER ALUNO

RA

Nome

Aluno(RA, Nome, Rua, Cidade, CEP)

Esquema no Modelo Relacional

Sumrio
Entidades fortes Atributos compostos Atributos multivalorados Entidades fracas Superclasses e subclasses Relacionamento 1:1 Relacionamento 1:N, N:1 Relacionamento N:M Auto-relacionamento Exemplo

Atributos compostos
Atributo composto
Cada atributo atmico do atributo composto mapeado para um atributo na relao

Atributos compostos - exemplo


Cidade Rua CEP MER ALUNO DataNascimento RA Nome Dia Ms Esquema no Modelo Relacional Ano

Aluno(RA,Nome,Rua, Cidade,CEP,Dia,Mes,Ano)

Atributos multivalorados
Atributo multivalorado
Atributo multivalorado mapeado para nova relao Chave da nova relao:
Combinao do atributo + chave primria da relao associada ao tipo entidade que possui o atributo multivalorado

Atributos multivalorados - exemplo


Cidade Rua CEP Telefones ALUNO DataNascimento RA Nome Dia Ano Ms Esquema no Modelo Relacional MER

Aluno(RA, nome, rua, cidade, CEP, dia, mes, ano) Telefone(RA, Numero)

Sumrio
Entidades fortes Atributos compostos Atributos multivalorados Entidades fracas Superclasses e subclasses Relacionamento 1:1 Relacionamento 1:N, N:1 Relacionamento N:M Auto-relacionamento Exemplo

Entidades fracas
Cada entidade fraca (EFr) mapeada para um esquema de relao com mesmo nome.
Atributo da EFr mapeado para atributo com mesmo nome no esquema da relao Chave da entidade forte includa na relao como chave estrangeira Chave da relao ser chave estrangeira mais chave parcial da entidade fraca

Entidades fracas - exemplo


CPF
Nome Nome DataNascimento

EMPREGADO

TEM

DEPENDENTE

Dependente(CPF, nome, dataNascimento)

Sumrio
Entidades fortes Atributos compostos Atributos multivalorados Entidades fracas Superclasses e subclasses Relacionamento 1:1 Relacionamento 1:N, N:1 Relacionamento N:M Auto-relacionamento Exemplo

Superclasses e subclasses
Opo a (relaes mltiplas):
Especializao atributo) disjunta (definida por
Criar relaes superclasse e subclasses

Opo b (relaes mltiplas):


Especializao disjunta

Opo c (relao nica):


Especializao atributo) disjunta (definida por

Opo d (relao nica):


Especializao com sobreposio

Superclasses e subclasses opo a

Superclasses e subclasses opo a

Superclasses e subclasses
Opo a (relaes mltiplas):
Especializao atributo) disjunta (definida por

Opo b (relaes mltiplas):


Especializao disjunta
Criar relaes para subclasses colocando atributos da superclasse nas subclasses

Opo c (relao nica):


Especializao atributo) disjunta (definida por

Opo d (relao mltipla):


Especializao com sobreposio

Superclasses e subclasses opo b

Superclasses e subclasses opo b

Superclasses e subclasses
Opo a (relaes mltiplas):
Especializao atributo) disjunta (definida por

Opo b (relaes mltiplas):


Especializao disjunta

Opo c (relao nica):


Especializao atributo) disjunta (definida
com atributos

por
da

Criar uma nica relao superclasse e subclasses

Opo d (relao nica):


Especializao com sobreposio

Superclasses e subclasses opo c

Superclasses e subclasses opo c

Superclasses e subclasses
Opo a (relaes mltiplas):
Especializao atributo) disjunta (definida por

Opo b (relaes mltiplas):


Especializao disjunta

Opo c (relao nica):


Especializao atributo) disjunta (definida por

Opo d (relao nica):


Especializao com sobreposio
Criar uma nica relao atributo boolean indicando se tupla pertence a uma subclasse

Superclasses e subclasses opo d

Superclasses e subclasses opo d


Indica se pea manufaturada

Indica se pea adquirida

Sumrio
Entidades fortes Atributos compostos Atributos multivalorados Entidades fracas Superclasses e subclasses Relacionamento 1:1 Relacionamento 1:N, N:1 Relacionamento N:M Auto-relacionamento Exemplo

Relacionamento 1:1
So 3 opes:
Duas relaes (mais comum): as 2 entidades fortes so mapeadas para 2 relaes e atributos do relacionamento e chave estrangeira de uma relao so colocados na relao com participao total no relacionamento Uma relao (quando ambas as entidades tm participao total): as 2 entidades fortes e o relacionamento so mapeados para uma nica relao Trs relaes: as 2 entidades fortes so mapeadas para 2 relaes e o relacionamento mapeado para uma terceira relao

Relacionamento 1:1
As 2 entidades fortes so mapeadas para 2 relaes S e T Atributos do relacionamento e chave estrangeira da relao T so colocados na relao S (com participao total no relacionamento)

Relacionamento 1:1
CPF
Nome CodDept NomeDept

EMPREGADO

GERENCIA

DEPARTAMENTO

Empregado(CPF, nome) Departamento(CodDept, NomeDept, CPF)

Relacionamento 1:1
As 2 entidades fortes e o relacionamento so mapeados para uma nica relao (quando ambas as entidades tm participao total)
DEPARTAMENTO
TEM

SECRETRIA

CodDept

NomeDept

CPF

NomeSec

Departamento(CodDept, NomeDept, CPF, NomeSec)

Relacionamento 1:1
As 2 entidades fortes so mapeadas para 2 relaes e o relacionamento mapeado para uma terceira relao
CPF
Nome CodDept NomeDept

EMPREGADO

GERENCIA

DEPARTAMENTO

Departamento(CodDept, NomeDept) Empregado(CPF, Nome) Gerencia(CPF, CodDept)

Sumrio
Entidades fortes Atributos compostos Atributos multivalorados Entidades fracas Superclasses e subclasses Relacionamento 1:1 Relacionamento 1:N, N:1 Relacionamento N:M Auto-relacionamento Exemplo

Relacionamento 1:N
So 2 opes:
Duas relaes: as 2 entidades fortes so mapeadas para 2 relaes e atributos do relacionamento e chave da relao (lado 1) so colocados na relao lado N Trs relaes: as 2 entidades fortes so mapeadas para 2 relaes e o relacionamento mapeado para uma terceira relao

Relacionamento 1:N
Atributo chave da relao (lado 1) e atributos do relacionamento se tornam atributos da relao do lado N.
CURSO N
RESPONSABILIDADE

DEPARTAMENTO

CodCurso

Nome

Durao

CodDept

NomeDept

Curso(codCurso, nome, duracao, codDept) Departmento(codDept, nomeDept)

Relacionamento 1:N
Chave da relao representando o relacionamento ser a chave da relao do lado N.
CURSO N LECIONA 1 PROFESSOR

CodCurso

Nome

Durao

Id

Nome

Curso(codCurso, nome, duracao) Professor(id, nome) Leciona(codCurso, id)

Sumrio
Entidades fortes Atributos compostos Atributos multivalorados Entidades fracas Superclasses e subclasses Relacionamento 1:1 Relacionamento 1:N, N:1 Relacionamento N:M Auto-relacionamento Exemplo

Relacionamento N:M
Relacionamento mapeado para relao. Chave da relao representando o relacionamento ser atributos chave das entidades.
CURSO N EXAME M ALUNO

CodCurso

nome

Nota

RA

Nome

Curso(codCurso, nome) Aluno(RA, nome) Exame(codCurso, RA, nota)

Sumrio
Entidades fortes Atributos compostos Atributos multivalorados Entidades fracas Superclasses e subclasses Relacionamento 1:1 Relacionamento 1:N, N:1 Relacionamento N:M Auto-relacionamento Exemplo

Auto-relacionamento
Usar nomes dos papis para renomear atributos.
PR-REQUISITO

-liberadora-de PreRequisito(liberadora, libera) Disciplina(id, nome) DISCIPLINA


Id

libera

Nome

Sumrio
Entidades fortes Atributos compostos Atributos multivalorados Entidades fracas Superclasses e subclasses Relacionamento 1:1 Relacionamento 1:N, N:1 Relacionamento N:M Auto-relacionamento Exemplo

Exemplo
teacherID deptCode teacherFName Teachers work Departments deptName teacherLName CRN teacherPosition hours quarter date exam grade take at time bldgName Locations teach Courses give courseName

roomNo

Students studentSSN studentFName studentLName studentStatus

Exemplo
Teacher(teacherID, teacherFName, teacherLName, deptCode) Department(deptCode, deptName) Course(CRN, courseName, deptCode) Student(studentSSN, studentFName,studentLName) Location(bldgName, roomNo) StudentStatus(studentSSN, fullTime, partTime) Teach(teacherID, CRN, hours, quarter) Exam(studentSSN, CRN, date, grade) Take(studentSSN, CRN) At(CRN, timeDay, timeHour, bldgName, roomNo)

Exerccios

Universidade

Locadora

Das könnte Ihnen auch gefallen