Anda di halaman 1dari 53

Modelagem Conceitual e Projeto

de Banco de Dados

Dr. Fabiano Cavalcanti Fernandes


fabiano.fernandes@ifb.edu.br

Brasília – DF
1
Agenda

 Modelo Entidade-Relacionamento

 Modelo Entidade-Relacionamento
Estendido

 UML

2
MODELO ENTIDADE-
RELACIONAMENTO (ME-R)
Modelo Entidade-Relacionamento
O modelo de entidade-relacionamento
(MER) é baseado na percepção do mundo real
que consiste em um conjunto de objetos
básicos chamados entidades e nos
relacionamentos entre estes objetos.
Ele foi desenvolvido para facilitar o
projeto de banco de dados, permitindo a
especificação de um esquema de “negócio”,
onde tal esquema representa a estrutura lógica
geral do banco de dados.
Modelo Entidade-Relacionamento
Entidade
O conceito fundamental da abordagem entidade-
relacionamento (E-R) é o conceito de entidade.
• Conjunto de objetos da realidade modelada sobre os quais
deseja-se colecionar dados no banco de dados
• Pode ser concreta (pessoa, disco, ...) ou abstrata (curso,
conceito, circulação, ...)
• Uma entidade representa um conjunto de objetos que se
deseja guardar dados
Exemplo:
 Sistema bancário – as entidades podem ser: clientes, contas correntes,
cheques, agências
 Cliente – representa o conjunto de clientes que se deseja manter dados no
banco de dados
Modelo Entidade-Relacionamento
Relacionamento
Conjunto de associações entre entidades.
• Um conjunto de relacionamentos é uma coleção de
ocorrências das entidades relacionadas.
• A função que uma entidade exerce em um relacionamento é
chamada de papel, normalmente implícito, mas muito
esclarecedor.
• Também pode ter atributos descritivos (por exemplo: data,
hora, etc.)
• A ocorrência de um relacionamento particular dentro de um
conjunto de relacionamentos de um mesmo tipo é chamada
de instância do relacionamento
Modelo Entidade-Relacionamento
Exemplo:
 Suponha o relacionamento “lotação” entre as entidades
Departamento e Pessoa.

Este exemplo expressa que o BD armazenará dados sobre:


 um conjunto de objetos classificados como pessoa
entidade Pessoa
 um conjunto de objetos classificados como departamentos
entidade Departamento
 um conjunto de associações entre cada pessoa e um
departamento
relacionamento lotação
Modelo Entidade-Relacionamento
Diagrama de Ocorrência
A elaboração deste diagrama é útil, principalmente com a
finalidade didática de reconhecer a forma como acontece
um determinado relacionamento entre entidades.
 representação para o exemplo de pessoa e sua lotação seria:
p2 p3 entidade  A ocorrência de entidades é
p1 p4 pessoa representada por círculos vazios e a
ocorrência de relacionamentos é
representada por círculos preenchidos.
relacionamento
p1,d1 p3,d1 p4,d2 lotação  A ocorrência de entidades
participantes de relacionamentos são
indicadas pelas linhas que interligam
d1 d2 entidade os círculos vazios aos preenchidos.
departamento
Modelo Entidade-Relacionamento
Atributo
Dado que é associado a cada ocorrência de uma entidade
ou um relacionamento.

• Uma entidade é representada por um conjunto de atributos.


• Para cada atributo existe um conjunto de valores permitidos,
chamado domínio daquele atributo.
• O atributo mapeia uma entidade em um domínio.
Exemplo:

Cliente – cada ocorrência de cliente terá associado


exatamente os seus atributos (nome, CPF, telefone, endereço)
Modelo Entidade-Relacionamento
Dependência de Existência

• Considere os conjuntos de entidades Conta e Transação, com


o relacionamento “lançamento” entre estes conjuntos,
especificando que uma conta particular pode efetuar diversas
transações (lançamentos).
• Caso uma entidade Conta seja eliminada todas as suas
Transações também deverão ser.
• Porém se uma Transação for eliminada, nada acontecerá com
o registro da Conta especificada.
• A entidade Conta é dominante e a Transação é subordinada.
Modelo Entidade-Relacionamento
Exemplo:
No controle de dados de contas bancárias são necessários o
armazenamento de alguns dados. Supondo que estes dados
sejam o número e o saldo da conta para a identificação da
conta corrente e a data, valor e o tipo de operação para a
operação a ser executada em uma conta. O relacionamento
entre estas possíveis entidades é identificado por transação.
transação

