Você está na página 1de 46

Modelagem de Dados

Disciplina ministrada no curso de Especialização em Big Data – Escola Politécnica da USP


Claudinete
Prof. Dr. PedroVicente Borges
Luiz Pizzigatti Corrêa
Claudinete@ifes.edu.br
Prof. MSc. Ronaldo Soares Rodrigues
dezembro Maio/2016
de 2023
O conceito de Modelo

Fonte: imagens disponíveis na internet


2
O Conceito de Modelo
• Modelo:
– Desenho ou imagem que representa o que se pretende
desenhar, pintar ou esculpir;
– Aquele a quem se procura reproduzir nas ações e nas
maneiras;
– Versão, em pequena escala, de um objeto que se pretende
executar em grande escala;
– O exemplar de uma determinada população.

Fonte: Dicionários Michaelis Online. Disponível em


http://michaelis.uol.com.br/. Acesso em: 30 Março 2016.

3
O conceito de Modelo
• Modelo:
– É a representação idealizada de uma determinada
“realidade”.
BEZERRA, E. Princípios de Análise e Projeto de
Sistemas com UML. 1ª Edição, Elsevier, 2014.

O importante, contudo, é perceber que através de


algum meio, seja uma maquete, desenho ou
descrição, pode-se antecipar ou substituir a
4
existência de uma realidade qualquer!
O conceito de Abstração
• Abstração:
– Linha de raciocínio usada para suprimir detalhes de um
modelo, destacando características que venham facilitar o
seu entendimento. A abstração depende do contexto.
BEZERRA, E. Princípios de Análise e Projeto de
Sistemas com UML. 1ª Edição, Elsevier, 2014.

Pode representar tanto objetos concretos (uma


pessoa, um automóvel) quanto objetos
abstratos (um departamento, uma venda)
5
Modelo de Dados
• Modelo de dados em Banco de dados:
Descrição formal da estrutura de um banco de
Dados.
(Heuser, 2004)

6
Esquema de Banco de Dados

modelo de dados

linguagem de
modelagem de dados

esquema de banco de dados

7
Projeto de um Banco de Dados

8
Visão externa
▪ Guiada pelos requisitos
dos usuários
▪ Visão – recorte do
esquema

9
Modelo / Esquema Conceitual
▪ Descreve estrutura do Banco de
Dados
▫ entidades, tipos de dados,
relações, restrições etc.
▪ Independente de
implementação em SGBD
▫ oculta detalhes de
armazenamento físico

10
Modelo / Esquema Lógico

▪ Associado a um “modelo de
dados de implementação”
(Elmasri, 2005)

11
Modelo / Esquema Físico

 Descreve a estrutura de
armazenamento físico

12
Foco hoje!

13
O modelo Entidade-Relacionamento (E-R)

• O modelo Entidade-Relacionamento:
– Foi proposto por Peter Chen em 1976;
– Representa um domínio por meio de uma coleção de
Entidades e Relacionamentos, sendo que:
• Cada Entidade representa uma “coisa” ou um “objeto” do mundo
real capaz de existir por si próprio;
• A Entidade é descrita e se diferencia de outras entidades por meio
de seus atributos;
• O Relacionamento é representado pela associação entre várias
Entidades, que por sua vez, compartilham atributos em comum;

14
Primitivas
• Entidades:
– São substantivos e perduram no tempo;
– Representam um Conjunto de objetos do mundo real
que deseja-se armazenar no Banco de Dados;

É representada por um retângulo


com o nome da entidade no meio.

15
Entidades

Conjunto Conjunto de
de Pessoas Livros

Pessoas Livros

16
Primitivas
• Atributos:
– Descrevem uma determinada Entidade por meio de
suas características;

nome
endereco

codigoCliente telefone

Cliente

17
Atributos
Deseja-se que o processo de identificação de atributos alcance
um elenco de atributos que sejam completos, fatorados e
independentes [SHLAER,1990].
Completo: “Deve abranger todas as informações pertinentes ao
objeto que está sendo definido”. Assim, ao se definir a entidade
PESSOAS, deve-se prever todos os atributos que permitam
caracterizar completamente os elementos (pessoas) que
comporão esta entidade.
Ex.: Entidade: LIVROS
Atributos: título, autor principal, editora, ano, ISBN

18
Atributos
Fatorado: cada atributo deve ser responsável por um
aspecto. Não se deve agrupar responsabilidades
acessórias aos atributos. Cada parte, cada característica,
deve significar um traço, uma particularidade da
entidade e não estar agregando um conjunto de
informações em um único elemento, em um único
atributo.
Ex.: Entidade: PESSOAS
Atributos: nome, rua, número, bairro, cidade, estado, uf, data de
nascimento, sexo, estado civil.

Note que o endereço está fracionado nas suas


partes constituintes (rua, número, bairro,
cidade, estado, uf) e não agrupado em um
único elemento denominado endereço.
19
Atributos
Independente: os valores que um atributo pode receber
(domínio) devem ser independentes uns dos outros.
Isso não significa que não possamos ter atributos
distintos com o mesmo domínio. Cada atributo possui
um conjunto dos possíveis valores que pode assumir e
isso independe dos demais atributos da entidade.
Ex.: Entidade: PESSOAS
Atributos: data de nascimento

