Modelo Entidade Relacionamento -...

Preview:

Citation preview

Modelo Entidade Relacionamento

Prof. Scilas Barbosa Filho

Scilas Barbosa Filho Modelagem de Dados 1

O Modelo E-R

• Proposto por Peter Chen [1976]• “The Entity-Relationship Model: Toward

the unified view of data”• Notações:

– Chen– Martin (“pé-de-galinha”)– Bachman (setas)– IDEF1X (US Air Force)

Scilas Barbosa Filho Modelagem de Dados 2

O Modelo E-R

Elementos:– Entidades

Conjuntos de “coisas” que possuem características próprias.

– AtributosRepresentam as características de uma Entidade.

– RelacionamentosVínculos ou associações entre Entidades.

Scilas Barbosa Filho Modelagem de Dados 3

Entidadeconceito

• conjunto de objetos sobre os quais é preciso armazenar informações úteis.

• conjunto de vários elementos (mais que 1).• conjuntos de elementos distinguíveis que aceitam

um código para diferencia-los.• seus atributos NÃO dependem de outras

entidades.• conjuntos qualificativos (ex. grau de instrução).• Ex de possíveis Entidades: pessoas, locais,

objetos, documentos, etc.

Scilas Barbosa Filho Modelagem de Dados 4

Entidaderepresentação

ProdutosFuncionários

matricula nome endereço código descrição unidade

CargosNotas Fiscais

Scilas Barbosa Filho Modelagem de Dados 5númerosérie data

emissãocódigo descrição pré-requisitos

Entidadeconceito

CUIDADO:• aquilo que é entidade numa circunstância,

pode não ser em outra.• Exercício: identifique 6 entidades, e seus

atributos, num possível sistema de controle acadêmico (secretaria) da SPEI.

Scilas Barbosa Filho Modelagem de Dados 6

Atributosconceito

• informações úteis a respeito de uma entidade ou relacionamento.

• os atributos de uma entidade permanecem constantes para todos os seus relacionamentos.

• os atributos de uma entidade são independentes de todas as demais entidades.

Scilas Barbosa Filho Modelagem de Dados 7

Atributostipos

• determinante:– seu valor representa um elemento da entidade.– seu valor é único para a entidade.– deve ser sublinhado.

• composto– necessita ser dividido em sub-atributos, para que seu

significado seja melhor compreendido.• multi-valorado

– pode assumir mais do que um valor para cada entidade, é diferenciado com um (*).

Scilas Barbosa Filho Modelagem de Dados 8

Atributosrepresentação

ProdutosFuncionários

matricula nome endereço código descrição unidade

CargosNotas Fiscais

Scilas Barbosa Filho Modelagem de Dados 9númerosérie data

emissãocódigo descrição pré-requisitos

Atributosex: atributo composto

Funcionários

matriculaendereço

rua nº CEP

Scilas Barbosa Filho Modelagem de Dados 10

Atributosex: multi-valorado

Funcionários

matricula* telefone

Scilas Barbosa Filho Modelagem de Dados 11

Qual a melhor solução?Caso 1 Caso 2

Funcionários

matricula* telefone

DDD nº descrição

Funcionários

matriculatelefone

*DDD *nº *descrição

Scilas Barbosa Filho Modelagem de Dados 12

Atributosex: composto e multi-valorado

Funcionários

matricula* telefone

DDD nº descrição

Scilas Barbosa Filho Modelagem de Dados 13

Entidades Fracas

• Dependem de uma “entidade forte”• A Entidade Fraca é representada por:

• Dependência de Existência• Dependência de Identificador

Scilas Barbosa Filho Modelagem de Dados 14

Entidades FracasDependência de Existência

PertenceFunc Dependente1 N

Scilas Barbosa Filho Modelagem de Dados 15

Entidades FracasDependência de Identificador

FazContribuinte Declaração IR1 N

Scilas Barbosa Filho Modelagem de Dados 16

Relacionamentosconceito

• associação entre entidades.• representam os vínculos que existem entre

as entidades no mundo real.• são representados por losangos.• Ex. no sistema de controle acadêmico da

SPEI o relacionamento MATRICULA, vincula um ALUNO a uma DISCIPLINA.

