Escolar Documentos
Profissional Documentos
Cultura Documentos
MODELAGEM
DE DADOS
César Torres Fernandes
E-book 2
Neste E-Book:
INTRODUÇÃO������������������������������������������4
MODELO RELACIONAL�������������������������� 5
CONCEITOS ��������������������������������������������������������5
TABELAS�����������������������������������������������������������10
TIPOS DE CHAVES�������������������������������� 12
ÍNDICES��������������������������������������������������� 13
REGRAS DE INTEGRIDADE����������������� 14
MAPEAMENTO DO MODELO ER
PARA O MO,DELO RELACIONAL������� 15
NORMALIZAÇÃO�����������������������������������23
PRIMEIRA FORMA NORMAL��������������26
SEGUNDA FORMA NORMAL��������������28
TERCEIRA FORMA NORMAL������������� 30
FORMA NORMAL DE BOYCE /
CODD�������������������������������������������������������32
QUARTA FORMA NORMAL���������������� 34
QUINTA FORMA NORMAL������������������35
2
DESNORMALIZAÇÃO���������������������������36
CONSIDERAÇÕES FINAIS��������������������39
SÍNTESE�������������������������������������������������� 40
3
INTRODUÇÃO
Neste módulo, estudaremos os sistemas de bancos
de dados relacionais, o mapeamento entidade-rela-
cionamento para o modelo relacional e a aplicação
da normalização de dados.
4
MODELO RELACIONAL
Aqui, conheceremos um pouco sobre o modelo
relacional e seu componente básico. Além disso,
conheceremos as relações e a estruturação lógica
composta de linhas e colunas.
CONCEITOS
Criado por Edgar Frank Codd no início dos anos 1970,
o modelo relacional baseia-se no princípio de que
as informações em uma base de dados podem ser
consideradas como relações matemáticas e que são
representadas por meio do uso de tabelas bidimen-
sionais (linhas e colunas), conforme ilustrado na
Figura 1, colocando assim os dados em estruturas
simples de armazenamento e nas quais a visão do
usuário é privilegiada.
5
como uma matriz composta de linhas e colunas,
sendo que as linhas (ou tuplas) e cada coluna repre-
sentam um atributo. As operações sobre elas são
feitas por linguagens declarativas, que manipulam
a álgebra relacional (também criada por E. F. Codd),
como é o caso da linguagem SQL.
Podcast 1
6
● Melhoria na segurança dos dados e mais agili-
dade na questão gerencial da informação ligada ao
processo decisório da organização.
● Utilização da linguagem de programação declara-
tiva, adotada pela maioria dos sistemas de geren-
ciamento de banco de dados relacionais, SQL, que
permite ao usuário especificar o que deve ser feito
sem especificar como deve ser feito.
7
que atua como base para todas as outras regras.
Observe as 12 regras:
Podcast 2
8
5. Regra abrangente de subidioma de dados: um
banco de dados só pode ser acessado por meio
de uma linguagem com sintaxe linear que suporte
operações de definição de dados, manipulação de
dados e gerenciamento de transações. Essa lingua-
gem pode ser usada diretamente ou por intermédio
de alguma aplicação. Se o banco de dados permitir
acesso aos dados sem nenhuma ajuda dessa lin-
guagem, será considerado uma violação.
9
que os utilizam. Por exemplo, se duas tabelas são
mescladas ou uma é dividida em duas tabelas di-
ferentes, não deve haver impacto ou alteração no
aplicativo do usuário. Essa é uma das regras mais
difíceis de aplicar.
TABELAS
No geral, em um modelo relacional as tabelas têm
características como (ROB; CORONEL, 2011):
● Uma tabela é percebida como uma estrutura bidi-
mensional composta por linhas e colunas.
10
● Cada linha da tabela (tupla) representa uma ocor-
rência da entidade única dentro do conjunto de
entidades.
● Cada coluna da tabela representa um atributo, e
cada coluna tem um nome distinto.
● Cada interseção de linha / coluna representa um
único valor de dados.
● Todos os valores em uma coluna devem estar em
conformidade com o mesmo formato de dados.
● Cada coluna possui um intervalo específico de
valores conhecido como domínio do atributo.
● A ordem das linhas e colunas é irrelevante para
o SGBD.
● Cada tabela deve ter um atributo ou uma combi-
nação de atributos que identifique exclusivamente
cada linha.
11
TIPOS DE CHAVES
Uma chave designa o conceito lógico de item de
busca, ou seja, um dado que será empregado nas
consultas à base de dados. A partir disso, podemos
definir os seguintes tipos de chaves:
● Superchave: determina funcionalmente todos os
atributos de uma linha, ou seja, a superchave é qual-
quer chave que identifique exclusivamente cada
linha de uma tabela.
● Chave candidata: descrita como uma superchave
sem atributos desnecessários (superchave mínima),
ou seja, os identificadores são candidatos a chave
primária.
● Chave primária (primary key): atributo de uma ta-
bela que identifica exclusivamente uma tupla (linha).
● Chave secundária (secundary key): serve para de-
finir uma chave usada estritamente para recuperar
dados. No modelo relacional, uma tabela é acessível
a qualquer atributo, independentemente de este ser
declarado como chave ou não.
● Chave estrangeira (foreign key): são elos entre
tabelas. Quando dizemos que duas tabelas estão re-
lacionadas por meio de atributos comuns, devemos
observar que provavelmente essa coluna em uma
das tabelas é uma chave primária e, na outra tabela,
esse atributo vai caracterizar o que é denominado
chave estrangeira, propiciando assim uma ligação
lógica (relacionamento) entre as tabelas.
12
ÍNDICES
Índices são um recurso físico que visam a otimizar
a recuperação de uma informação, via um método
de acesso. Têm como principal objetivo melhorar
o desempenho de um sistema. Um atributo-chave
pode ser utilizado como índice, mas um índice não
é necessariamente uma chave. A forma de criação
do índice depende do ambiente relacional.
13
REGRAS DE INTEGRIDADE
As regras de integridade de um modelo de banco de
dados relacional são importantes para um projeto
de banco de dados, pois garantem a confiabilida-
de das informações contidas no banco de dados
(MACHADO; ABREU, 2004). As regras são:
● Integridade de entidade: a chave primária não
pode conter um valor nulo (NULL). O valor nulo não é
o valor zero nem o caractere branco, é simplesmente
a não existência de conteúdo neste campo.
● Integridade referencial: se a Tabela A possui uma
chave estrangeira, a qual é chave primária em outra
Tabela B, então ela deve ser igual a um valor de cha-
ve primária existente em B, ou ser nula (NULL). Não
pode existir na chave estrangeira um valor que não
exista na tabela na qual ela é chave primária, ou seja,
todo valor de chave estrangeira não nulo deve fazer
referência a um valor de chave primária existente.
14
MAPEAMENTO DO MODELO
ER PARA O MO,DELO
RELACIONAL
Conforme observam Machado e Abreu (2004), no
projeto de banco de dados, temos a necessidade de
passar as visões do modelo conceitual para o mo-
delo lógico relacional, no qual os dados são vistos
como estruturas de dados voltadas às caracterís-
ticas do modelo lógico escolhido, visando à imple-
mentação do banco de dados.
15
mazenamento e tornar mais eficiente a recuperação
dos dados. Todas as características de SGBD em
uso devem ser exploradas; para tanto, é preciso
considerar se os campos têm ou não a especificação
de extensão em bytes, se há localização no interior
do registro que propicie vantagens na recuperação
e se há compactação de espaços não ocupados.
● Mapeamento dos Relacionamentos: em relação ao
mapeamento dos relacionamentos, temos que as
alternativas possíveis são divididas em dois grandes
grupos, a saber:
16
(1,1) (1,n)
Departamento Tem Funcionário cod_func
cod_dep
Modelo Entidade-Relacionamento 1:N
Departamento Departamento
cod_dep: Texto (1) (1,1) (1,n) cod_func: Texto (1)
cod_dep: Texto (1)
(0,1)
Peça (0,n) Compõe
cod_peca
Peça
cod_peca: Text...
cod_peca_FK: Te...
17
● Relacionamento 1:1 (entidades distintas): as en-
tidades (tabelas) envolvidas neste relacionamento
vão possuir o identificador da outra (uma ou outra
ou ambas) conforme a conveniência do projeto e
segundo o acesso a essas tabelas (Figura 4):
(0,1) (1,1)
Departamento Chefia Funcionário
cod_departamento
cod_dep cod_funcionario
Modelo Entidade-Relacionamento 1:1
Departamento Funcionario
cod_departamen... (0,1) (1,1) cod_funcionario: ...
cod_funcionario: ...
18
(0,1)
Pessoa (0,1) Casado_com
cod_pessoa
Peça
cod_pessoa: Text...
cod_pessoa_FK: Te...
19
(1,n) (1,n)
Funcionário Alocado Projeto
cod_funcionario cod_projeto
Funcionário Projeto
cod_funcionario: ... cod_projeto: Tex...
(1,1) (1,1)
Alocado
(1,n) cod_projeto: Tex... (1,n)
cod_funcionario: ...
20
(0,n) Conhecto_ (0,n)
Funcionário Projeto
Usado
(0,n)
(0,n) Conhecto_
Conhecimento (0,n)
Funcionário Projeto
Usado
(0,1)
Funcionário Conhecto_Usado Projeto
(0,1) (0,n) Conhecto_Usado (0,n) (0,1)
(0,n)
Modelo Relacional (relacionamentos múltiplos)
(0,1)
Conhecto_Usado
21
(1,1) (1,n)
Departamento Relação_1 Funcionário
cod_departamento cod_funcionario
Departamento Funcionário
cod_departmen... (1,1) (1,n) cod_funcionario: ...
cod_departamen...
22
de entidades, bem como cada coluna representa
atributos das entidades.
23
NORMALIZAÇÃO
Ao projetarmos um banco de dados, podemos ter um
conjunto de anomalias relacionadas à atualização
(inclusão, alteração e exclusão) que pode causar
problemas, como grupos repetitivos de dados (atri-
butos multivalorados), dependências parciais em
relação a uma chave concatenada, redundâncias de
dados, perdas acidentais de informação, dificuldade
na representação de fatos da realidade observada e
dependências transitivas entre atributos.
SAIBA MAIS
Saiba mais sobre a visão Top-Down, lendo Top
down: o que é e como funciona esse conceito?,
de Tiago Reis, o qual se encontra disponível em:
https://www.sunoresearch.com.br/artigos/top-do-
wn/. Acesso em: 19 nov. 2019.
24
redundâncias de dados, reduzindo a probabilidade
de anomalias, atuando por meio de uma série de
estágios chamados formas normais.
25
posta de um único atributo não possui esse tipo de
dependência.
26
PRIMEIRA FORMA NORMAL
Conforme postulam Machado e Abreu (2004), para
a Primeira Forma Normal (1FN) temos que cada
ocorrência da chave primária deve corresponder a
uma e somente uma informação de cada atributo,
ou seja, não deve conter grupos repetitivos (mul-
tivalorados), as tabelas aninhadas. Devemos de-
compor então cada entidade não normalizada em
entidades à medida que o número de conjunto de
atributos repetitivos; nas novas entidades criadas, a
chave primária será composta pela chave primária
da entidade original mais o(s) atributo(s) do grupo
repetitivo identificados como chave primária deste
grupo.
Exemplo:
27
Entidades normalizadas – 1FN
28
SEGUNDA FORMA
NORMAL
Segundo Machado e Abreu (2004), uma tabela para
estar na Segunda Forma Normal (2FN) não pode ter
atributos com dependência parcial em relação à
chave primária. Para a aplicação da 2FN, devemos
verificar se alguma entidade possui chave primária
concatenada; já para as que satisfizerem tal condi-
ção, analisar se existe algum atributo ou conjunto de
atributos com dependência parcial em relação a al-
gum elemento da chave primária concatenada. Com
isso, são geradas novas entidades, que herdarão a
chave parcial e todos os atributos que dependem
da chave parcial.
Exemplo:
29
cod_produto, o qual faz parte da chave primária.
Assim, ao aplicarmos a 2FN, ficaremos com:
30
TERCEIRA FORMA
NORMAL
De acordo com Machado e Abreu (2004), uma ta-
bela só estará na Terceira Forma Normal (3FN) se
nenhum de seus atributos possuir dependência
transitiva em relação a outro atributo da entidade
que não participe da chave primária, ou seja, não
exista nenhum atributo intermediário entre a chave
primária e o próprio atributo observado. Também
não poderá conter atributos que sejam o resultado
do cálculo sobre algum atributo.
Exemplo:
31
ITEM_PEDIDO (num_pedido, cod_produto,
quant_produto)
32
FORMA NORMAL DE
BOYCE / CODD
Quando da criação e definições de Codd para as
2FN e 3FN, é preciso observar que elas não cobriam
os casos em que ocorrem simultaneamente três
condições: caso a entidade tenha várias chaves
candidatas ou caso estas chaves candidatas sejam
concatenadas (mais de um atributo) e as chaves
concatenadas compartilham pelo menos um atri-
buto comum.
Exemplo:
a) nome_escola e numero_sala
b) numero_escola e nome_professor
33
Assim, satisfazem-se as três condições: caso a enti-
dade tenha várias chaves candidatas, caso as chaves
candidatas sejam concatenadas (mais de um atri-
buto) e as chaves concatenadas compartilhem pelo
menos um atributo comum. Teremos, portanto, as
chaves candidatas para a tabela FILHO: nome_filho e
endereco_filho; nome_filho e numero_sala; nome_fi-
lho e nome_professor. Todas as chaves têm atributos
concatenados e compartilham o mesmo atributo
(nome_filho); logo, ao aplicar a FNBC, teremos as
seguintes tabelas:
34
QUARTA FORMA NORMAL
Quando uma entidade possui algum atributo não
chave e que recebe múltiplos valores para um mes-
mo valor de chave, bem como esta entidade tenha
no mínimo três atributos, faz-se necessário aplicar
a Quarta Forma Normal (4FN), ou seja, uma entida-
de que esteja na 3FN também está na 4FN se ela
não contiver mais do que um fato multivalorado a
respeito da entidade descrita.
Exemplo:
FORNECEDOR_COMPRADOR (cod_fornecedor,
cod_comprador)
35
QUINTA FORMA NORMAL
A Quinta Forma Normal (5FN) trata de casos bas-
tante particulares, que ocorrem na modelagem de
dados, ponto em que ocorrem relacionamentos múl-
tiplos (ternários, quaternários, n-ários). Uma tabela
está na 5FN quando o conteúdo dessa mesma tabela
não puder ser reconstruído (junção) a partir de ou-
tras tabelas menores, extraídas da tabela principal.
Em outras palavras, se ao particionar uma tabela
e sua junção posterior não conseguir recuperar as
informações contidas na tabela original, então esta
tabela estará na 5FN.
36
DESNORMALIZAÇÃO
Quando aplicadas e implementadas em um SGBD,
as formas normais podem trazer prejuízos; por isso,
devido às características de construção física de
certos bancos de dados, entidades e relacionamen-
tos devem ser desnormalizados. Para que o SGBD
tenha melhor desempenho, deve-se então levar em
consideração o custo da redundância de dados e as
anomalias de atualização decorrentes.
SAIBA MAIS
Saiba mais sobre a visão Bottom-Up, lendo o ar-
tigo Você sabe o que são os processos de Top-
-down e Bottom-Up?, que está disponível em:
https://canaldoensino.com.br/blog/voce-sabe-o-
-que-sao-os-processos-de-top-down-e-bottom-
-up. Acesso em: 19 nov. 2019.
37
Temos cinco tipos básicos de desnormalização:
38
quando o número de replicações é um número fixo
pequeno para todas as instâncias da entidade pai.
39
CONSIDERAÇÕES FINAIS
Neste texto, tivemos uma visão geral sobre o Modelo
Relacional, estabelecendo conceitos básicos tanto
sobre o modelo quanto sobre os sistemas gerencia-
dores de banco de dados relacionais. Em seguida,
estudamos as 12 regras estabelecidas por Edgar
Frank Codd para verificar sua aderência ao modelo
relacional. Também conceituamos tabelas, tipos de
chaves, índices e as regras de integridade.
40
SÍNTESE
ESTRUTURA E
MODELAGEM DE DADOS
MODELAGEM DE DADOS 2
Neste módulo, tivemos uma visão geral do Modelo Relacional, conceitos básicos
sobre Tabelas, Tipos de chaves, Índices, regras de integridade e mapeamento do
Modelo Entidade-Relacionamento para Modelo Relacional� Em seguida, estudamos
as 12 regras criadas por Edgar Frank Codd, com a finalidade de averiguar a aderência
de um SGBD ao Modelo Relacional (SGBDR)