Se a data de nascimento fosse fatorada


haveria uma relação de dependência entre os
atributos dia, mês e ano. Em fevereiro, por
exemplo, dependendo do ano, pode-se ter 28
ou 29 dias.
20
Tipos de Atributos

▪ Simples (atômico) Tamanho

▪ Multivalorado Autores

Rua Número Cidade Estado

▪ Composto Endereço 21
Atributos Chave
 Identificam as tuplas/linhas de cada Entidade;
 São únicos na relação;
 Estão destacados com sublinhado;

título

nome ISBN autor

código telefone
LIVRO

PESSOA
ano categoria
Primitivas
• Relacionamento:
 Define um conjunto de associações entre conjunto de
Entidades;
O mundo real nos conta que:
Funcionários são lotados em Departamentos;
Clientes fazem pedidos.

É importante notar que todos os relacionamentos binários possuem uma


leitura inversa:
Departamentos lotam Funcionários;
Pedidos são feitos por Clientes.

Departamentos lotam Funcionários

Clientes fazem Pedidos


23
Sobre Relacionamentos
2021

2023
Quincas
2015

Asdrúbal 2017

2017
Doriana
Conjunto
Conjunto Conjunto de de Livros
de Pessoas Relações Escreve

Pessoas Escrevem Livros


Relacionamentos

São representados por um losango, ligados por


linhas aos retângulos das entidades que
participam do relacionamento
25
Relacionamentos

26
Relacionamentos
 Uma entidade pode participar de relacionamentos
com quaisquer outras entidades do modelo,
inclusive com ela mesma.

27
Restrição de Integridade: Cardinalidade
 Determina os limites mínimos e máximos de instâncias de
uma Entidade em um Relacionamento;
 C a rd i n a l i d a d e mínima: número mínimo de entidades
associadas a u m a ocorrência da entidade e m questão, através
do relacionamento (0 ou 1)
 Indica a participação o p c i onal (0) ou o b r i gató r i a (1) das
ocorrências no relacionamento

(0,N)
Notação Mínimo Máximo
(1,1)
Clientes realizam Pedidos
(1 , 1) Um Um
(0 , N) Zero Muitos
(1 , N) Um Muitos
(1,N) (1,N)
Clientes compram Produtos (0 , 1) Zero Um
N Zero Muitos
1 Um Um
Das restrições de integridade, a
“Cardinalidade” é a única que é expressa no
modelo E/R 28
Restrição de Integridade: Cardinalidade

 Notação de cardinalidades: (mínima, máxima)

(1 ,1 ) (0,N )
Editoras publicam Livros

Como se lê?
Uma editora pode publicar N livros.
Um livro é obrigatoriamente publicado por, no
máximo, 1 editora.
29
Tipos de Relacionamentos

Tipo de Relacionamento: Classificação baseada na


cardinalidade máxima dos relacionamento.
Pode ser: 1:1 ; 1:N ; N:N 30
Entidade Associativa
 Agregação é uma abstração através da qual
relacionamentos entre duas entidades são tratados
como entidades em um nível mais alto.

 Esta “nova entidade”, a agregação, denominada


“Entidade Associativa, pode ter atributos e se
relacionar com outras entidades do modelo.

Só devemos representar
agregações em
relacionamentos tipo N:N

31
Atributos de Relacionamentos

 Assim como as entidades, os relacionamentos


também podem possuir atributos. Atributos de
relacionamentos são atributos que não são de
nenhum dos dois conjuntos de entidades.

 Na prática, apenas os atributos de relacionamentos


N:N são caracterizados como atributos de
relacionamentos.
Quando o relacionamento é N:N, há um
teste que pode ser aplicado para se deduzir
se um atributo é de um dos dois conjuntos
de entidades ou se é do relacionamento.

32
Atributos de Relacionamentos

 Fixa-se um material, por exemplo impressora, e variam-se os


fornecedores deste material. Se o valor do atributo mudar ao
variarmos o elemento do outro conjunto de entidades, é porque este
não é atributo do primeiro conjunto de entidades, no caso MATERIAIS;

 O Procedimento análogo deve ser feito, agora, para a outra entidade.


Fixando-se um fornecedor e variando-se os materiais temos: A
Americanas vende uma impressora por R$ 550,00 e um
microcomputador R$ 3.700. Como o valor do atributo variou para a
mesma entidade, é sinal de que ele não é atributo de FORNECEDORES.

 Se não é atributo nem de MATERIAIS, nem de FORNECEDORES, então é


um atributo do relacionamento entre os dois conjuntos de entidades.33
Atributos de Entidade ou Nova Entidade?

 Pode não ser fácil decidir se um determinado elemento de informação


deve ser tratado como atributo de uma entidade ou como uma segunda
entidade relacionada à primeira.

 De forma geral, convém tratar um elemento de informação como uma