Scilas Barbosa Filho Modelagem de Dados 17

Relacionamentosconceitos

• Grau– é igual a quantidade de entidades vinculadas

através do relacionamento.

Disciplina

Pré-Req

Func DeptoLotação

Grau 2

Grau 1Scilas Barbosa Filho Modelagem de Dados 18

Relacionamentosconceitos

• Classe– identifica a quantas vezes cada instância de

uma entidade pode participar do relacionamento.

• para relacionamentos binários temos classes:– 1:1– 1:N– N:N

Scilas Barbosa Filho Modelagem de Dados 19

RelacionamentosClasse 1:1

Func ProjetoParticipa

1 1

Cada FUNC participa de quantos PROJETOS?

Cada PROJETO tem a participação de quantos FUNC?

Scilas Barbosa Filho Modelagem de Dados 20

Classe 1:1

Scilas Barbosa Filho Modelagem de Dados 21

Classe 1:1

CarroUtilizaFunc1 1

Fargo

Prizm

Kurt

Brian

Tonya

Scott

Nancy

Mustang

Ranger

Jeep

Scilas Barbosa Filho Modelagem de Dados 22

RelacionamentosClasse 1:N

Func ProjetoParticipa

1 N

Cada FUNC participa de quantos PROJETOS?

Cada PROJETO tem a participação de quantos FUNC?

Scilas Barbosa Filho Modelagem de Dados 23

RelacionamentosClasse N:1

Func ProjetoParticipa

N 1

Cada FUNC participa de quantos PROJETOS?

Cada PROJETO tem a participação de quantos FUNC?

Scilas Barbosa Filho Modelagem de Dados 24

Scilas Barbosa Filho Modelagem de Dados 25

VídeoAlugaCliente1 N

Classe 1:N

Silva

Johnson

Hill

Cerveny

Denton

Fried Green Tomatoes

Gone with the WindTerminator

Terminator II

Cretaceous Park

Sandlot

Son of Flubber

BladeRunnerBad News bears

RelacionamentosClasse N:N

Func ProjetoParticipa

N N

Cada FUNC participa de quantos PROJETOS?

Cada PROJETO tem a participação de quantos FUNC?

Scilas Barbosa Filho Modelagem de Dados 26

Classe N:N

Scilas Barbosa Filho Modelagem de Dados 27

Classes 1:N e N:N

Scilas Barbosa Filho Modelagem de Dados 28

Administração

Curso Matricula AlunoN NEnsina Disciplina

Informática Adm Mat

Lógica

Banco deDados

Custos

RietaColleenSeanJodyWalt

MikeJordan

AndrewLarryWhitneyBarbJohn

N1

RelacionamentosTotalidade

• Uma Entidade é dita TOTAL num relacionamento, quando TODOS os seus elementos participam deste relacionamentos.

• Caso contrário a Entidade é dita PARCIAL.

Scilas Barbosa Filho Modelagem de Dados 29

RelacionamentosTotalidade

Func ProjetoParticiapa

N

N

Quantos PROJETOS estão associados a FUNCIONÁRIOS?

Quantos FUNCIONÁRIOS estão associados a PROJETOS?

Todos

Alguns

Scilas Barbosa Filho Modelagem de Dados 30

Atributos de Relacionamento

• Um Atributo pertence a um Relacionamento classe N:N, sempre que:– fixa-se um elemento da 1ª entidade, e observa-

se o valor do atributo para cada mudança de elemento na 2ª entidade.

– se o valor do atributo mudar, então ele não pode pertencer a 1ª entidade.

– se o atributo não pertence as entidades envolvidas, e é relevante no contexto do relacionamento, então ele é atributo do relacionamento.

Scilas Barbosa Filho Modelagem de Dados 31

Atributos de Relacionamento

• A quem pertnece os ATRIBUTOS: PRECO, QUANTIDADE e PRAZO?

Produtos FornecedoresVendeN N

Scilas Barbosa Filho Modelagem de Dados 32

Atributos de Relacionamento

• PRECO, QUANTIDADE e PRAZO, não podem pertencer a PRODUTOS, pois se fosse assim TODOS os FORNECEDORES deveriam praticar o mesmo preço.

