57
Modelo Entidade-Relacionamento B d D d I Banco de Dados I

modelagem er aula 2.ppt [Modo de Compatibilidade] · uma entidade ou de um relacionamento Osuma entidade ou de um relacionamento. Os atributos são as propriedades das entidades

  • Upload
    doxuyen

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Modelo Entidade-Relacionamento

B d D d IBanco de Dados I

F d P j t d BDFases do Projeto de BD

Enunciado de requisitos – entrevista com o usuário do banco de dados para entender eusuário do banco de dados para entender e documentar seus requerimentos de dados.Projeto Conceitual dados os requisitos doProjeto Conceitual – dados os requisitos do sistema, o esquema conceitual é uma descrição concisa dos requerimentos dodescrição concisa dos requerimentos do usuário, usando um modelo de dados, ex, o MER. Ela serve para checar se todos os ppedidos dos usuários estão sendo atendidos e se não há conflitos entre eles. Não há

fípreocupação com armazenamento físico.

F d P j t d BDFases do Projeto de BD

Projeto Lógico – é a descrição dasestruturas de representação da base deestruturas de representação da base dedados. O modelo conceitual é transformadoem num modelo de dados dei l t ã d l l i l Elimplementação., ex, modelo relacional. Eleresulta no esquema do banco de dados nomodelo de dados de implementação usadomodelo de dados de implementação usadopelo SGBD.Projeto Físico – é a descrição das estruturasj çinternas de armazenamento, dos esquemasutilizando a DDL (Data Definition Language).

M d l d D dModelo de Dados

É a representação abstrata e simplificada de um sistema real com o qual se pode explicar ou testar osistema real, com o qual se pode explicar ou testar o seu comportamento.É uma coleção de conceitos que podem ser usadosÉ uma coleção de conceitos que podem ser usados para descrever a estrutura de um banco de dados (tipos de dados, relacionamento e restrições entre os ( pmesmos).Modelos permitem a compreensão da estrutura dos dados armazenados e a sua manipulação.

M d l d D dModelo de DadosDividem-se em:– Modelo Conceitual – Modelo de implementação ou baseados em registros– Modelo Físico

ProjetoC it l

Modelo Físico

ConceitualProjetoLógico

ProjetoFísico

M d l d D dModelo de Dados

– Modelo Conceitual • usados na descrição do banco de dados.• Independente de implementação e SGBD.• Descrição mais abstrata do banco de dados.• É o ponto de partida para o projeto• Ex.: MER

M d l d D dModelo de Dados

– Modelo de implementação ou baseados em registrosregistros

• são usados nas descrições de dados no nível lógico (entre o nível conceitual e o físico).lógico (entre o nível conceitual e o físico).

• Depende do SGBD. • Ex. modelo relacional, modelo de redes e modelo

hierárquico.– Modelo físico de dados

• descrevem como os dados são armazenados no computador pela representação da informação tal como formato de registros ordenação de registroscomo formato de registros, ordenação de registros e caminhos de acesso.

MERMER

A técnica de modelagem mais usada é a Ab d E tid d R l i tAbordagem Entidade-Relacionamento (ER). O modelo de dados é representado

fi t t d Di dgraficamente 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.

MERMER

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 j p gdo banco de dados de uma empresa, especificando o esquema da empresa, quais as entidades e como elas se relacionam entre si.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 p ç p , qarmazenados no banco de dados.

MERMER

Conceitos básicos:O d l E R t b lh l– O modelo E-R trabalha com alguns conceitos básicos:

AtributosAtributosConjuntos de EntidadeConjuntos de Relacionamentoj

MERMER

Atributos:Simples ou CompostosMonovalorados ou MultivaloradosNulosDerivadosDerivados

At ib tAtributosClassificações de Atributos– obrigatórios vs opcionaisg p– monovalorados vs multivalorados– simples vs compostossimples vs compostos

At ib tAtributos

Uma entidade é representada por um conjunto de atributosatributosPara cada atributo há um conjunto de valores permissíveis (domínio)permissíveis (domínio)– Um atributo é um dado que é associado a cada

ocorrência de uma entidade ou de um relacionamento

Atributos e valores, juntos, descrevem as instâncias/ocorrências de uma entidade

At ib tAtributos

Dado que é associado a cada ocorrência de uma entidade ou de um relacionamento Osuma entidade ou de um relacionamento. Os atributos são as propriedades das entidades.

EMPREGADO

fone Identificador da entidade: é

código

nomefone Identificador da entidade: é

o atributo ou conjunto de atributos e relacionamentos

j l di ticujos valores distinguem uma ocorrência da entidade das demais (também chamado de chave).

At ib tAtributos

E tid dEntidade

Conjunto de objetos (coisas, tudo que éperceptível manipulável) da realidade modeladaperceptível, manipulável) da realidade modeladasobre os quais deseja-se manter informações nobanco de dados.

