29
LAB. DE BANCO DE DADOS Prof. Msc. Thiago Crystyan [email protected] Fonte. Prof. Márcio Vitorino

Aula 04.1 - MER

Embed Size (px)

DESCRIPTION

Material da disciplina de Banco de Dados

Citation preview

Page 1: Aula 04.1 - MER

LAB. DE BANCO DE DADOS

Prof. Msc. Thiago Crystyan

[email protected]

Fonte. Prof. Márcio Vitorino

Page 2: Aula 04.1 - MER

MODELO ENTIDADE

RELACIONAMENTO

Page 3: Aula 04.1 - MER

FALE MAIS SOBRE ISSO!

Page 4: Aula 04.1 - MER

MODELO ENTIDADE RELACIONAMENTO

Criada por Peter Chen em 1976.

Disc.: Lab. BD / Prof. Thiago Crystyan

Técnicas para construir modelos conceituais de

base de dados. Técnica de modelagem de dados mais difundida

e utilizada.

O modelo E-R é representado pelo Diagrama Entidade

Relacionamento (DER) .

Trata de um nível de abstração bem alto, próximo a linguagem

natural.

O modelo é uma representação simplificada da realidade e o

diagrama é a representação gráfica.

O MER é mais completo que o DER

O diagrama compõe o modelo

Page 5: Aula 04.1 - MER

CONCEITOS CENTRAIS Entidade: Conjunto de objetos (coisas) da realidade modelada,

sobre os quais deseja-se manter informações na base de dados.

Relacionamento: Conjunto de associações entre entidades, sobre as quais deseja-se manter informações na base de dados. Mostra como uma entidade se relaciona com outra.

Atributo: Dados ou informações que é associado a cada ocorrência de uma entidade ou de um relacionamento. Tanto a entidade como um relacionamento pode ter um atributo.

Ex.:. Automóvel (placa, cor, marca); Pessoa(Nome, idade); data compra Uma pessoa pode ter N automóveis, que compra em um determinado dia.

Generalização/Especialização: Permite atribuir propriedades particulares a um subconjunto das ocorrências especializadas de uma entidade genérica. Professor e aluno são pessoas, sendo que aluno tem atributos que professor

não tem e vice-versa.

Entidade Associativa - CONCEITO CAI MUITO EM CONCURSO Quando uma associação ela fica tão forte que passa a ser vista como uma

entidade.

Disc.: Lab. BD / Prof. Thiago Crystyan

Page 6: Aula 04.1 - MER

Se estivéssemos em uma

empresa nesse momento

estaríamos definindo o

projeto.

Fazer o MER

Desenhar um modelo

Lógico

Desenhar um modelo

Físico

Modelos de abstração

Conceitual (MER,DER)

Lógico (Tabelas, Objetos)

Físico (SGBD)

Quais as fases do projeto?

Disc.: Lab. BD / Prof. Thiago Crystyan

Page 7: Aula 04.1 - MER

ENTIDADE

Representada através de um retângulo.

Retângulo contém o nome da entidade.

Para referir um objeto particular fala-se em instância ou

ocorrência de entidade.

Entidade pessoa e Thiago é uma instância de pessoa, uma ocorrência

de Pessoa.

Pessoa é um conjunto de entidade, Thiago é uma entidade. (Navathe)

Disc.: Lab. BD / Prof. Thiago Crystyan

Pessoa Departamento

Page 8: Aula 04.1 - MER

RELACIONAMENTO

Disc.: Lab. BD / Prof. Thiago Crystyan

Explica como uma ocorrência de pessoa se relaciona com uma ocorrência de departamento

Este modelo nos diz que o BD mantém informações sobre:

um conjunto de empregados;

um conjunto de departamentos;

um conjunto de associações que ligam um departamento a um empregado.

Pessoa Departamento Lotação

• Eu posso dizer que uma pessoa está em N departamentos?

• Eu posso dizer que um departamento possui N pessoas?

• Cardinalidade

• Proporção em que as instâncias vão se combinar.

Page 9: Aula 04.1 - MER

RELACIONAMENTO (CONT.)

Disc.: Lab. BD / Prof. Thiago Crystyan

9

Pessoa Departamento Lotação

ENTIDADE

PESSOA

RELACIONAMENTO

LOTAÇÃO

ENTIDADE

DEPARTAMENTO

p8 p1

p2

p3

p4 p6

p7

p5

p1,d1 p2,d1 p4,d2 p5,d3

d1 d2 d3

Page 10: Aula 04.1 - MER

AUTO-RELACIONAMENTO

Disc.: Lab. BD / Prof. Thiago Crystyan

EMPREGADO

CASAMENTO

marido esposa

Normalmente um relacionamento associa entidades diferentes. Há um caso especial no qual há um relacionamento entre a mesma entidade.

Nesta situação surge o conceito de PAPEL que identificará o relacionamento.

Uma instância da entidade se relaciona com OUTRA instância da MESMA entidade.

Ex. Médico (consulta); Aluno (namora); Professor (leciona)