Produtos FornecedoresVendeN N

*Condições

Preço Quant Prazo

Scilas Barbosa Filho Modelagem de Dados 33

Atributos de Relacionamento

• PRECO, QUANTIDADE e PRAZO, não podem pertencer a FORNECEDORES, pois se fosse assim TODOS os PRODUTOS de um fornecedor teriam o mesmo preço.

Produtos FornecedoresVendeN N

*Condições

PreçoQuant

Prazo

Scilas Barbosa Filho Modelagem de Dados 34

Atributos de Relacionamento

• Não pertencendo nem a PRODUTOS ou a FORNECEDORES, e sento relevante no relaciomaneto VENDA, são atributos do relacionamento

Produtos FornecedoresVendeN N

*Condições

PreçoQuant

Prazo

Scilas Barbosa Filho Modelagem de Dados 35

Atributos de Relacionamento

• A quem pertnece os ATRIBUTOS: DATA ADMISSÃO e DATA LOTAÇÃO?

Funcionario DepartamentoPertenceN 1

Scilas Barbosa Filho Modelagem de Dados 36

Auto-Relacionamentos

• Relacionamento de uma ENTIDADE consigo mesma.

• também chamados de Relacionamentos RECURSIVOS.

• Exemplo: Uma empresa tem a entidade FUNC e deseja saber quais são os funcionários casados com outros funcionários.

Scilas Barbosa Filho Modelagem de Dados 37

Auto-Relacionamentos

Casado comFunc1

1

Rieta

Colleen

Sean

Jody

Walt

MikeJordan

Andrew

Larry

Whitney

Barb

John

isto é equivalente a:

Casado comFunc 1 1Func

Scilas Barbosa Filho Modelagem de Dados 38

Auto-Relacionamento

• Num Auto-Relacionamento é necessário saber o PAPEL que cada elemento do conjunto de entidade está representando.

Casdo comFuncionario

1

1mulher

marido

ComponentesPeças

N

Ncompõe

é composta quantidade

Scilas Barbosa Filho Modelagem de Dados 39

Relacionamentos Múltiplos

• É uma extensão do relacionamento binário para um número qualquer de entidades.

Materiais

MRP

PedidosCompra

RequisiçõesN N

N

Scilas Barbosa Filho Modelagem de Dados 40

Relacionamentos Múltiplos

Aluno

PDA

Disciplina

ProfessorN 1

N

Um PROF em umaDISCIPLINA estão

associados a quantos ALUNOS?

Um ALUNO emuma DISCIPLINA estão associados a

quantos PROF?

Um ALUNO e um PROF estãoassociados em quantas DISCIPLINAS?

Scilas Barbosa Filho Modelagem de Dados 41

Agregações

• Um AGREGADO é tratado como sendo uma ENTIDADE composta por um ÚNICO RELACIONAMENTO.

• Serve para que RELACIONAMENTOS MÚLTIPLOS sejam decompostos.

Scilas Barbosa Filho Modelagem de Dados 42

Agregações

• O relacionamento MRP não permite que uma REQUISIÇÃO seja atendida quando o MATERIAL está no estoque:

Materiais

MRP

PedidosCompra

RequisiçõesN N

N

Scilas Barbosa Filho Modelagem de Dados 43

Agregações• Solução:

Decompor MRP em 2 relacionamentos:1) MATERIAIS - REQUISIÇÃO2) PEDIDO e o relacionamento 1.

Materiais RequisiçõesItemReq

PedidosCompra

ItemPedido

N N

N

N

Agregado

Scilas Barbosa Filho Modelagem de Dados 44

Agregações

• Exemplo: Como conseqüência da ALOCAÇÃO de um FUNCIONÁRIO num PROJETO, ele pode necessitar que uma MÁQUINA.

Funcionario ProjetoAlocado

Máquina

Utiliza

N N

N

1

Scilas Barbosa Filho Modelagem de Dados 45

Estrutura de Generalização e Especialização

• Permite que uma ENTIDADE tenha sub-classes ou pertença a super-classes.