PESSOA PROFESSOR ALUNO

MEIO DE MATERIAL ANIMAL MEIO DE TRANSPORTE

As entidades são representadas por retângulos.

E id d R l iEntidade-Relacionamento

ENTIDADE 1 RELACIONAMENTO ENTIDADE 2

ATRIBUTO 1

ATRIBUTO 2

ATRIBUTO 1

E tid dEntidade

Uma entidade tem um conjunto de propriedades,e os valores para alguns conjuntos dessase os valores para alguns conjuntos dessaspropriedades devem ser únicos.

Uma entidade pode ser completa, como umapessoa ou um livro, ou pode ser abstrata comopessoa ou um livro, ou pode ser abstrata comoum empréstimo, uma viagem de férias ou umconceito.

Estratégias para reconhecer entidades

As coisas tangíveis: aquilo que pode ser tocado.– avião, carro, cachorro, gato, livro, caderno...., , , g , ,

Funções: todo o tipo de papel, atribuição, classificação, ou outra característica qualquer que para um dado elemento, especifique não suapara um dado elemento, especifique não sua existência mas sua atuação no ambiente em que está inserido.– Departamento de uma empresa, o autor de umDepartamento de uma empresa, o autor de um

livro, um médicoEventos ou ocorrências: são ações ou fatos que uma vez ocorrendo possuem características própriasvez ocorrendo possuem características próprias sobre as quais podemos fazer alguma referência.– um vôo comercial, um acidente de trânsito, um

jogo de futeboljogo de futebol...

MERMERConjunto de RelacionamentosUm relacionamento é uma associação entreUm 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 numerocompareceu ao show que foi designado com o numero “S-15”.

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

conjuntos de relacionamentos, representado por um losango.

MERMER

Ex.:

Sócios Shows ParticipaSócios Shows Participa

Empregado DepartamentoTrabalhaEmpregado DepartamentoTrabalha

M d l E RModelo E-RExemplo

MERMER

s1 s2 s3 s4 s5s3 s4 s5

s1,sh1 s2, sh2s1,sh3 s4,sh3

sh1 sh2 sh3sh1 sh2 sh3

Diagrama de ocorrências

A t R l i tAuto-Relacionamentorepresenta uma associação entre ocorrências de uma mesma entidadeexige a identificação de papéis

EMPREGADO LOTACAO

supervisor(0,1)

papéis

(0,1)supervisionado

“um empregado pode ser supervisionado por no máximo 1 empregado. Um empregado pode máximo 1 empregado. Um empregado pode supervisionar no máximo N empregados.”

A t R l i tAuto-Relacionamento

MER A t R l i tMER – Auto-RelacionamentoCom base na figura anterior, construa um diagrama de ocorrências para o relacionamento a seguir:

Pessoa

Casamentoesposamarido

Casamento

Exercício

A t R l i tAuto-Relacionamento

