MATA60 – BANCO DE DADOS
Aula 3- Modelo de Entidades e Relacionamentos
Prof. Daniela Barreiro Claro
Agenda
Modelo de Dados
MER
FORMAS - UFBA
2 de X; X=37
Modelo de Dados
O Modelo de Dados é a principal ferramenta que fornece a
abstração a um BD.
É um conjunto de conceitos que podem ser usados para descrever a
estrutura de uma base de dados.
Estrutura de uma base de dados entende-se os tipos de dados,
relacionamentos e restrições pertinentes aos dados.
Muitos modelos de dados também definem um conjunto de
operações para especificar como recuperar e modificar a base de
dados.
FORMAS - UFBA
3 de X
Modelo de Dados
Modelar é criar representações do mundo real
FORMAS - UFBA
4 de X
Modelo de Dados
Requisitos funcionais
Análise Funcional
Independente do SGBD
SGBD Específico
Projeto do Programa
de Aplicação
Implementação da Aplicação
Programas de Aplicação
Minimundo
Levantamento e Análise dos Requisitos
Requisitos dos dados
Projeto Lógico
Mapeamento do Modelo de Dados
Projeto Físico
Criação do banco de dados
5 de X
Modelo de Dados
A modelagem relacional pode ser representada via MER
(Modelo de Entidade Relacionamento)
O MER define estruturas e restrições e utiliza uma
notação denominada Diagrama ER
Diferentes autores propõem notações distintas do
Diagrama ER.
FORMAS - UFBA
6 de X
MER
A base do MER é representar o mundo real por meio de
conjuntos de objetos chamados entidades e
relacionamentos.
A junção ordenada/lógica destes tipos de objetos
representa a estrutura/esquema do mundo real. Ou seja,
deve suportar o armazenamento de dados que reflitam
a situação do mundo real
FORMAS - UFBA
7 de X
MER
Descreve os dados como
Entidades
Atributos
Relacionamentos
Prof. Daniela Barreiro Claro
8 de X
MER
Entidades
uma entidade é uma “coisa” ou um “objeto” do mundo real que
pode ser identificada(o) de uma forma unívoca em relação a
todos os outros objetos.
Pode ser um objeto físico
carro, casa, pessoa, funcionário, livro
Objeto de existência conceitual ou abstrata
Empresa, trabalho, curso, empréstimo
FORMAS - UFBA
9 de X
MER – Requisitos de Negócio
Banco de Dados da Empresa Claro Ltda
A empresa Claro Ltda possui empregados. Ela está organizada em
departamentos.
Quais são entidades?
Empregados
Departamentos
Entidade
Retângulo
FORMAS - UFBA
10 de X
MER
Atributos
Cada entidade tem atributos que são propriedades particulares que a descrevem
Cada instância de entidade terá um valor para cada um dos seus atributos
Este conjunto de entidades do mesmo tipo compartilham as mesmas propriedades
Atributos são propriedades descritivas de cada membro de um conjunto de entidades e cada
entidade tem seus próprios valores nos atributos.
Para cada atributo existe um conjunto de valores possíveis, chamado domínio.
Formalmente, um atributo de um conjunto de entidades é uma função que relaciona o conjunto
de entidades a seu domínio.
Cada entidade pode ser descrita pelo conjunto formado pelos pares (atributo-valor) referentes
a cada atributo do conjunto
conjunto em questão.
FORMAS - UFBA
11 de X
MER
Atributos
FORMAS - UFBA
12 de X
MER – Classes de Atributos
Atributos Compostos x Simples (atômicos)
Atributos compostos podem ser subdivididos até os atributos
simples
FORMAS - UFBA
13 de X
MER – Classes de Atributos
Atributos Monovalorados X Multivalorados
Valor único, ex. idade,bairro, cep
Conjunto de valores, ex. cor, titulação, telefones, endereços
Atributos Armazenados X Derivados
Atributos calculados e derivados de outro atributo armazenado.
Ex. idade, numeroEmpregados, somatorio, total
FORMAS - UFBA
14 de X
MER – Campos de Atributos
Atributos com valores nulos
Uma entidade pode não ter valor aplicável a um atributo
Valor NULL pode ser:
Não aplicável – Apartamento, titulação
Desconhecido
Existe mas está faltando. Ex. a altura de uma pessoa
Nao se sabe se existe. Ex. telefone residencial
FORMAS - UFBA
15 de X
MER – Requisitos de Negócio
Banco de Dados da Empresa Claro Ltda
A empresa Claro Ltda possui empregados. Ela está organizada em
departamentos. Os empregados possuem nome, cpf, endereço,
telefones (residencial e comercial) e os departamentos possuem
codigo e o nome do departamento.
Quais são os atributos?
nome, cpf, endereço, telefones (residencial e comercial)
codigo e o nome
FORMAS - UFBA
16 de X
Relacionamentos
Um relacionamento é uma associação entre várias entidades
Cada instância de um relacionamento ri em R é uma associação de
entidades, na qual a associação inclui exatamente uma instância
de uma entidade de cada entidade participante.
Exemplo
Um relacionamento que associa um cliente ‘Pedro’ a um emprestimo do livro
‘Metodologias do Ensino’ significa que o cliente ‘Pedro’ realizou tal
emprestimo do livro ‘Metodologias do Ensino’.
FORMAS - UFBA
17 de X
Relacionamentos
Formalmente
Um conjunto de relacionamentos é um conjunto de mesmo tipo.
O relacionamento é uma relação matemática com n>= 2 (n=numero de entidades)
Se E1, E2,...En são entidades então um conjunto de relacionamentos R é um subconjunto
de {(e1, e2,...e3) | e1 E E1, e2 E E2, e3 E E3}, em que e1, e2, e3 são relacionamentos.
A associação entre as entidades é referida como uma participação: o conjunto
de entidades E1, E2, ..., Em participa do conjunto de relacionamentos R.
Uma instância de relacionamento em um esquema E-R representa a existência de
uma associação entre essas entidades no mundo real no qual se insere o domínio
que está sendo modelado.
18 de X
Relacionamentos
Consideremos as entidades cliente e produto.
Definimos o conjunto de relacionamentos compra para denotar a associação
entre clientes e produtos adquiridos pelos clientes
FORMAS - UFBA
19 de X
Relacionamentos
Representação no Diagrama ER
Cliente
Compra
Produto
Grau de um Relacionamento
Número de entidades que participam desse relacionamento
2 entidades = grau 2 ou binário
3 entidades = ternário...
Atributos descritivos em relacionamentos
atributos podem fazer parte de conjuntos relacionamentos para melhor descrever o mundo real.
Exemplo: a data da compra do produto
20 de X
Relacionamentos
A função que uma entidade desempenha em um relacionamento é chamada
papel.
Algumas vezes uma “entidade” pode participar de um “relacionamento” mais
de uma vez em papéis diferentes e, nessas situações, o papel é importante
para interpretação do modelo.
Em relacionamentos recursivos, nomes explícitos de papéis são necessários para
especificar como uma entidade participa de uma instância de relacionamento.
Considere a entidade Empregado. Dado um relacionamentos é_supervisor_de
que é modelado para ordenar os pares de entidades de empregado numa
relação com o seu supervisor. Neste exemplo, os relacionamentos de
é_supervisor_de são caracterizados pelos pares (supervisor, empregado).
21 de X
Relacionamentos
Relacionamento Recursivo
Cada tipo entidade que participa de um tipo relacionamento
executa um papel particular no relacionamento
As vezes o mesmo tipo entidade participa mais de uma vez em um
tipo relacionamento
Esses tipos relacionamentos são chamados Relacionamentos recursivos
Prof. Daniela Barreiro Claro
22 de X
Relacionamentos
Restrições são determinadas pelos requisitos de negócios
Restrição: Razão de Cardinalidade
Representa o número máximo de instâncias que um relacionamento
pode participar
As razões de cardinalidade podem ser
1:1, 1:N, N:1, M:N
Prof. Daniela Barreiro Claro
23 de X
Relacionamentos
Mapeamento das cardinalidades expressa o número de entidade às quais
outra entidade pode estar associada via um conjunto de relacionamentos.
Um para um: uma 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 A.
Um para muitos: Uma entidade em A está associada a várias entidades em B. Uma entidade
em B deve estar associada no máximo a uma entidade em A.
Muitos para um: Uma entidade em A está associada a no máximo uma entidade em B. Uma
entidade em B, pode estar associada a um número qualquer de entidades em A.
Muitos para muitos: Uma 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.
FORMAS - UFBA
24 de X
Relacionamentos
Atributos de um Relacionamento
Pode ter atributos similares aos das entidades
Exemplo, data em que o gerente começou a gerenciar
Relacionamentos 1:1
Relacionamentos 1:N
Atributos podem migrar para qualquer uma das entidades participantes
um atributo pode ser migrado apenas para a entidade do lado N
Relacionamento MxN
os atributos são especificados como atributos do relacionamento
Horas é a combinação de empregado-projeto, Data_Compra
25 de X
Relacionamentos
Qual a diferença entre estas
quatro abordagens?
Em cada um destes casos, como
poderiamos tratar os atributos
do relacionamento?
FORMAS - UFBA
Exemplo: data_matricula
26 de X
Relacionamentos
Restrições de Participação e Dependência de Existência
Determina se a existência de uma entidade depende da existência de
outra
Ha dois tipos
Total e Parcial
Se a existência da entidade X depende da existência da entidade Y, então X
é dito dependente da existência de Y.
Operacionalmente, se Y deixar de existir, conseqüentemente, X deve deixar de
existir.
Prof. Daniela Barreiro Claro
27 de X
Chaves e restrições
Atributos Chaves
Restrição de unicidade em atributos
Valores distintos para cada uma das instâncias das entidades
Cpf, RG+ORGAO
Domínio dos Atributos
Conjunto de valores válidos para os atributos de cada entidade
sexo=‘F’ | ‘M’
FORMAS - UFBA
28 de X
Chaves e Restrições
Por meio de chaves podemos diferenciar as diversas entidades pertencentes a um conjunto de
entidades, e os diversos relacionamentos pertencentes a um conjunto de relacionamentos.
Conjuntos de Entidades
Superchave: conjunto de um ou mais atributos que, tomados coletivamente, nos permitem identificar de maneira
unívoca uma entidade em um conjunto de entidades.
Chaves candidatas: Superchaves para as quais nenhum subconjunto possa ser uma superchave.
Chave primária: chave candidata escolhida pelo projetista de banco de dados como a chave de significado
principal para a identificação de entidades dentro de um conjunto de entidades.
Uma chave é uma propriedade do conjunto de entidades e não de uma entidade individualmente.
Quaisquer duas entidades individuais em um conjunto não podem ter, simultaneamente, mesmos
valores em seus atributos-chave.
A especificação de uma chave representa uma restrição ao mundo real do domínio que está sendo
modelada.
29 de X
Chaves
Conjuntos de relacionamentos:
A composição da chave primária para um conjunto de relacionamentos depende de uma estrutura de atributos associada ao
conjunto de relacionamentos de R.
Se o conjunto de relacionamentos não possuir atributos então uma superchave deve ser formada pelas chaves de cada entidade
participante do relacionamento.
Se o conjunto de relacionamentos possuir atributos então uma superchave deve ser formada pelas chaves de cada entidade
participante do relacionamento mais o conjunto de atributos deste.
A estrutura da chave primária para o conjunto de relacionamentos depende do mapeamento da
cardinalidade do conjunto.
Muitos para muitos: união das chaves da entidade + atributos descritivos;
Muitos para um ou um para muitos: chave da entidade do lado do muitos + atributos descritivos
Um para um: qualquer umas das chaves primárias pode ser usada.
FORMAS - UFBA
30 de X
MER – Requisitos de Negócio
Banco de Dados da Empresa Claro Ltda
A empresa Claro Ltda possui empregados. Ela está organizada em departamentos. Os
empregados possuem nome, cpf, endereço, telefones (residencial e comercial) e os
departamentos possuem codigo e o nome do departamento. Um empregado trabalha para
um departamento. Cada empregado tem um supervisor que é um empregado. Cada
empregado trabalha somente para um departamento. Um empregado gerencia um
departamento. Um departamento controla um número qualquer (vários) de projetos. Um
empregado está alocado a um departamento mas pode trabalhar em diversos projetos
que não são controlados necessariamnte pelo mesmo departamento. Controla-se o número
de horas que um empregado trabalha em cada projeto. Todo empregado deve trabalhar
para um departamento.
Quais são os relacionamentos?
FORMAS - UFBA
31 de X
Relacionamentos
Entidade Fraca
São entidades que não tem seus próprios atributos-chaves
Entidade Fraca sempre possui uma restrição de participação total
(dependência de existência) em relação ao seu relacionamento
identificador
Uma entidade fraca tem normalmente uma chave parcial que é um
conjunto de atributos que a identifica quando relacionadas a uma
entidade proprietária.
Prof. Daniela Barreiro Claro
32 de X
Relacionamentos
Entidade Fraca
Um conjunto de entidades pode não ter atributos suficientes para formar uma chave
primária. São os conjuntos de entidades fracas.
Um conjunto de entidades que possui uma chave primária é dito forte.
A chave primária de um conjunto de entidades fracas é composto pela chave
primárias do conjunto de entidades fortes ao qual a existência do primeiro está
associada mais o identificador do conjunto de entidades fraca.
O relacionamento que associa o conjunto de entidades fracas a seu proprietário é o
relacionamento identificador.
FORMAS - UFBA
33 de X
MER – Requisitos de Negócio
Banco de Dados da Empresa Claro Ltda
A empresa Claro Ltda possui empregados. Ela está organizada em departamentos. Os
empregados possuem nome, cpf, endereço, telefones (residencial e comercial) e os
departamentos possuem codigo e o nome do departamento. Um empregado trabalha para
um departamento. Cada empregado tem um supervisor que é um empregado. Cada
empregado trabalha somente para um departamento. Um empregado gerencia um
departamento. Um departamento controla um número qualquer (vários) de projetos. Um
empregado está alocado a um departamento mas pode trabalhar em diversos projetos
que não são controlados necessariamnte pelo mesmo departamento. Controla-se o número
de horas que um empregado trabalha em cada projeto. Todo empregado deve trabalhar
para um departamento. Cada empregado possui um dependente. Os atributos do
dependente são: primeiro nome, data nascimento, sexo e parentesco.
Quais as entidades fracas?
34 de X
Modelo Lógico
FORMAS - UFBA
35 de X
Modelo Físico
FORMAS - UFBA
36 de X
www.dcc.ufba.br/~dclaro
Disciplina: MATA60 (2016.1)
Semantic Formalisms and Applications Research Group
Facebook: /formasresearchgroup
Twitter: /formasresearchgroup
FORMAS - UFBA