Você está na página 1de 45

Modelação de Bases de Dados

Modelo Entidade-Associação

Sistemas de Informação e Bases de


Dados
Tecnologias de Comunicação Multimédia
2ºAno – 2022/2023
Marco Amaro Oliveira
Modelação de Dados
● A adopção da tecnologia de bases de dados requer a
modelação de dados, porque várias aplicações
informáticas vão partilhar o mesmo conjunto de
dados.
● (A base de dados serve as aplicações já existentes,
mas deve estar preparada para servir as aplicações
que venham a ser desenvolvidas no futuro).
● A identificação dos dados necessários passa a
depender dos requisitos de informação do SI que a
base de dados pretende suportar
○ e não exclusivamente das necessidades de
processamento de cada aplicação.

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 2


Modelação de Dados
● A modelação de dados, vista como o conjunto de
actividades que conduz ao desenho da BD, passa por
duas etapas:
● Levantamento de Requisitos:
○ Entrevista com o cliente;
○ Compreensão do domínio do problema,
• Entender as “regras de negócio”.
● Especificação formal da Base de Dados:
○ Desenho conceptual
• Modelo Entidade-Associação
○ Desenho lógico
• Modelo relacional
○ Desenho Físico

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 3


Modelação de Dados
● Desenho conceptual:
○ consiste na construção do esquema conceptual de dados, o
qual reflecte a percepção que os utilizadores têm dos
dados, sendo independente de qualquer implementação
física. A abordagem mais utilizada são os diagramas EA
(Entidade-Associação).
● Desenho lógico:
○ Corresponde à transformação do modelo conceptual em
estruturas de dados que são implementáveis no SGBD
seleccionado. O modelo relacional tem sido o modelo mais
utilizado na construção de modelos lógicos de dados.
● Desenho físico:
○ Passa pela definição dos detalhes físicos que serão
considerados na implementação do modelo lógico, e que
são específicos do SGBD seleccionado.
Marco Amaro Oliveira - TCM - 2º Ano - SIBD 4
Modelo Entidade-Associação
● Entidades
○ objecto, ou conceito do mundo real, relevante para o
domínio do problema em análise:
• com existência física, e.g. carro, empregado,
produto, aluno, etc.
• com existência conceptual: uma empresa, uma
profissão, um curso, etc.
● Atributos
○ propriedades que caracterizam (e estão associadas)
uma entidade
● Associações
○ representam interacções entre 2 ou mais entidades

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 5


Entidade
● Conceito ou coisa com identidade própria: aluno,
camião, cliente;
● Representam a informação fundamental do
“negócio”;
● Geralmente identificadas por um nome;
● Cada entidade representa um conjunto de
instâncias do mesmo tipo, com identidades
diferentes mas informação (atributos)
semelhante;
● Caracteriza-se por um nome e uma lista de
atributos.

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 6


Exemplo - Transportadora
● O presidente de uma multinacional de transportes
e logística pretende melhorar o seu sistema de
entregas e pede-lhe que analise a sua empresa.
● A empresa de transportes é responsável pela
distribuição de pacotes (encomendas) dos
armazéns para a rede de lojas de uma
companhia. Existem vários armazéns e várias
lojas. Cada camião pode transportar vários
pacotes numa mesma viagem, e entregar
pacotes a diferentes lojas.

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 7


Exemplo - Transportadora
● O presidente de uma multinacional de transportes
e logística pretende melhorar o seu sistema de
entregas e pede-lhe que analise a sua empresa.
● A empresa de transportes é responsável pela
distribuição de pacotes (encomendas) dos
armazéns para a rede de lojas de uma
companhia. Existem vários armazéns e várias
lojas. Cada camião pode transportar vários
pacotes numa mesma viagem, e entregar
pacotes a diferentes lojas.

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 8


Atributos
● Distinguem elementos da mesma classe
● Todos os elementos de uma classe têm os mesmos
atributos, mas valores diferentes para estes.
● Representam qualquer característica ou qualidade
de uma Entidade.
● Domínio do atributo
○ conj. de valores que podem ser atribuídos a um
atributo de uma entidade.
○ Geralmente os atributos são indivisíveis (atómicos)
○ O valor null é um membro de todos os domínios
● Valores dos atributos = Dados da BD

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 9