• A associação entre uma Generalização (super-classe) e suas Especializações (sub-classes), recebe o nome de “isa” (é um).

• Representada por um triângulo:ISA

Scilas Barbosa Filho Modelagem de Dados 46

Estrutura de Generalização e Especialização

• Também conhecidas como PARTICIONAMENTO.

• Serve para representar ENTIDADES com ATRIBUTOS parcialmente disjuntos.

• Permite que um relacionamento fique restrito a um sub-conjunto de uma ENTIDADE.

Scilas Barbosa Filho Modelagem de Dados 47

Estrutura de Generalização e Especialização

• Uma super-classe é uma Generalização de um conjunto de Especializações (sub-classes).

• Cada Especialização HERDA, atributos e relacionamentos da Entidade da qual derivou.

• Relacionamentos entre Especializações de uma mesma Generalização são um tipo de Auto-Relacionamento.

Scilas Barbosa Filho Modelagem de Dados 48

Estrutura de Generalização e Especialização

• A entidade FUNCIONÁRIOS pode ser particionada em:

Func

ISA

Motoristas Secretárias Engenheiros

Scilas Barbosa Filho Modelagem de Dados 49

Estrutura de Generalização e Especialização

• Os Atributos NOME, DATA ADMISSÃO, RG, são Atributos de FUNCIONÁRIOS.

• O Atributo IDIOMAS, só é útil para SECRETÁRIAS.

• Os Atributos HABILITAÇÃO, ACIDENTES são exclusivos dos MOTORISTAS

Scilas Barbosa Filho Modelagem de Dados 50

Estrutura de Generalização e Especialização

Func

ISA

Motoristas Secretárias Engenheiros

nome data admissãoRG

* Idiomas* acidentes CREAhabilitação

Scilas Barbosa Filho Modelagem de Dados 51

Estrutura de Generalização e Especialização

• Todos os FUNCIONÁRIOS estão lotados num DEPARTAMENTO.

• Somente os MOTORISTAS dirigem VEÍCULOS.

• Apenas os ENGENHEIROS participam de PROJETOS.

Scilas Barbosa Filho Modelagem de Dados 52

Estrutura de Generalização e Especialização

Func

ISA

Motoristas Secretárias Engenheiros

nome data admissãoRG

* Idiomas* acidentes CREAhabilitação

Veículos

dirigem

N

N

DepartamentolotaçãoN 1

Veículos

Particiapa

N

N

Scilas Barbosa Filho Modelagem de Dados 53

Atributos Globais

• Estão associados a uma Entidade ou a um Relacionamento.

• Seu valor é CONSTANTE para todo o conjunto ao qual pertence.

• Exemplo: numa biblioteca considere que a MULTA por dia de atraso de um exemplar seja constante.

Scilas Barbosa Filho Modelagem de Dados 54

Atributo Global

Livro

nomemulta Atributo

Globalcódigo

Scilas Barbosa Filho Modelagem de Dados 55

Recomendações para criação de um DER

1. Antes de começar a modelar, conheça o “mundo real”.

2. Identifique quais são as ENTIDADES.3. Para cada Entidade represente seus

ATRIBUTOS.4. Confronte cada Entidade consigo mesma e

com as demais na procura de possíveis RELACIONAMENTOS

Scilas Barbosa Filho Modelagem de Dados 56

Recomendações para criação de um DER

5. Verifique a existência de ATRIBUTOS DE RELACIONAMENTO.

6. Para relacionamentos múltiplos estude a necessidade de AGREGAÇÕES.

7. Desenhe o DER, com todas as Entidades, Atributos, Relacionamentos, Classes e Restrições de Totalidade.

Scilas Barbosa Filho Modelagem de Dados 57

Recomendações para criação de um DER

8. Analise cuidadosamente todas as restrições que você impôs.

9. Até que você e os seus usuários estejam convencidos de que o DER reflete fielmente o “mundo real”, volte ao item 1.

Scilas Barbosa Filho Modelagem de Dados 58

Disciplina

Scilas Barbosa Filho Modelagem de Dados 59

casa

Scilas Barbosa Filho Modelagem de Dados 60

Scilas Barbosa Filho Modelagem de Dados 61

Recommended