segunda entidade se:
o O elemento em questão tem atributos próprios (mais de um);
o A segunda entidade resultante for relevante para a organização;
o A segunda entidade pode ser relacionada a diversas ocorrências da
entidade-1 (1:N);
o A segunda entidade relaciona-se a outras entidades que não a
entidade-1.

34
Atributos de Entidade ou Nova Entidade?

Exemplo: O código do departamento que oferece uma disciplina


deve ser modelado como atributo de DISCIPLINAS, ou merece ser
uma nova entidade relacionada à entidade DISCIPLINAS ?

35
Auto-Relacionamento
 Representa uma associação entre ocorrências de uma mesma
entidade;
 Costuma-se definir papéis;

Um empregado pode ser supervisionado


por no máximo 1 empregado. Enquanto
que um empregado pode supervisionar até
N empregados
36
Especialização/Generalização
 Muitas vezes, elementos de um conjunto de entidades do
mundo real, se subdividem em categorias com atributos
parcialmente distintos.
 As abstrações que norteiam este procedimento são:
– Generalização: entidades de um nível mais baixo de
abstração são agrupadas, dando origem a uma entidade
de nível mais alto.
– Especialização: uma entidade de nível mais alto de
abstração é desmembrada em várias entidades de nível
mais baixo.

37
Especialização/Generalização

As características comuns a Engenheiros e Motoristas


foram incluídas em Empregados (Salário, Nome e CPF).
Aquelas específicas de cada conjunto, foram incluídas nas
especializações, a exemplo de CREA e CNH
38
Modelo E/R: Representação ...01

Não há um padrão de fato para representação


de modelos E/R. Aqui serão apresentados
alguns exemplos

39
Modelo E/R: Representação ...02

Complemento (0,1)
numero
logradouro
cidade
estado
rua
cep
Razao
CNPJ social
codigo nome
endereco codigo Preco unit

Telefone (0,n)

FORNECEDORES FORNECIMENTO PRODUTOS

40
Modelo E/R: Representação ...03

Essa será a notação a ser usada na disciplina de


Banco de Dados, com os atributos anexos ao
modelo, em um Dicionário de Dados. Assim, o
modelo fica mais limpo, de mais fácil leitura
41
Modelo Conceitual – Exemplo 1
Deseja-se manter informações sobre
alunos, cursos, disciplinas e
departamentos:
1. Cada disciplina possui um
departamento responsável. Um
departamento é responsável por
muitas disciplinas.
2. Uma disciplina pode possuir
diversos pré-requisitos. Uma
disciplina pode ser pré-requisito de
muitas outras disciplinas.
3. Uma disciplina pode aparecer no
currículo de muitos cursos. Um
curso pode possuir muitas
disciplinas em seu currículo.
4. Um aluno está inscrito em um
curso. Um curso pode ter nele
inscritos muitos alunos.

42
Modelo Conceitual – Exemplo 2

Considerações sobre o modelo:


• O modelo fica carregado, quando inclui atributos;
• Falta padronização nos nomes de Entidades. Uns
escritos no singular e outros, no plural
43
Exemplo – Estudo de Caso
“Uma empresa de Engenharia, a Engenhol Ltda, trabalha em um regime de projetos nos
quais são alocados seus empregados, com um certo percentual de dedicação. De cada
empregado deseja-se saber: matricula, nome, endereço, telefone, cpf, data de nascimento e
data de admissão. Por outro lado, de cada projeto deseja-se saber: número, nome,
descrição, data de início e data prevista para encerramento. Administrativamente,
empregados estão lotados em departamentos. Um funcionário é lotado em um
departamento, enquanto que um departamento pode ter vários funcionários nele lotados.
Cada projeto deverá ser gerenciado por um único empregado. No entanto, no momento da
criação do projeto este gerente poderá não ser conhecido. Um empregado, por outro lado,
poderá gerenciar vários projetos, ou mesmo nenhum. Para cada departamento deseja-se
armazenar: código, nome, data de criação e atividades exercidas. Para se criar um
departamento não é pré-requisito que tenha funcionário lotado.
As peças a serem utilizadas nos projetos, quando não se encontram em uso, estão estocadas
em armazéns da empresa. Cada peça é destinada ao depósito (armazém) mais apropriado
para o armazenamento desta. Um depósito, por outro lado, pode armazenar diferentes tipos
de peças. Para cada peça é importante saber: código, nome, descrição, quantidade em
estoque e data da última aquisição. De cada armazém é importante armazenar: o código do
armazém, nome e localização.”

44
Exemplo – Modelo de Dados

45
Exemplo – Dicionário de Dados
PROJETO = numero, nome, descricao, dtInicio,
dtPrevistaFim
DEPARTAMENTO = codDepartamento, nome, dtCriacao
EMPREGADO = matricula, nome, ENDERECO, telefone, cpf,
dtNascimento, dtAdmissao
ENDERECO = rua, numero, complemento, cep, bairro, uf
ALOCACAO = percentualDedicacao
ARMAZEM = codArmazem, nome, localizacao
PECA = codPeca, nome, descricao, qtdEstoque,
dtUltimaCompra

46

Você também pode gostar