Modelo Entidade- Relacionamentowiki.icmc.usp.br/images/9/98/SCC5789modeloER.pdfidioma TÉCNICO d/o...

Preview:

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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: |

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

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

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

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

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

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

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

Recommended