30
Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade- Relacionamento Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Modelo Entidade-Relacionamento

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Page 2: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Motivação! Objetivo da abordagem de BD:

– oferecer abstração dos dados– separar aplicações dos usuários dos

detalhes de hardware– ferramenta utilizada: modelo de dados

! Modelo de dados:– conjunto de ferramentas conceituais para a

descrição dos dados e dos relacionamentos existentes entre os dados, da semântica e das restrições que atuam sobre estes

Page 3: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Categorias de Modelos de Dados

! Divisão baseada nos tipos de conceitos oferecidos para descrever a estrutura do BD

! Modelo de dados conceitual– modelo de alto nível – oferece conceitos próximos aos usuários– exemplo: modelo entidade-relacionamento

Page 4: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Categorias de Modelos de Dados

! Modelo de dados de implementação– oferece conceitos que

! podem ser facilmente utilizados por usuários finais

! não estão distantes da maneira na qual os dados estão organizados dentro do computador

– é implementado de maneira direta– exemplo: modelo relacional

Page 5: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Categorias de Modelos de Dados

! Modelo de dados físico– modelo de baixo nível– descreve como os dados estão

armazenados fisicamente no computador

Page 6: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Projeto de BD

minimundo

análise derequisitos

projeto conceitual

mapeamentopara modelo

projeto físico

conjunto de necessidades

esquemaconceitual

esquema em linguagemde implementação

Modelo EntidadeRelacionamento

(MER)

MapeamentoMER para o

Modelo Relacional

Modelo Relacional

depende do SGBDindepende do SGBD

Page 7: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Modelo Entidade Relacionamento Básico

! Característica– proposto por Chen (1970)– representa um problema como um

conjunto de entidades e de relacionamentos entre estas entidades

– utilizado na modelagem de aplicações de BD tradicionais

Page 8: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Modelo Entidade Relacionamento Básico

! Conceitos Básicos– entidade; atributo; tipo-entidade– chave primária– relacionamento; atributo; tipo-relacionamento

unário, binário, ternário– restrições de cardinalidade e de participação– tipo-entidade fraca

Page 9: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

DEPARTAMENTOEMPREGADO

gerencia

trabalha

PROJETODEPENDENTE

sigla_depto

nome_depto

nome_projeto

nome_dependente

sexo_dependente

possui

1 1

n 1

n

mdesenvolve

nro_projeto

m

n

1

n

CPF_empregado

nome_empregado

supervisiona

1

nsubordinado

supervisor

data_início

controla

Page 10: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

DEPARTAMENTOEMPREGADO

gerencia

trabalha

PROJETODEPENDENTE

controla

sigla_depto

nome_depto

nome_projeto

nome_dependente

sexo_dependente

possui

1 1

n 1

n

mdesenvolve

nro_projeto

m

n

1

n

CPF_empregado

nome_empregado

supervisiona

1

nsubordinado

supervisor

data_início

tipo-entidade

atributos

Page 11: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

DEPARTAMENTOEMPREGADO

gerencia

trabalha

PROJETODEPENDENTE

controla

sigla_depto

nome_depto

nome_projeto

nome_dependente

sexo_dependente

possui

1 1

n 1

n

mdesenvolve

nro_projeto

m

n

1

n

CPF_empregado

nome_empregado

supervisiona

1

nsubordinado

supervisor

data_início

tipo-entidade

chaveprimária

fraca forte

chaveparcial

Page 12: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

DEPARTAMENTOEMPREGADO

gerencia

trabalha

PROJETODEPENDENTE

controla

sigla_depto

nome_depto

nome_projeto

nome_dependente

sexo_dependente

possui

1 1

n 1

n

mdesenvolve

nro_projeto

m

n

1

n

CPF_empregado

nome_empregado

supervisiona

1

nsubordinado

supervisor

data_início

tipo-relacionamento

atributos

Page 13: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

DEPARTAMENTOEMPREGADO

gerencia

trabalha

PROJETODEPENDENTE

controla

sigla_depto

nome_depto

nome_projeto

nome_dependente

sexo_dependente

possui

1 1

n 1

n

mdesenvolve

nro_projeto

m

n

1

n

CPF_empregado

nome_empregado

supervisiona

1

nsubordinado

supervisor

data_início

restrição de cardinalidade

Page 14: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

DEPARTAMENTOEMPREGADO

gerencia

trabalha

PROJETODEPENDENTE

controla

sigla_depto

nome_depto

nome_projeto

nome_dependente

sexo_dependente

possui

1 1

n 1

n

mdesenvolve

nro_projeto

m

n

1

n

CPF_empregado

nome_empregado

supervisiona

1

nsubordinado

supervisor

data_início

restrição de participação

Page 15: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Resumo da Notação

tipo entidade forte

tipo entidade fraca

tipo relacionamento

identificador de relacionamento

atributo

atributo chave

atributo derivado

atributo composto

participação total de E2 em R

...

E1 E2R

E1 E2R n1 cardinalidade 1:N

