banco de dados [ aula 2 ]

40
Modelo Entidade- Relacionamento

Upload: thiago-luis-colozio-casacio

Post on 06-Jun-2015

124 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Banco de dados [ aula 2 ]

Modelo Entidade-Relacionamento

Page 2: Banco de dados [ aula 2 ]

Introdução ao Modelo Entidade Relacionamento; Conceitos do MER; Atributos; Entidade; Relacionamentos; Cardinalidade; Agregação;

Seguimento Aula

Page 3: Banco de dados [ aula 2 ]

MER

• A técnica de modelagem mais usada é a Abordagem Entidade-Relacionamento (ER). O modelo de dados é representado graficamente através de um Diagrama de Entidade-Relacionamento (DER).

• Essa abordagem foi criada por Peter Chen (1976) é considerada como um padrão para a modelagem conceitual.

Page 4: Banco de dados [ aula 2 ]

MER

• O modelo Entidade-Relacionamento (E-R) tem por base que o mundo real é formado por um conjunto de objetos chamados de entidades e pelo conjunto dos relacionamentos entre esses objetos;

• O objetivo do modelo E-R é representar a estrutura lógica do banco de dados de uma empresa, especificando o esquema da empresa, quais as entidades e como elas se relacionam entre si.

Page 5: Banco de dados [ aula 2 ]

O modelo E-R é chamado de Modelagem Conceitual, cujo objetivo é representar de uma forma abstrata, independente da implementação em computador, os dados que serão armazenados no banco de dados.

MER

Page 6: Banco de dados [ aula 2 ]

MER

• Conceitos Básicos:– O modelo E-R trabalha com alguns

conceitos básicos:

AtributosConjuntos de EntidadeConjuntos de Relacionamento

Page 7: Banco de dados [ aula 2 ]

MER

Atributos:

Simples e Compostos

Monovalorados e Multivalorados

Identificador

Derivados

Page 8: Banco de dados [ aula 2 ]

São de uso comum para uma entidade, só possui uma palavra. Ex: Nome, Idade.

Representação Atributo simples

Atributos Simples

Page 9: Banco de dados [ aula 2 ]

Este tipo de atributo possui “sub- atributos” em sua nomenclatura que podem ou não ser do mesmo tipo os quais são agregados a ele no mundo real Ex: O atributo endereço temos os “sub- atributos”, Rua, Nº da casa, bairro, cidade, CEP, etc.

Atributo Composto

Endereço

CEP

Nº da Casa

Rua

Page 10: Banco de dados [ aula 2 ]

Possui vários valores dentro de uma único atributo, mais todos os demais valores têm que ser do mesmo tipo.

Ex: Telefones – Celular (19) 99820-3552, Residencial (19) 3671-9434, Comercial (19) 3614-9936

Atributo Multivalorado

Representação Atributo Multivalorado

Page 11: Banco de dados [ aula 2 ]

Ele identifica a principal característica da entidade.

Ex: Entidade Homem – Identificador Nome Entidade Aluno - Identificador Matricula

Atributos Especiais (Atributo

Identificador)

Representações Atributo Identificador

Page 12: Banco de dados [ aula 2 ]

Conceituando atributo MER

Nome

Sócio

Endereco

Cod_Socio

Os atributos não são representados graficamente, para não sobrecarregar os diagramas.

Quando é utilizado um software para a construção de modelos ER, o software armazena a lista de atributos de cada entidade em um “Dicionário de Dados”.

Page 13: Banco de dados [ aula 2 ]

Modelagem E-R

Empregado Dependente

Cod_Emp

Nome

(1,1)

(0,n)

Num_Seq

Nome

Page 14: Banco de dados [ aula 2 ]

Conjunto de Entidades

Uma entidade é uma “coisa” ou um “objeto” no mundo real que pode ser identificada de forma única em relação aos outros objetos;