O caso do médico é especial pois um médico pode se medicar (mesma pessoa)

Page 11: Aula 04.1 - MER

PAPEL EM RELACIONAMENTO

Disc.: Lab. BD / Prof. Thiago Crystyan

Função que uma ocorrência de uma entidade cumpre em uma ocorrência de um relacionamento.

Relacionamento de casamento:

Uma ocorrência de pessoa exerce o papel de marido.

Uma ocorrência de pessoa exerce o papel de esposa.

Relacionamento entre entidades diferentes não é necessário indicar os papéis das entidades.

Page 12: Aula 04.1 - MER

CARDINALIDADE MÁXIMA

Disc.: Lab. BD / Prof. Thiago Crystyan

A cardinalidade máxima de uma entidade em relacionamento é o número máximo de ocorrências de entidade associadas à uma ocorrência da entidade em questão através do relacionamento.

Um empregado pode ser lotado no máximo em quantos departamentos?

Um departamento pode possuir no máximo quantos empregados?

E no MÍNIMO?

EMPREGADO DEPARTAMENTO LOTAÇÃO

n 1

Page 13: Aula 04.1 - MER

QUESTÃO

Disc.: Lab. BD / Prof. Thiago Crystyan

Baseado na cardinalidade abaixo, podemos ter uma existência de um empregado que não esteja lotado em NENHUM departamento?

EMPREGADO DEPARTAMENTO LOTAÇÃO

n 1

Relacionamento Opcional

Page 14: Aula 04.1 - MER

CARDINALIDADE

Disc.: Lab. BD / Prof. Thiago Crystyan

Para fins práticos, apenas duas cardinalidades máximas são de nosso interesse, as

De valor 1.

De valor N.

Caso no lugar de departamento fosse carta de recomendação e no lugar de empregado fosse aluno mestrado?

EMPREGADO DEPARTAMENTO LOTAÇÃO

n 1

Page 15: Aula 04.1 - MER

RELACIONAMENTO BINÁRIO

Disc.: Lab. BD / Prof. Thiago Crystyan

A cardinalidade máxima usada para classificar os relacionamentos binários, aqueles nos quais os relacionamentos se dão entre duas entidades.

Tipos

1:1 (um-para-um)

1:n (um-para-muitos)

n:n (muitos-para-muitos)

Page 16: Aula 04.1 - MER

RELACIONAMENTO BINÁRIO 1:1

Disc.: Lab. BD / Prof. Thiago Crystyan

EMPREGADO BANCADA ALOCAÇÃO

1 1

EMPREGADO

CASAMENTO

marido esposa 1 1

Page 17: Aula 04.1 - MER

RELACIONAMENTO BINÁRIO 1:N

Disc.: Lab. BD / Prof. Thiago Crystyan

EMPREGADO DEPENDENTE TEM 1 n

EMPREGADO

CHEFE

chefia chefiado

1 n

• Caso o dependente possua pai e mãe dentro da empresa?

• regra de negócio.

Page 18: Aula 04.1 - MER

RELACIONAMENTO BINÁRIO N:N

Disc.: Lab. BD / Prof. Thiago Crystyan

MÉDICO PACIENTE TEM

n n

PRODUTO

COMPOSIÇÃO

composto componente

n n

•Um médico possui N pacientes e N pacientes possui um médico. •Um carro possui um volante, mas um volante está em N carros. • Quando quero saber a cardinalidade máxima de médico/paciente, coloco o “1” do lado do paciente e vejo a cardinalidade máxima de médico.

Page 19: Aula 04.1 - MER

RELACIONAMENTO TERNÁRIO

Disc.: Lab. BD / Prof. Thiago Crystyan

A abordagem ER permite que sejam definidos relacionamentos de graus maiores que dois, muito embora não sejam comuns.

Análise

A cardinalidade refere-se a pares de entidades e relacionadas com a terceira.

Page 20: Aula 04.1 - MER

RELACIONAMENTO TERNÁRIO

Disc.: Lab. BD / Prof. Thiago Crystyan

• O par (produto, cidade) se relaciona a um distribuidor. • O par (distribuidor, cidade) se relaciona a N produtos.

CIDADE

PRODUTO

TEM

n

n

DISTRIBUIDOR

1

Page 21: Aula 04.1 - MER

RELACIONAMENTO TERNÁRIO

Disc.: Lab. BD / Prof. Thiago Crystyan

21

DISTRIBUIDOR

TRAMONTINA

PRODUTO

TRAMONTINA

EBERLE

EBERLE

FACA

COLHER

INOX

FACA

COLHER

FACA

INOX

TRAMONTINA

TRAMONTINA

EBERLE

COLHER

FACA

COLHER

FACA

EBERLE

CIDADE

COLHER

RIO DE JANEIRO

RIO DE JANEIRO

BRASÍLIA

BRASÍLIA

SÃO PAULO

SÃO PAULO

BELO HORIZONTE

BELO HORIZONTE

PORTO ALEGRE

PORTO ALEGRE