Exemplo - Transportadora
● Cada armazém tem um número de armazém, e a
sua localização, decomposta em cidade, rua e
número. As lojas têm a mesma informação.
● Os camiões são de um determinado tipo, e têm
um número de camião e matrícula.
● Os tipos de camiões têm diferentes capacidades
de transporte, quer em volume, quer em peso.
● Cada pacote (encomenda) tem um número e
informação sobre o seu volume e o seu peso, e a
data limite para entrega.
● Cada viagem tem um número de viagem e uma
data de partida.
Marco Amaro Oliveira - TCM - 2º Ano - SIBD 10
Exemplo - Transportadora
● Cada armazém tem um número de armazém, e
a sua localização, decomposta em cidade, rua e
número. As lojas têm a mesma informação.
● Os camiões são de um determinado tipo, e têm
um número de camião e matrícula.
● Os tipos de camiões têm diferentes capacidades
de transporte, quer em volume, quer em peso.
● Cada pacote (encomenda) tem um número e
informação sobre o seu volume e o seu peso, e
a data limite para entrega.
● Cada viagem tem um número de viagem e uma
data de partida.
Marco Amaro Oliveira - TCM - 2º Ano - SIBD 11
Atributos
● Tipos de atributos:
○ atributo simples ou atómico:
• não é divisível (possui apenas um componente).
○ atributo composto:
• divisível em atributos simples (componentes) com
significado independente (ex: o atributo morada
pode ser dividido nos seus componentes).

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 12


Atributos
● Tipos de atributos:
○ atributo de valor único:
• têm apenas um valor para uma determinada entidade.
○ atributo de valores-múltiplos:
• pode tomar 1 ou mais valores de um conjunto de valores
para a mesma entidade (ex: as pessoas podem ter mais do
que uma nacionalidade).
○ Atributo de valor derivado:
• pode ser derivado de outro(s) atributo(s) (ex: a idade pode
ser derivada de DataNascimento).
○ atributo com valor nulo (NULL):
• o atributo não se aplica;
• o valor do atributo não é conhecido ou está em falta.
○ Atributo redundante
Marco Amaro Oliveira - TCM - 2º Ano - SIBD 13
Entidade-tipo
● Entidade-tipo:
○ determina o esquema para um conjunto de entidades que
partilham a mesma estrutura (atributos).
○ caracteriza-se por um nome e uma lista de atributos:
NOME ( Atributo1, ..., Atributon ) Atributo
composto

● Do exemplo:
ARMAZEM (numero, localizacao (cidade, rua, numeroDePorta))
CAMIAO (numero, matricula, tipo, volumeMaximo, pesoMaximo)
ENCOMENDA (numero, volume, peso, dataLimite)
LOJA (numero, localizacao (cidade, rua, numeroDePorta))
VIAGEM (numero, dataDePartida)

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 14


Chaves
● Super-Chave de uma Entidade
○ conjunto de um ou mais atributos cujos valores determinam
unicamente cada entidade.
● Chaves-Candidatas
○ super-chaves de tamanho minimo. Destas, uma é escolhida
para ser a chave primária (geralmente a de menor
tamanho).
● Atributo chave de uma Entidade-tipo:
○ é o atributo que identifica de forma únivoca cada entidade.
○ deve aparecer sublinhado.
EMPRESA ( nif, nome, endereço, presidente )
PESSOA ( nome, numBI, dataNasc, endereço, …)
○ pode ser constituído por mais do que um atributo simples.

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 15


Exemplo - Transportadora
● Entidades:
○ ARMAZEM (numero, localizacao (cidade, rua, numeroDePorta))

○ CAMIAO (numero, matricula, tipo, volumeMaximo, pesoMaximo)

○ ENCOMENDA (numero, volume, peso, dataLimite)

○ LOJA (numero, localizacao (cidade, rua, numeroDePorta))

○ VIAGEM (numero, dataDePartida)

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 16


Associação
● No modelo EA, uma entidade não pode referenciar
directamente outra entidade; tal necessidade traduz-se
na definição de uma associação.
● Associação:
○ Representa a forma como as entidades se relacionam entre
si.
○ Geralmente identificadas por verbos ou construções verbais
○ Exemplos:
• um cliente compra uma viagem a um destino
• uma viagem é efectuada por um camião.
• cada funcionário tem filhos
○ Representa-se:
• nome (entidade-tipo1, entidade-tipo2, ...)

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 17


Exemplo - Transportadora
● Os pacotes destinam-se a lojas.
● Cada viagem inicia-se com um carregamento
num armazém.
● Cada viagem é composta de etapas, de uma loja
a outra loja.
● Uma viagem é efectuada por um camião.

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 18


Exemplo - Transportadora
● Os pacotes destinam-se a lojas.
● Cada viagem inicia-se com um carregamento
num armazém.
● Cada viagem é composta de etapas, de uma loja
a outra loja.
● Uma viagem é efectuada por um camião.

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 19