atributo multivalorado

Page 16: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Modelo Entidade Relacionamento Estendido

! Características– introduz semântica adicional ao modelo

ER– utilizado na modelagem de aplicações

mais complexas! Conceitos

– generalização/especialização– agregação– categoria

Page 17: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Generalização/Especialização

! Conceitos– subclasse/superclasse– herança

! de atributos! de relacionamentos

– restrições! especialização definida pelo atributo! restrição de disjunção (disjunta/sobreposta)! restrição de completude (total/parcial)

Page 18: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

grau_técnico tipo_engenheiro

CPF_empregadonome_empregado

SECRETÁRIO ENGENHEIRO

idioma

TÉCNICO

d/o

EMPREGADO

superclasse

subclasses

semântica é-um

Superclasse/Subclasse

tipo_empregado

Page 19: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

grau_técnico tipo_engenheiro

HerançaCPF_empregado

SECRETÁRIO ENGENHEIRO

idioma

TÉCNICO

d/o

EMPREGADO

atributos de secretário =atributos de

(empregado + secretário)

nome_empregado

tipo_empregado

semântica é-um

Page 20: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

grau_técnico tipo_engenheiro

Generalização/EspecializaçãoCPF_empregadonome_empregado

SECRETÁRIO ENGENHEIRO

idioma

TÉCNICO

d/o

EMPREGADO

generalizaçãobottom-up

especializaçãotop-down

tipo_empregado

Page 21: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

grau_técnico tipo_engenheiro

Especialização Definida pelo UsuárioCPF_empregadonome_empregado

SECRETÁRIO ENGENHEIRO

idioma

TÉCNICO

d/o

EMPREGADO

tipo_empregado

subclasses definidas pelo predicadosubclasses definidas pela condição

Page 22: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

grau_técnico tipo_engenheiro

Restrição de DisjunçãoCPF_empregadonome_empregado

SECRETÁRIO ENGENHEIRO

idioma

TÉCNICO

d/o

EMPREGADO

tipo_empregado

subclasses mutuamente exclusivas: d

subclasses que se sobrepõem: o

Page 23: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

grau_técnico tipo_engenheiro

Restrição de CompletudeCPF_empregadonome_empregado

SECRETÁRIO ENGENHEIRO

idioma

TÉCNICO

d/o

EMPREGADO

tipo_empregadototal: ||

parcial: |

Page 24: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

EMPREGADO

SECRETÁRIO

TÉCNICO

ENGENHEIRO

GERENTE

MENSALISTA HORISTA

d

d

CPF_empregado

nome_empregado

idioma

grau_técnico

tipo_engenheiro

valor_hora

ENGENHEIRO_GERENTE adicional

formação

salário

subclasse compartilhada

tipo_empregado forma_pagamentocargoentidades de

engenheiro_gerente herdam os atributos e os relacionamentos

de empregado, engenheiro, gerente e mensalista

Herança Múltipla

Page 25: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Agregação! Tipos-entidades agregados são

representados como tipos-entidadescomuns

! Pode englobar– dois tipos-entidades e um tipo-

relacionamento! Dados vistos em um nível mais baixo

– atributos dos tipos-relacionamentos– chaves primárias dos tipos-entidades

Page 26: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

UNIVERSIDADEPESSOA ingressa

CGC_univ

nome_univ

n m

CPF_pessoa

nome_pessoa data_ingresso

ALUNO

PROFESSORCPF_professor

nome_professor

orienta

m

n

o tipo-entidade aluno é composto dostipos-entidade pessoae universidade e do tipo-relacionamento

ingressa

a agregação alunoestá relacionada ao

tipo-entidade professor

Representação

Page 27: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

UNIVERSIDADEPESSOA ingressa

CGC_univ

nome_univ

n m

CPF_pessoa

nome_pessoa data_ingresso

ALUNO

PROFESSORCPF_professor

nome_professor

orienta

m

n

o tipo-entidade aluno é composto dostipos-entidade pessoae universidade e do tipo-relacionamento

ingressa

a agregação alunoestá relacionada ao

tipo-entidade professor

Representação Simplificada

Page 28: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Agregação

PACIENTEMÉDICO atende

CPF_paciente

nome_paciente

n m

CMR_médico

nome_médicodata+

ATENDIMENTO

hora

Enfocando a possibilidade do mesmo médicoatender o mesmo paciente em diferentes datas

Page 29: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Agregação

PACIENTEMÉDICO atende

CPF_paciente

nome_paciente

n m

CMR_médico

nome_médicodata+

ATENDIMENTO

hora

obs

Adicionando atributos também ao tipo-relacionamento

Page 30: Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o EMPREGADO superclasse subclasses semântica é-um Superclasse/Subclasse tipo_empregado

Banco de Dados – Modelos de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Agregação

PACIENTEMÉDICO atende

CPF_paciente

nome_paciente

n m

CMR_médico

nome_médicodata+

ATENDIMENTO

hora

obs

nro_atendimento

Adicionando uma chave primária à agregação