10/02/2002 | 100,00 | débito


058741 | 120,00 07/02/2002 | 60,00 | crédito
485879 | 300,00 10/02/2002 | 350,00 | débito
578923 | 15,00 07/02/2002 | 10,00 | débito
10/02/2002 | 100,00 | crédito
conta operação
Modelo Entidade-Relacionamento
Chave
É um ou mais atributos que permite identificar
unicamente uma entidade no conjunto de entidades.

• Chave candidata é o atributo, ou a composição de mais


de um atributo, que pode identificar unicamente uma
entidade
• Chave primária identifica a chave candidata escolhida
pelo projetista de dados para identificar uma entidade
Diagrama Entidade-Relacionamento
A estrutura lógica geral de um banco de dados pode ser
representada graficamente por um Diagrama de Entidade-
Relacionamento (DE-R)

O DE-R é composto por:


Retângulos: representam as entidades

Losangos: representam os relacionamentos 

Elipses: representam os atributos

Linhas: ligam os atributos aos conjuntos de entidades e os


conjuntos de entidades aos relacionamentos

 Dentro das figuras são inseridos os respectivos nomes dos objetos.


Diagrama Entidade-Relacionamento
Exemplo:
endereço
código
RG
data saldo
nome telefone

possui
cliente conta

Cardinalidade
É uma restrição de mapeamento que expressa o número de
entidades as quais outra entidade pode ser associada via um
conjunto de relacionamentos
Diagrama Entidade-Relacionamento
Supondo as entidades A e B, a cardinalidade pode ser:
Um para um (1:1): uma entidade de A está associada a uma
única entidade de B, e uma entidade de B está associada a
uma única entidade de A.
Um para muitos (1:N): uma entidade de A está associada a
qualquer quantidade da entidade de B, e uma entidade de B
esta associada somente a uma única entidade de A.
Muitos para um (N:1): uma entidade de A está associada a uma
única entidade de B, e uma única entidade de B pode estar
associada a qualquer quantidade de entidades de A.
Muitos para muitos (N:M): uma entidade de A está associada a
qualquer quantidade de entidades de B, e uma entidade de B
esta associada a qualquer quantidade de entidades de A.
Diagrama Entidade-Relacionamento
Exemplos:
a b a b

a1 b1 a1 b1
a2 b2 a2 b2
a3 b3 a3 b3
b4

Relacionamento um para um Relacionamento um para muitos

b a b
a
a1 b1 a1 b1
a2 b2 a2 b2
a3 b3 a3 b3
a4 a4 b4

Relacionamento muitos para um Relacionamento muitos para muitos


Diagrama Entidade-Relacionamento
As entidades são classificadas em duas categorias que
apresentam características distintas, sendo tratadas de
forma diferente no banco de dados projetado.
Suponha as entidades PAI e FILHO que possuem um
relacionamento progenitor da seguinte forma:

entidade forte

PAI progenitor FILHO

1:N
relacionamento entidade fraca
de identificação
Diagrama Entidade-Relacionamento
Notação Utilizada no DE-R
Alguns símbolos representam determinadas características
específicas do ME-R no DE-R

- relacionamento
- entidade

- entidade fraca
- relacionamento de identificação
Diagrama Entidade-Relacionamento
Os atributos possuem algumas características que podem ser
representadas corretamente com o diagrama (DER).

- atributo

- atributo chave

-atributo chave de
entidade fraca
Atributo composto
- atributo multivalorado

- atributo derivado
Diagrama Entidade-Relacionamento
Exercício Proposto
Vamos elaborar um banco de dados que permita o
correto controle das matrículas dos alunos em uma escola,
onde a preocupação concentra-se no acompanhamento da
vida acadêmica dos alunos.
Identificar as Entidades – de acordo com os requisitos do sistema

ALUNO

CURSO Relacionamentos

DISCIPLINA
Diagrama Entidade-Relacionamento
ALUNO - matricula-se - CURSO
 um aluno pode matricular-se em um único curso nesta
escola, mas um curso contém vários alunos
Cardinalidade N : 1