Exemplo - Transportadora
● Entidades:
○ ARMAZEM (numero, localizacao (cidade, rua, numeroDePorta))
○ CAMIAO (numero, matricula, tipo, volumeMaximo, pesoMaximo)
○ ENCOMENDA (numero, volume, peso, dataLimite)
○ LOJA (numero, localizacao (cidade, rua, numeroDePorta))
○ VIAGEM (numero, dataDePartida)

● Associações:
○ temDestino ( ENCOMENDA, LOJA)
○ temInicio ( VIAGEM, ARMAZEM )
○ temEtapa ( VIAGEM, LOJA )
○ efectuadaPor ( VIAGEM, CAMIAO )

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 20


Caso de exemplo 1 (Enunciado)
● Uma empresa está dividida em departamentos. Cada departamento
tem um nome, um número e um gerente. Inclui ainda a data em que
o gerente começou a gerir o departamento. O departamento pode ter
várias localizações.
● Um departamento controla um determinado número de projectos.
Cada projecto tem um nome, um número e uma localização única.
● Para cada empregado, guardar o nome composto por primeiro e
último, o número do BI, endereço, salário, sexo e data de
nascimento.
● Um empregado pertence a um departamento, mas pode trabalhar em
vários projectos, que não são necessariamente controlados pelo
mesmo departamento. Tomar nota do número de horas por semana
que um empregado trabalha num dado projecto. Tomar nota do
supervisor directo de cada empregado.
● Tomar nota do número de dependentes de cada empregado para
efeitos de seguro. Para cada dependente, guardar o nome, sexo,
data de nascimento e grau de parentesco para o empregado.
Marco Amaro Oliveira - TCM - 2º Ano - SIBD 21
Caso de exemplo 1 (Resolução)
● Entidades tipo: Atributo
DEPARTAMENTO ( nome, num, {local} ) multi-valor
PROJECTO ( nome, num, localização )
EMPREGADO ( nome(p,u), numbi, sexo, endereço, salário, dNasc )
DEPENDENTE ( nome, sexo, dNasc, grauParentesco )

● Associações:
trabalhaPara(EMPREGADO,DEPARTAMENTO)
dependeDe(DEPENDENTE,EMPREGADO)
controla(DEPARTAMENTO,PROJECTO)
dirige(EMPREGADO,DEPARTAMENTO, gerData)
supervisiona(EMPREGADO,EMPREGADO)
trabalhaEm(EMPREGADO,PROJECTO,horas)

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 22


Caso de exemplo 2 (Enunciado)
● Uma companhia aérea tem uma frota de aviões.
● Cada avião tem uma denominação, uma capacidade de
passageiros, uma capacidade de carga e uma
autonomia de voo.
● Cada voo tem um código identificativo e um avião
atribuído.
● Cada voo tem uma origem e um destino num dos
inúmeros aeroportos permitidos à companhia utilizar.
● Os aeroportos têm um código e um nome e vários
contactos telefónicos.
● Cada voo tem um número fixo de passageiros.
● Cada passageiro é identificado pelo seu nome e voo
onde irá embarcar. Igualmente se pretende tomar nota
da morada, BI e idade.

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 23


Caso de exemplo 2 (Resolução)
● Entidades
AVIAO (denominacao, nPass, cCarga, autonomia)
VOO (codVoo, nPass)
PASSAGEIRO (nome, morada, bi, idade)
AEROPORTO(codigo, nome, {telefone})

● Associações
FeitoPor (VOO, AVIAO)
Embarca (PASSAGEIRO, VOO)
Origem(VOO, AEROPORTO)
Destino(VOO, AEROPORTO)

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 24


Exercício EA01 (Enunciado)
● Uma escola é composta por alunos, professores e
empregados.
● Um curso é composto por cadeiras, tendo estas nome e
um código. Cada curso tem um nome e um determinado
número de cadeiras.
● Um aluno inscreve-se a cadeiras. Cada aluno é
identificado por um número, nome, morada, idade e
curso a que pertence.
● Os professores dão aulas a um curso e podem dar
várias cadeiras. Um professor tem um nome.
● Os empregados estão atribuidos a um curso e são
identificados por nome, codigo e função.

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 25


Exercício EA02 (Enunciado)
● Uma multinacional distribui produtos de beleza. Na sua
rede internacional, cada sucursal envia pedidos de
renovação de stocks - dos produtos que vende - para
vários armazéns centrais. Estes armazéns estão
localizados em locais predefinidos. Cada produto é
designado para um determinado tipo de pele e tem uma
denominação e um preço. Quanto mais longe ficar o
armazém a que se faz o pedido mais caro se torna o
produto. Pretende-se uma base de dados que permita
gerir a informação de forma a minimizar o custo dos
produtos (produtos com o preço mais baixo possível)

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 26