Diagrama de ocorrências para o relacionamento CASAMENTO.Solução

MERMERA função que uma entidade desempenha em umrelacionamento é chamada Papel;

Pode ocorrer de um mesmo conjunto de entidadesparticipar de um conjunto de relacionamentos mais de umap p jvez em diferentes papeis;

O d j t d tid d ti i dO numero de conjuntos de entidades que participa de umconjunto de relacionamento é também o grau desseconjunto de relacionamento. Um conjunto derelacionamento binário é de grau dois; umrelacionamento ternário é de grau três.

R l i t t á iRelacionamento ternário

Exemplo:

Cidade Distribuidor

Distribuiçãoç

Produto

M t d R t i õMapeamento de Restrições

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

respeitar.Isso é feito utilizando o Mapeamento deIsso é feito utilizando o Mapeamento de

Cardinalidade

M t d C di lid dMapeamento de Cardinalidade

Expressa o número de entidades as quaisoutra entidade pode estar associada viaum conjunto de relacionamentos.

C di lid d d R l iCardinalidade de Relacionamentos

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

Ex.: A entidade Empregado tem cardinalidade máxima 1 no relacionamento Trabalha: uma ocorrência de Empregado pode estar p g passociada 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 noA 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 p p p gnele.

C di lid d d R l i tCardinalidade de Relacionamentos

Duas cardinalidades máximas são relevantes:relevantes:– A cardinalidade máxima 1– A cardinalidade máxima “muitos” representadaA cardinalidade máxima muitos representada

pela letra n

Empregado DepartamentoTrabalhan 1

Ocorrência referente a

departamento

Ocorrência referente a departamento empregado

C di lid d d R l i tCardinalidade de RelacionamentosCardinalidade Mínima: especifica se a participação de todas as ocorrências das

tid d l i t é b i tó i i lentidades no relacionamento é obrigatória ou opcional.

Em um projeto de BD é usada somente duas cardinalidades mínimas: a cardinalidade mínima 0 e acardinalidades 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”associação obrigatória .

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

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

C di lid d Mí iCardinalidade Mínima

Empregado Mesaalocação(1,0 ) (1,1 )

ç

ExercícioExercício

Com base na figura acima, construa um diagrama de ocorrências para o relacionamento apresentadopara o relacionamento apresentado.

C di lid d Mí iCardinalidade Mínima

Solução

M t d C di lid dMapeamento de Cardinalidade

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

U U 1 1Um 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 Aentidade em A.

a1b1

b2a2

b

b3

a3

a4

b4

a4

U it 1 NUm 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 tid d Auma entidade em A.

a1b1

b2

a2

b2

b3

b4

M it it N N M NMuitos para muitos – N:N ou M:NUma 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.

a b1a1

a2

b2

2

a3

b3

b

a4

b4

G li ã /E i li ãGeneralização/EspecializaçãoGeneralização: resultado da união de dois ou mais conjuntos de entidades de

CLIENTE

conjuntos de entidades de nível mais baixo produzindo um conjunto de entidades de í l i lnível mais alto.

E i li ã lt d dPESSOAFÍSICA

PESSOAJURÍDICAEspecialização: resultado da

separação de um conjunto de entidades de nível mais

FÍSICA JURÍDICA

alto, formando um conjunto de entidades de nível mais baixobaixo.

G li ã /E i li ãGeneralização/EspecializaçãoHerança de propriedades– Cada instância da entidade

especializada possui além denome

código

especializada possui, além de suas próprias propriedades, também as propriedades da

CLIENTE

instância da entidade genérica correspondente

• Atributos• Relacionamentos• Generalizações ou

especializaçõesPESSOAFÍSICA

PESSOAJURÍDICAespecializações

RG sexo CNPJ tipo de organizaçãoorganização

G li ã /E i li ãGeneralização/EspecializaçãoTotal– Para cada instância da

CLIENTE