Um conjunto de Entidades é um conjunto que abrange entidades de mesmo tipo que compartilham as mesmas propriedades: atributos.

representação de um objeto do mundo real do qual se deseja manter informações

Objetos concretos (pessoa, automóvel) ou abstrato (departamento, projeto)

Page 15: Banco de dados [ aula 2 ]

Representação de Entidade

Empregado Departamento

Sócios Shows

Page 16: Banco de dados [ aula 2 ]

Conjunto de Relacionamentos

Um relacionamento é uma associação entre uma ou várias entidades (objetos da realidade)

Ex. um relacionamento entre um sócio “João” com o show “S-15”.

Esse relacionamento especifica que o sócio “João” compareceu ao show que foi designado com o numero “S-15”.

Um conjunto de relacionamentos é um conjunto de relacionamentos de mesmo tipo.

Page 17: Banco de dados [ aula 2 ]

Representação de Relacionamentos

Sócios Shows Participa

Empregado DepartamentoTrabalha

Page 18: Banco de dados [ aula 2 ]

Auto Relacionamento

Ocorre quando uma entidade se associa a outra do mesmo tipo.

esposamarido

Pessoa

Casamento

Page 19: Banco de dados [ aula 2 ]

• A função que uma entidade desempenha em um relacionamento é chamada Papel;

• Pode ocorrer de um mesmo conjunto de entidades participar de um conjunto de relacionamentos mais de uma vez em diferentes papeis.

• O número de conjuntos de entidades que participa de um conjunto de relacionamento é também o grau desse conjunto de relacionamento. Um conjunto de relacionamento binário é de grau dois; um relacionamento ternário é de grau três.

Page 20: Banco de dados [ aula 2 ]

Mapeamento de Restrições

O esquema de E-R de uma empresa pode definir certas restrições, as quais o conteúdo do banco de dados deve respeitar.

Isso é feito utilizando o Mapeamento de Cardinalidade

Page 21: Banco de dados [ aula 2 ]

Mapeamento de Cardinalidade

Expressa o número de entidades as quais outra entidade pode estar associada via um conjunto de relacionamentos.

Page 22: Banco de dados [ aula 2 ]

Cardinalidade de Relacionamentos

Cardinalidade máxima: indica a quantidade máxima de ocorrências de entidades que podem estar associadas a uma ocorrência da outra entidade (1 ou n).

Page 23: Banco de dados [ aula 2 ]

Ex.: A entidade Empregado tem cardinalidade máxima 1 no relacionamento Trabalha: uma ocorrência de Empregado pode estar associada a no máximo uma ocorrência de Departamento, ou em outros termos um empregado pode estar trabalhando somente em um departamento.

A entidade Departamento tem cardinalidade máxima de 120 no relacionamento Trabalha: uma ocorrência de Departamento pode esta associada a no máximo 120 de Empregado, isto é, um departamento pode ter no máximo 120 empregados trabalhando nele.

Cardinalidade de Relacionamentos

Page 24: Banco de dados [ aula 2 ]

• Duas cardinalidades máximas são relevantes:– A cardinalidade máxima 1

– A cardinalidade máxima “muitos” representada pela letra n

Empregado DepartamentoTrabalhan 1

Ocorrência referente a

departamento

Ocorrência referente a empregado

Cardinalidade de Relacionamentos

Page 25: Banco de dados [ aula 2 ]

Cardinalidade de Relacionamentos

Cardinalidade Mínima: especifica se a participação de todas as ocorrências das entidades no relacionamento é obrigatória ou opcional.

Em um projeto de BD é usada somente duas cardinalidades mínimas: a cardinalidade mínima 0 e a cardinalidade mínima 1.

A cardinalidade mínima 1 recebe a denominação de “associação obrigatória”.

A cardinalidade mínima 0 recebe a denominação de “associação opcional”.

A cardinalidade mínima em um Diagrama é anotada junto a cardinalidade máxima.