CURSO - formado - DISCIPLINA


 um curso é formado por diversas disciplinas, mas uma
mesma disciplina pode estar em mais que um curso
Cardinalidade N : M

ALUNO - cursa - DISCIPLINA  nota, falta, situação


 vários alunos podem cursar uma mesma disciplina e
uma disciplina tem vários alunos
Cardinalidade N : M

Os relacionamentos tem que procurar representar a realidade que ocorre no mundo real
Diagrama Entidade-Relacionamento
matrícul nome código nome
a
RG
Aluno matrícula-se Curso

N:M N:1
telefone

cursa

nota
situação N:M
falta
Disciplina formando

id_disciplin nome
a
Diagrama Entidade-Relacionamento
Agregação
Uma limitação do modelo E-R é que não é possível expressar
relacionamentos entre relacionamentos.
Considere um BD descrevendo informações sobre funcionários
que trabalham em um determinado projeto e utilizam uma série
de diferentes máquinas em seus trabalhos.

nome código horas número

trabalho
funcionário projeto

usa
maquinaria Nº. máquina
Diagrama Entidade-Relacionamento
A agregação, ou entidade associativa, é uma abstração por meio da
qual relacionamentos são tratados como entidades de nível superior.
No exemplo o relacionamento trabalho e as entidades funcionário e
projeto são tratados como um conjunto de entidades de nível
superior - trabalho

nome código horas número

funcionário trabalho projeto

usa

maquinaria Nº. máquina


Diagrama Entidade-Relacionamento
Representação em Tabelas
Um banco de dados que esteja de acordo com o DE-R
pode ser representado por uma coleção de tabelas. Para
cada conjunto de entidades e relacionamentos, no banco
de dados, pode existir uma tabela que possui,
normalmente, o mesmo nome dos seus objetos
correspondentes.

O processo de representação em tabelas envolvendo


entidades fracas acontece da seguinte forma:
• Entidade forte – uma tabela específica
• Entidade fraca – uma tabela com o atributo chave da forte
• Relacionamentos (fraca x forte) – um atributo será redundante
Diagrama Entidade-Relacionamento
O diagrama de ocorrência pode ser usado para
representar as entidades e seus atributos, facilitando com
isso o processo de identificação das entidades por suas
respectivas tabelas.

ALUNO
Por exemplo Curso
matrícula nome RG telefone
código nome
CURSO 01 Direito
código nome Tabelas 02 Medicina
03 Letras
DISCIPLINA 04 Computação
id_disciplina nome
Diagrama Entidade-Relacionamento
Estendido
• Proposta de esquemas de bancos de dados mais exatos, que reflitam com
precisão as propriedades e restrições do banco de dados;
• ER Estendido ou EER
• Subclasse e Superclasse
• Herança, a subclasse herda todos os atributos da superclasse
Diagrama Entidade-Relacionamento Estendido
Generalização e Especialização
A generalização é usada para enfatizar as semelhanças entre
tipos de entidades de nível superior e ocultar suas diferenças.

saldo código

conta
A especialização consiste
na identificação de
Generalização É uma subgrupos de entidades
que são, de alguma
Especialização forma, diferentes de
Conta- Conta- outras entidades do
poupança corrente conjunto.

Taxa juros Limite


especial
Diagrama Entidade-Relacionamento
Estendido
• Definição por predicado: coloca-se uma condição no valor de uma
atributo da superclasse.
Diagrama Entidade-Relacionamento
Estendido
Especialização definida por atributo - Quando a divisão em subclasses se
baseia em condições sobre o mesmo atributo. Esse atributo é conhecido
como atributo de definição da especialização.
Restrições na Especialização/Generalização

3. Especialização definida pelo usuário

Quando não existe nenhuma condição, é o usuário do BD que é o responsável por


adicionar entidades às subclasses.

Especialização disjunta d - Especifica que cada entidade da superclasse pode


pertencer no máximo a uma subclasse de especialização.

Especialização com sobreposição - o Especifica que cada entidade da


superclasse pode pertencer a mais do que uma subclasse.

Especialização total (linha dupla nos diagramas) - Especifica que as entidades


da superclasse têm de pertencer a pelo menos uma subclasse.

Especialização parcial (linha simples nos diagramas)- Especifica que as