Opções de Desenho
● Atributo ou Entidade?
○ Certos conceitos podem ser representados por
atributos ou entidades.
○ Por exemplo, a entidade País num diagrama
respeitante a uma agência de viagens.
• Representar na forma de simples atributo quando o
seu nome é tudo o que nos interessa.
• Representar como uma entidade quando podemos
associar mais atributos a esse conceito ou, mais
importante ainda, quando precisamos de fazer
relações entre esse conceito e outro

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 27


Opções de Desenho
● Entidade ou Associação?
○ Certas associações têm atributos, e tornam-se
muito parecidas com entidades.
○ Exemplo: Um cliente faz uma reserva numa
agência de viagens para um dado destino.
Reserva pode ser entidade, ou simplesmente uma
associação muitos-para-muitos entre Cliente e
Destino.
• Representar como entidade se houver um atributo
identificativo
• Nota: uma relação muitos-para-muitos entre duas
entidades pode ser vista como uma nova entidade,
com uma relação 1-para-muitos com cada uma das
entidades originais
Marco Amaro Oliveira - TCM - 2º Ano - SIBD 28
Associação: Características
● Grau (ou aridade)
○ Número de entidades participantes numa
associação.
● Atributos
○ Representam caracterísitcas ou qualidades de uma
associação.
● Restrições
○ Permitem limitar as combinações possíveis entre
entidades participantes;
○ Restrições de Cardinalidade e de Participação

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 29


Associação: Grau
● Grau de uma associação:
○ Define o número de entidades numa associação.
● Tipologias
○ Associação unária
• supervisiona(EMPREGADO, EMPREGADO)
○ Associação binária:
• trabalhaPara(EMPREGADO, DEPARTAMENTO)
○ Associação ternária:
• fornece(FORNECEDOR, PRODUTO, PROJETO)

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 30


Associação: Grau
● É boa prática evitar a existência de relações
ternárias (ou de grau superior).
○ “O Professor recomenda Livros para a Disciplina”:
recomenda(PROFESSOR, LIVRO, DISCIPLINA)

○ Poderá trocar-se o verbo “recomenda” por


“recomendação” transformando a Associação
numa Entidade: “A Recomendação dos Livros
para a Disciplina é efectuada pelo Professor”:
feitaPara (RECOMENDACAO, LIVRO)
dizRespeito (RECOMENDACAO, DISCIPLINA)
efectuadaPor (RECOMENDACAO, PROFESSOR)

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 31


Associação: Grau

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 32


Associação: Atributos
● Uma associação pode conter atributos.
● Deve-se utilizar atributos para descrever uma
associação, quando não se consegue que esses
atributos descrevam correctamente qualquer das
entidades participantes.

trabalhaEm ( EMPREGADO, PROJECTO, horas)

Atributo da
Associação

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 33


Associação: Restrições
● Cada entidade tem uma cardinalidade distinta na associação.
● Cardinalidade numa associação binária:
○ 1:1 – “Um para um”
• Um departamento possuiu um gestor, um empregado apenas pode
gerir um departamento.
dirige(EMPREGADO, DEPARTAMENTO)
○ 1:N ou (N:1)– “Um para muitos”
• Um empregado está associado a um departamento, o departamento
pode ter vários empregados.
trabalhaPara(EMPREGADO, DEPARTAMENTO)
○ M:N – “Muitos para muitos”
• Um empregado trabalha em diversos projecto, um projecto pode ter
vários empregados.
trabalhaEm(EMPREGADO, PROJECTO, horas)

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 34


Associação: Restrições
● Participação
○ especifica se a existência de uma instância de
entidade depende da sua associação com outra
entidade, via essa associação.
● Tipos de participação
○ Total (dependência existencial)
• quando todas as instâncias de uma entidade estão
associadas a alguma instância de uma outra entidade
participante na associação. Todos os
empregados
trabalhaPara(EMPREGADO, DEPARTAMENTO) trabalham para um
○ Parcial departamento
(obrigatoriamente)
• quando não se espera que todas as instâncias de uma
entidade participem na associação. Apenas um empregado
dirige(EMPREGADO, DEPARTAMENTO) pode dirigir um
departamento.

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 35