tentidade genérica, existe sempre uma instância em

d tid d

t

uma das entidades especializadas.

P i l

PESSOAFÍSICA

PESSOAJURÍDICA

Parcial– Nem toda ocorrência da

entidade genérica possui

FUNCIONÁRIO

p

tipo

entidade genérica possui correspondente em entidade especializada

p

entidade especializadaMOTORISTA SECRETÁRIA

M d l E R Modelagem E-R

SócioOs atributos não são representados graficamente, para não sobrecarregar

no Socio

g , p gos diagramas.

Quando é utilizado um software para no_Socio

de_Endereco

Quando é utilizado um software para a construção de modelos ER, o software armazena a lista de

cd_Socio atributos de cada entidade em um “Dicionário de Dados”.

M d l E RModelagem E-RTi d id tifi dTipos de identificadores:

•Identificador simples:d tid d d i ú i id tifi dcada entidade deve possuir um único identificador

(ex.: cd_cliente)

•Identificador composto:Identificador composto:cada entidade possuir mais de um identificador(ex.: cd_pessoa, cd_departamento)

•Relacionamento identificador:uma entidade é composta não somente por atributos daprópria entidade mas também por relacionamentos dosprópria entidade, mas também por relacionamentos dos quais a entidade participa.

•Identificadores alternativos:Permite que a entidade possua mais de um identificadorque poder ser chave. (ex.: cd_cliente, nu_CPF)

M d l E RModelagem E-R

(1,1)

Relacionamento identificador

Empregado Dependente( , )

(0,n)

no_Empregadono_Dependente

cd_Empregado nu_Sequencial

N d M d l E RNotação do Modelo E-RConceito

Entidade

Símbolo

Relacionamento

AtributoAtributo

Atributo identificador

Relacionamento identificador

Generalização/Especialização

Entidade associativa

Notação – Engenharia de Informações

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

Com a evolução e a criação de ferramentasCom 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 Martinde 80 por James Martin.

M d l E R J M tiModelagem E-R – James Martin

Empregado DepartamentoEmpregado Departamento

Exemplo de Modelagem, onde:

= muitos = um

= a ocorrência do relacionamento é opcional;a oco ê c a do e ac o a e to é opc o a ;= a ocorrência do relacionamento é obrigatória;

P t Ch X J M tiPeter Chen X James Martin

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

Empregado Departamento

M d l E RModelagem E-R

R t ã d tid d FEmpregado

Representação de uma entidade Fraca

Empregado

Dependente

Dependente

M d l E R J M tiModelagem E-R – James Martin

As principais diferenças entre as notações:Os relacionamentos são representados apenas por– 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áximaretângulo é a representação da cardinalidade máxima e o mais distante a cardinalidade mínima.

M d l E RModelagem E-RAssociações de “Um para Um”

TáxiMotorista

• Associações de “Um para Muitos”

Estado Cidade

M d l E RModelagem E-R

Associações de “Muitos para Muitos”Associações de Muitos para Muitos

Advogado Processo

E tid d A i tiEntidade Associativa

AdvogadoProcesso/Advogadog

Em um banco de dados não é possível implementar um

Processo

Em um banco de dados não é possível implementar um relacionamento M: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 relacionamentosrelacionamentos.

E í iExercícioA figura apresenta uma entidade e respectivos atributos, muitos deles

opcionais e um multivalorado. Considere que há dois tipos de clientes, pessoas físicas e jurídicas. Pessoas físicas possuem código, CPF, nome, sexo (opcional) data de nascimento (opcional) e telefones (opcionais)sexo (opcional), data de nascimento (opcional) e telefones (opcionais). Pessoas jurídicas possuem código, CNPJ, razão social e telefones (opcionais).

Apresente um diagrama ER que modele mais precisamente esta realidade. Explique no que seu diagrama é mais preciso que o mostrado na abaixo.

S l ãSolução