bd_t004_mer - Wagner Siqueira Cavalcante

Download Report

Transcript bd_t004_mer - Wagner Siqueira Cavalcante

Slide 1

Banco de Dados
Prof. MSc Wagner Siqueira Cavalcante


Slide 2

Banco de Dados: Modelo Entidade-Relacionamento
Modelo Entidade-Relacionamento (MER):


MER é um modelo representativo de conjuntos de objetos (entidades) e dos
possíveis relacionamentos entre eles.

Entidade:

Objeto distinguível de outro (p. ex. aluno, cliente, ...)

Conjunto de entidades:

Agrupamento de entidades comuns
(p.ex. aluno  {Alunos}, cliente  {Clientes}, etc.)

Atributos:

Detalhes (destaques) da entidade (p.ex. nome, data
de nascimento, cidade, valor, etc.)

Domínio:

Conjunto de valores possíveis para um atributo

Relacionamentos:

Ligações entre atributos, de conjuntos distintos de
entidades (p.ex. atributo no conjunto de entidades
Aluno, ligado a determinado atributo no conjunto de
entidades Disciplina, que os alunos cursam, etc.)

BD – Modelagem


Slide 3

Banco de Dados: Modelo Entidade-Relacionamento
Modelo Entidade-Relacionamento (MER):
Modelo lógico baseado em objetos, que propõe-se a representar o minimundo real (da empresa, ou do sistema), através de entidades (objetos) e dos
relacionamentos que há entre distintos conjuntos de entidades, por meio de
diagramas (gráficos), chamados DER (Diagrama Entidade-Relacionamento).
Há várias formas de representação gráfica para o DER... Entre elas:
DER
Entidade
Atributo
Relacionamento

Fortes

Fracos

... fraca
... multivalorado
... de dependência
... de dependência

Ligações

BD – Modelagem


Slide 4

Banco de Dados: Modelo Entidade-Relacionamento
Tipos de atributos:
Simples

Indivisível, atômico (p.ex. peso, altura, valor, etc.)

Composto

Divisível (p.ex. endereço, que pode ser divisível em logradouro, cep, etc.)

Monovalorado Permite unicamente um conteúdo (p.ex. nome, data de nascimento, etc.)
Multivalorado

Permite vários conteúdos simultaneamente (p.ex. dependentes de
funcionário, telefone, etc.).
Pode-se solucionar isto, tratando-o como uma entidade fraca, a qual
depende de outra, chamada dominante (forte).

Nulo

Permite conteúdo inexistente (o não preenchimento com algum valor)

Derivado

Resultante de algum cálculo ou decisão  evitar! (p.ex. idade, tempo de
casa, etc.)

Descritivo

Especifica uma determinada situação em um determinado momento
(p.ex. a situação de uma conta corrente em uma determinada data), e
que não faz parte do conjunto de atributos de uma entidade, e, sim, de
um relacionamento.

Identificador

Identifica uma entidade em seu conjunto de entidades. Se em um
conjunto fraco, pode-se repetir, visto que é dependente do conjunto de
entidades dominante...
BD – Modelagem


Slide 5

Banco de Dados: Modelo Entidade-Relacionamento
Dependência de existência:
Restrição que define a subordinação de uma entidade, chamada
subordinada, a outra, chamada dominante, que, caso esta seja alterada ou
removida, a subordinada necessariamente também refletirá o comportamento
(p.ex. um empréstimo a ser pago em parcelas, se cancelado, as elimina,
necessariamente).

Chaves:






Atributo ou conjunto de atributos que fazem a identificação e distinção
entre uma entidade e outra no mesmo conjunto de entidades.
Superchave:
Maior conjunto possível, com esta restrição
Chave candidata:
Um dos conjuntos possíveis
Chave primária:
Das candidatas, o menor e melhor conjunto possível.
– Simples:
Chave com um único atributo
– Composta:
Chave com um dois ou mais atributos
Chave estrangeira:
Foreign key ou FK:
– Chave primária “emprestada” de outro conjunto de entidades com o
qual este conjunto relaciona-se (ou dele depende); facilmente aplicável
no conjunto N de um relacionamento 1:N (um para muitos)  a seguir
BD – Modelagem


Slide 6

Banco de Dados: Modelo Entidade-Relacionamento
Mapeamento de Cardinalidades:

Um para um

1:1

1:1

BD – Modelagem


Slide 7

Banco de Dados: Modelo Entidade-Relacionamento
 Exemplo 01 (um para um):
– Uma instituição financeira permite que cada cliente possa obter
um único empréstimo por vez, o qual pode ser contraído por
somente uma pessoa.
– Os relatórios mostrarão os nomes dos clientes e seus CPFs e, dos
empréstimos correspondentes, a sua data e valor, por exemplo.
Nº_emprést.

Cód. Cliente

valor

nome

1

Cliente

Outros...

contrata

1

Empréstimo

Outros...

CPF

data

02. Mapear
cardinalidade (1:1, 1:N ou M:N)
01. Identificar as entidades
e seus aatributos
BD – Modelagem


Slide 8

Banco de Dados: Modelo Entidade-Relacionamento
Mapeamento de Cardinalidades:

Um para um

1:1

1:1

Um para muitos
ou
Muitos para um

1:N

1:

BD – Modelagem


Slide 9

Banco de Dados: Modelo Entidade-Relacionamento
 Exemplo 02 (um para muitos – forte:forte):
– Uma instituição bancária permite que cada cliente possa ter várias
contas, as quais pertençam a somente um cliente, que, por sua
vez, pode ser informado sobre algum problema (falta de saldo...),
por meio de um de seus telefones.
nr_conta

Cod_cliente

saldo_mínimo

nome
Cliente

Outros...

possui

Conta

Outros...
telefone

BD – Modelagem


Slide 10

Banco de Dados: Modelo Entidade-Relacionamento
 Exemplo 03 (um para muitos – forte:fraca = sempre):
– Os funcionários de uma empresa podem ter vários telefones
distintos para contato.

seqüência

Prontuário

ddd

nome
Funcionário

Outros...

possui

Telefone

fone
telefone

BD – Modelagem


Slide 11

Banco de Dados: Modelo Entidade-Relacionamento
Mapeamento de Cardinalidades:

Um para um

1:1

1:1

Um para muitos
ou
Muitos para um

1:N

1:

Muitos para muitos

M:N

:

BD – Modelagem


Slide 12

Banco de Dados: Modelo Entidade-Relacionamento
 Exemplo 04 (muitos para muitos):
– Uma instituição acadêmica permite que seus alunos possam se
matricular em várias disciplinas por vez, as quais contarão com
vários alunos simultaneamente.

código

RA

nome

nome
Aluno

Outros...

matricula-se

Disciplina

ementa

BD – Modelagem


Slide 13

Banco de Dados: Modelo Entidade-Relacionamento
 Exercício 01:
 Uma indústria mecânica permite que cada um de seus funcionários
tenha em mãos unicamente uma ferramenta, a qual, por sua vez,
será controlada por unicamente uma pessoa.
 Exercício 02:
 Represente a situação do exemplo 02 (Uma determinada instituição

financeira permite que cada cliente possa contratar várias contas-correntes por
vez, sendo ele o único responsável por elas), considerando que o cliente

pode ter vários telefones (em localidades distintas).

 Exercício 03:
 Crie o DER para representar a situação de empréstimos contraídos
por clientes, sendo que a instituição permite que um cliente somente
pode contrair novo empréstimo após quitar o anterior,
integralmente, através de parcelas. Caso algum empréstimo seja
cancelado, as parcelas correspondentes devem ser refletir isto.
BD – Modelagem