40
Projeto de Banco de Dados Modelo Entidade-Relacionamento PETER LUCAS GOMES COSTA BRANCO DSN03S1 / UNINORTE TEC MAN MICROS E PERIFERICOS – CETP / RS MANAUS 2008

Aula De Projeto De Bd E Mer

Embed Size (px)

Citation preview

Page 1: Aula De Projeto De Bd E Mer

Projeto de Banco de Dados

Modelo Entidade-Relacionamento

PETER LUCAS GOMES COSTA BRANCO DSN03S1 / UNINORTETEC MAN MICROS E PERIFERICOS – CETP / RS

MANAUS 2008

Page 2: Aula De Projeto De Bd E Mer

Seguimento Aula

•ntrodução ao Modelo Entidade Relacionamento;

•onceitos do MER;

•tributos;

•ntidade;

•elacionamentos;

•ardinalidade;

•gregação;

Page 3: Aula De Projeto De Bd E Mer

MER

• A técnica de modelagem mais usada é a Abordagem Entidade-Relacionamento (ER). O modelo de dados é representado graficamente atraves 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: Aula De Projeto De Bd E Mer

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: Aula De Projeto De Bd E Mer

MER

• 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.

Page 6: Aula De Projeto De Bd E Mer

MER

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

básicos: Atributos Conjuntos de Entidade Conjuntos de Relacionamento

Page 7: Aula De Projeto De Bd E Mer

MER

Atributos:

Simples e Compostos

Monovalorados e Multivalorados

Identificador

Derivados

Page 8: Aula De Projeto De Bd E Mer

Atributos Simples

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

Representação Atributo simples

Page 9: Aula De Projeto De Bd E Mer

Atributo Composto

• 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.

Endereço

CEP

Nº da Casa

Rua

Page 10: Aula De Projeto De Bd E Mer

Atributo Multivalorado

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

• Ex: Telefones – Celular (92) 8175-1711, Residencial (92) 3671-9434, Comercial (92) 3614-9936

Representação Atributo Multivalorado

Page 11: Aula De Projeto De Bd E Mer

Atributos Especiais (Atributo Identificador)

• Ele identifica a principal característica da entidade.

• Ex: Entidade Homem – Identificador Nome

• Entidade Aluno - Identificador Matricula

Representações Atributo Identificador

Page 12: Aula De Projeto De Bd E Mer

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: Aula De Projeto De Bd E Mer

Modelagem E-R

Empregado Dependente

Cod_Emp

Nome

(1,1)

(0,n)

Num_Seq

Nome

Page 14: Aula De Projeto De Bd E Mer

Conjunto de EntidadesUma 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: Aula De Projeto De Bd E Mer

Representação de Entidade

Empregado Departamento

Sócios Shows

Page 16: Aula De Projeto De Bd E Mer

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: Aula De Projeto De Bd E Mer

Representação de Relacionamentos

Sócios Shows Participa

Empregado DepartamentoTrabalha

Page 18: Aula De Projeto De Bd E Mer

Auto-Relacionamento

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

esposamarido

Pessoa

Casamento

Page 19: Aula De Projeto De Bd E Mer

• 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: Aula De Projeto De Bd E Mer

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: Aula De Projeto De Bd E Mer

Mapeamento de Cardinalidade

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

Page 22: Aula De Projeto De Bd E Mer

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: Aula De Projeto De Bd E Mer

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.

Page 24: Aula De Projeto De Bd E Mer

Cardinalidade de Relacionamentos

• 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

Page 25: Aula De Projeto De Bd E Mer

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: Aula De Projeto De Bd E Mer

Cardinalidade Mínima

Empregado Mesaalocado

(1,0 ) (1,1 )

Page 27: Aula De Projeto De Bd E Mer

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: Aula De Projeto De Bd E Mer

Um para Um – 1:1Uma 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: Aula De Projeto De Bd E Mer

Um para muitos – 1:NUma 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: Aula De Projeto De Bd E Mer

Muitos para muitos – N:N ou M: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: Aula De Projeto De Bd E Mer

• 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: Aula De Projeto De Bd E Mer

devedorcliente empréstimo

Rua_cliente

Nome_clienteCod_cliente

total

Numero_dep

Diagrama Entidade Relacionamento

Page 33: Aula De Projeto De Bd E Mer

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: Aula De Projeto De Bd E Mer

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: Aula De Projeto De Bd E Mer

Peter Chen X James Martin

Empregado Departamento

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

Page 36: Aula De Projeto De Bd E Mer

Modelagem E-R

Empregado

Dependente

Representação de uma entidade Fraca

Empregado

Dependente

Page 37: Aula De Projeto De Bd E Mer

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: Aula De Projeto De Bd E Mer

Modelagem E-R

TáxiMotorista

Associações de “Um para Um”

Estado Cidade

• Associações de “Um para Muitos”

Page 39: Aula De Projeto De Bd E Mer

Associações de “Muitos para Muitos”

Advogado Processo

Page 40: Aula De Projeto De Bd E Mer

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