Page 26: Banco de dados [ aula 2 ]

Cardinalidade Mínima

Empregado Mesaalocado

(1,0 ) (1,1 )

Page 27: Banco de dados [ aula 2 ]

Mapeamento de Cardinalidade

• Para um conjunto de relacionamentos R binário entre os conjuntos de entidades A e B, o mapeamento das cardinalidades deve seguir uma das instruções abaixo:

Page 28: Banco de dados [ aula 2 ]

Um para Um – 1:1

Uma entidade em A está associada no máximo a uma entidade em B, e uma entidade em B está associada a no máximo uma entidade em A.

a1

a2

a3

a4

b1

b2

b3

b4

Page 29: Banco de dados [ aula 2 ]

Um para muitos – 1:N

Uma entidade em A está associada a várias entidades em B. Uma entidade em B, entretanto, deve estar associada no máximo a uma entidade em A.

a1

a2

b1

b2

b3

b4

Page 30: Banco de dados [ aula 2 ]

Muitos para muitos – N:N.

• Uma entidade em A está associada a qualquer número de entidades em B e uma entidade em B está associada a um número qualquer de entidades em A. a1

a2

a3

a4

b1

b2

b3

b4

Page 31: Banco de dados [ aula 2 ]

• Toda a estrutura lógica do banco de dados é expressa graficamente pelo diagrama de E-R.

• Os principais componentes de um E-R:– Retângulos – representam os conjuntos de

entidades;

– Elipses – representam os atributos;

– Losangos – representam os conjuntos de relacionamentos;

– Linhas – unem os atributos aos conjuntos de entidades e os conjuntos de entidades aos conjuntos de relacionamentos;

– Elipses duplas – atributos multivalorados.

Page 32: Banco de dados [ aula 2 ]

devedorcliente

empréstimo

Rua_cliente

Nome_clienteCod_cliente

total

Numero_dep

Diagrama Entidade Relacionamento

Page 33: Banco de dados [ aula 2 ]

Engenharia de Informações

• O que foi apresentado até agora foi utilizado a notação do Peter Chen.

• Com a evolução e a criação de ferramentas CASE, foram criadas outros tipos de notação.

• Engenharia de Informações foi criado na década de 80 por James Martin.

Page 34: Banco de dados [ aula 2 ]

Modelagem E-R – James Martin

Exemplo de Modelagem, onde:

= muitos = um

= a ocorrência do relacionamento é opcional; = a ocorrência do relacionamento é obrigatória;

Empregado Departamento

Page 35: Banco de dados [ aula 2 ]

Peter Chen X James Martin

Empregado Departamento

Empregado DepartamentoTrabalha(1,1) (0,n)

Page 36: Banco de dados [ aula 2 ]

Modelagem E-R

Empregado

Dependente

Representação de uma entidade Fraca

Empregado

Dependente

Page 37: Banco de dados [ aula 2 ]

Modelagem E-R – James Martin

• As principais diferenças entre as notações:

Os relacionamentos são representados apenas por uma linha que une as duas entidades;

Somente relacionamentos binários;

A notação de cardinalidade máxima e mínima é gráfica, sendo assim: o símbolo mais próximo ao retângulo é a representação da cardinalidade máxima e o mais distante a cardinalidade mínima.

Page 38: Banco de dados [ aula 2 ]

Modelagem E-R

TáxiMotorista

Associações de “Um para Um”

Estado Cidade

 Associações de “Um para Muitos”

Page 39: Banco de dados [ aula 2 ]

Associações de “Muitos para Muitos”

Advogado Processo

Page 40: Banco de dados [ aula 2 ]

Entidade Associativa

Em um banco de dados não é possível implementar um relacionamentoM:N, sendo assim foi criado na modelagem a Entidade Associativa.Entidade Associativa é a associação entre uma entidade e um relacionamento, ou a associação entre dois relacionamentos.

AdvogadoProcesso/Advogado

Processo