Entidade Associativa
● É um caso particular do MEA com:
○ Restrição de cardinalidade N:M;
○ Pode ter os seus próprios identificadores únicos;
○ Contém informação relevante (atributos) para a
associação;
○ Pode ter significado independente das outras
entidades da associação;
○ Pode participar noutras associações.
● Exemplo: pode ocorrer na decomposição de uma
associação ternária.

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 36


Entidade Fraca
● Entidade Fraca:
○ É identificada pela sua associação (associação
identificadora) com determinadas entidades
(entidade identificadora)
○ Restrição de participação Total (dependência
existencial) em relação à associação-identificadora.
○ Possui uma chave-parcial, que é o conjunto de
atributos que univocamente determinam a entidade
fraca associada com a mesma entidade identificadora
• i.e., não consegue ser identificada apenas à custa
dos seus próprios atributos.

Ex: dependeDe(DEPENDENTE, EMPREGADO)


Marco Amaro Oliveira - TCM - 2º Ano - SIBD 37
Entidade Fraca
● Outro Exemplo:
○ Código: é uma chave para processo
○ Número: distingue todas as peças de um processo,
mas para distinguir uma peça de todas as outras no
sistema, precisa de se juntar a código. Número é
uma chave fraca, ou discriminador

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 38


Caso de exemplo 1 (restrições)
● Entidades tipo:
DEPARTAMENTO ( nome, num, {local} )
PROJECTO ( nome, num, localização )
EMPREGADO ( nome(p,u), numbi, sexo, endereço, salário, dNasc )
DEPENDENTE ( nome, sexo, dNasc, grauParentesco )
Nem todos os
Um empregado trabalha para apenas 1 departamento. empregados têm
Um departamento pode ter vários empregados. supervisor
● Associações:
trabalhaPara(EMPREGADO,DEPARTAMENTO) N:1 total/total
dependeDe(DEPENDENTE,EMPREGADO) N:1 total/parcial
controla(DEPARTAMENTO,PROJECTO) 1:N parcial/total
dirige(EMPREGADO,DEPARTAMENTO, gerData) 1:1 parcial/total
supervisiona(EMPREGADO,EMPREGADO) 1:N parcial/parcial
trabalhaEm(EMPREGADO,PROJECTO,horas) M:N parcial/total

Todos os Projetos
têm pelo menos
um Empregado
(obrigatoriamente)
Marco Amaro Oliveira - TCM - 2º Ano - SIBD 39
Diagramas EA: Sintaxe
● Uma entidade é representada por um rectangulo com o nome da
entidade no interior.

EMPREGADO

● Um atributo simples é representado por uma oval com o nome do


atributo no interior e ligado por uma linha à entidade ou associação.

EMPREGADO endereco

● Um atributo composto é representado por uma ramificação dos


atributos que o compõem.
primeiro
nome
EMPREGADO
ultimo

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 40


Diagramas EA: Sintaxe
● Os atributos multivalor são representados com uma linha dupla à
volta do atributo.

DEPARTAMENTO local

● Um atributo derivado é representado por uma linha tracejada.

EMPREGADO idade

● Um atributo chave é representado pelo sublinhado do nome do


atributo.
EMPREGADO numBI

● Uma associação é representada por uma forma de diamante com o


nome da relação no interior
trabalhaPara

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 41


Diagramas EA: Sintaxe
● A cardinalidade das entidades parrticipantes é representada na linha
que liga a entidade à associação
● A restrição de participação total é representada por uma linha dupla
na ligação entre a entidade e a associação

M N
EMPREGADO trabalhaEm PROJECTO

● Entidades fracas e associações identificadoras são representadas


por uma linha dupla à volta dos elementos.

N 1
DEPENDENTE dependeDe EMPREGADO

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 42


Caso de exemplo 1 (Diagrama EA)

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 43


Exercício EA03
● Apresente o DEA para o seguinte problema:
○ Uma cadeia de hotéis pretende informatizar o seu
sistema.
○ Cada hotel tem um nome e uma localização e um
determinado número de quartos e salas, os quais
aluga a clientes, sejam pessoas ou empresas.
○ Existem quartos simples e duplos e salas para
conferências e reuniões. Estas últimas tem lotações
próprias consoante os seu propósito.
○ Os clientes podem fazer reservas quer aos quartos
quer às salas. Para cada reserva pretende-se saber a
duração, e tipo de serviço e a data de entrada.
○ Dos clientes pretende-se saber o nome, morada,
telefone e B.I.
Marco Amaro Oliveira - TCM - 2º Ano - SIBD 44
FIM

● Duvidas, questões, comentários,opiniões???

Marco Amaro Oliveira - TCM - 2º Ano - SIBD 45

Você também pode gostar