TABELA PARA ANÁLISE DE RELACIONAMENTOS TERNÁRIOS

Page 22: Aula 04.1 - MER

CARDINALIDADE MÍNIMA

Disc.: Lab. BD / Prof. Thiago Crystyan

A cardinalidade mínima de uma entidade em relacionamento é o número mínimo de ocorrências de entidade associadas à uma ocorrência da entidade em questão através do relacionamento.

Vem expressado à esquerda.

Ex. 1 empregado pode estar relacionado com quantas bancadas?

Mínimo? Máximo?

Ex. 1 Bancada pode estar associado a quantos empregados?

Mínimo? Máximo?

EMPREGADO BANCADA ALOCAÇÃO

(0,1) (1,1)

Como leio esse relacionamento?

Page 23: Aula 04.1 - MER

Dado o modelo do slide

anterior, podemos

afirmar que:

É possível inserir uma

bancada sem que haja

empregado? (Verdadeiro

ou Falso) ? Justifique.

É possível que se haja

um empregado sem ter

uma bancada

relacionada a ele?

(Verdadeiro ou Falso)?

Justifique.

Questões. Prática.

Disc.: Lab. BD / Prof. Thiago Crystyan

Page 24: Aula 04.1 - MER

CARDINALIDADE MÍNIMA

Disc.: Lab. BD / Prof. Thiago Crystyan

Para fins práticos, apenas duas cardinalidades mínimas são de nosso interesse, a de valor 0 e a de valor 1.

EMPREGADO BANCADA ALOCAÇÃO

(0,1) (1,1)

A cardinalidade mínima 1 recebe a denominação de associação obrigatória, uma vez que indica que o relacionamento DEVE obrigatoriamente associar uma ocorrência de entidade à cada ocorrência da outra entidade em questão.

A cardinalidade mínima 0 recebe a denominação de associação opcional, uma vez que indica que o relacionamento PODE ou não associar uma ocorrência de entidade à cada ocorrência da outra entidade em questão.

Page 25: Aula 04.1 - MER

DIAGRAMA DE OCORRÊNCIAS

Disc.: Lab. BD / Prof. Thiago Crystyan

ENTIDADE

EMPREGADO

RELACIONAMENTO

ALOCAÇÃO

ENTIDADE

BANCADA b6

e1

e2

b2

e3

b4

e4

e1,b1 e2,b2 e3,b6 e4,b4

b1 b3 b5

- os empregados e1, e2, e3 e e4 estão ligados às bancadas b1, b2, b6 e

b4, respectivamente.

- cada empregado está obrigatoriamente ligado à uma bancada.

- uma bancada pode existir sem que esteja ligado a ela nenhum

empregado.

Page 26: Aula 04.1 - MER

VERBO CARDINALIDADE

MÍNIMA MÁXIMA

RELACIONAMENTO

GRAU TIPO

pode

deve

0

1

1

n

1

n

um e inclusive nenhum

muitos e inclusive nenhum

um e somente um

muitos ou um

opcional

obrigatório

Entidade Sujeito

Cada

Verbo de Opcionalidade

Relacionamento

Grau de Relacionamento

funcionário

pode

Entidade Objeto

ser responsável por

muitos e inclusive nenhum

dependente

FUNCIONÁRIO

DEPENDENTE

RESPONSÁVEL

( 0,n )

( 1,1 )

Leitura de Relacionamentos

Disc.: Lab. BD / Prof. Thiago Crystyan

Page 27: Aula 04.1 - MER

CARA DE PROVA!!!

1. Deseja-se manter no BD informações sobre as entidades:

- Alunos.

- Cursos.

- Disciplinas. e

- Departamentos.

2. As cardinalidades descrevem que:

- cada Disciplina deve possuir um e somente um Departamento

responsável, e cada Departamento pode ser responsável por

muitas e inclusive nenhuma Disciplina;

- cada Disciplina pode possuir muitas e inclusive nenhuma

Disciplina pré-requisito e cada Disciplina pode ser pré-requisito

de muitas e inclusive de nenhuma Disciplina;

- cada Disciplina pode aparecer em muitos e inclusive nenhum

Curso, e cada Curso pode possuir muitas e inclusive nenhuma

Disciplina em seu currículo;

- cada Aluno deve estar inscrito em um e somente um Curso e

cada Curso pode ter nele inscrito muitos e inclusive nenhum

Aluno.

Disc.: Lab. BD / Prof. Thiago Crystyan

Page 28: Aula 04.1 - MER

CARA DE PROVA!!!

DISCIPLINA RESPONSÁVEL DEPARTAMENTO

DISC/CURSO

PRÉ-REQUISITO

CURSO INSCRIÇÃO ALUNO (1,1)

(1,1) (0,n)

(0,n) (0,n)

(0,n)

(0,n)

(0,n)

liberada liberadora

Disc.: Lab. BD / Prof. Thiago Crystyan

Page 29: Aula 04.1 - MER

PERGUNTAS?

Disc.: Lab. BD / Prof. Thiago Crystyan