entidades da superclasse podem não pertencer a qualquer subclasse.
Notação de diagrama EER para uma especialização sobreposta (não disjunta).
Temos assim 4 tipos de combinações possíveis:
• Especialização disjunta total
• Especialização disjunta parcial
• Especialização com sobreposição total
• Especialização com sobreposição parcial

O tipo de especialização a utilizar deve levar em conta o


significado que se pretende representa no BD.

Normalmente, a generalização de uma superclasse é total,


pois contém apenas as entidades das subclasses de
onde foi derivada.
Hierarquia de Subclasses
• Uma subclasse também pode ser especializada em
outras subclasses, sendo ao mesmo tempo uma
subclasse e uma superclasse.

• Por outro lado, uma subclasse também pode ter


mais do que uma superclasse, e nesse caso é
designada por subclasse compartilhada.

• Uma entidade duma subclasse compartilhada tem


que pertencer a todas as suas superclasses e
herda os atributos de todas elas (herança
múltipla).
• Um diagrama com subclasses de
subclasses forma uma hierarquia de
classes.

• Numa hierarquia de classes, uma


subclasse herda não só os atributos das
suas superclasses, mas também os
atributos de todas as superclasses
precedentes.
Um reticulado de especialização, com a subclasse GERENTE_ENGENHARIA compartilhada.
Um reticulado de especialização, com herança múltipla, para um banco de dados UNIVERSIDADE.
Categorias
• Todos os relacionamentos de superclasse/subclasse que vimos até agora
têm uma superclasse única.

• Uma coleção de objetos que é um subconjunto da UNIÃO de diferentes


tipos de entidades, chamamos de categoria.

• Ex.: As entidades-tipo PESSOA, BANCO e EMPRESA podem ser


divididas numa categoria comum PROPRIETÁRIO.

• Uma entidade não pode existir no BD pertencendo apenas a uma


categoria; tem que pertencer também a uma (e uma só) das
superclasses. Uma entidade de uma categoria herda apenas os atributos
da superclasse a que pertence.
• As categorias podem ter atributos específicos
(locais à categoria) e podem participar em
relacionamentos com outras categorias ou
entidades-tipo.

• Uma categoria pode ser total (todas as


entidades das superclasses pertencem à
categoria) ou parcial (apenas um subconjunto
das entidades das superclasses pertencem à
categoria).
Duas categorias (tipos união): PROPRIETARIO e VEÍCULO REGISTRADO.
Nesse caso GERENTE_ENGENHARIA é subclasse de cada uma das três
superclasses ENGENHARIA, GERENTE e EMPREGADO_ASSALARIADO.
Uma Entidade que é membro deve existir em todas as três. (Interseção)
Um esquema EER conceitual para um banco de dados UNIVERSIDADE.
Relacionamentos Ternários
• Em geral, um relacionamento ternário
representa informação diferente do que
três relacionamentos binários.
• O fornecedor F fornece o produto X ao
projeto P.
• O fornecedor F fornece ao projeto P, o
projeto P usa o produto X, e o fornecedor
F pode fornecer um Produto X.
Tipos de relacionamentos ternários. (a) O relacionamento FORNECE. (b) Três relacionamentos binários não
equivalentes a FORNECE. (c) FORNECE representado como um tipo entidade fraca.
Outro exemplo de tipos relacionamento ternário versus binário.
UML
Em UML é possível ilustrar um Modelo conceitual
como sendo um diagrama classes sem a definição de
operações.

•Entidades (objetos) do domínio


•Atributos e associações entre as entidades

46
Exemplo de diagrama conceitual UML

47
Representação UML
0..1
A B
0..1

0..1
A B
1..N

0..N
A B
0..1

0..N
A B
0..M
• Generalização: linhas horizontais e
verticais com triângulo
• Triângulo em branco: disjunção
• Triângulo cheio: sobreposição
Exercícios
• Rational Rose
• DIA
• SQLite
• Powerdesigner
Conclusão
• Foram discutidos as extensões do modelo
ER e EER
• Conceito de subclasses e superclasses
• Especialização e generalização
• Restrições: total/parcial e disjunção e
sobreposição
Obrigado

A maioria das figuras da aula foram extraídas e adaptadas de: ELMASRI, R..; NAVATHE, S. B., Sistemas de Banco de Dados, 4ª ed., Addison
Wesley, 2005.

Anda mungkin juga menyukai