Você está na página 1de 17

30

Unidade II
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
Unidade II
3 DIAGRAMA ENTIDADE-RELACIONAMENTO (E-R)
O diagrama E-R uma ferramenta para modelagem conceitual de banco de dados amplamente
utilizada no projeto de banco de dados, sendo considerada praticamente um padro para modelagem
conceitual. aconselhado como padro por ser de fcil compreenso e apresenta poucos conceitos.
Um diagrama E-R uma representao grca, na forma de um diagrama, no qual so utilizados
apenas trs conceitos: entidades, relacionamentos e atributos, que sero descritos a seguir.
3.1 Entidades do DER
Representam categorias de fatos do mundo real, sejam eles concretos ou abstratos, como empregados,
departamentos, despesas etc. So representados por retngulos nomeados por substantivos, que indicam
um conjunto de ocorrncias da entidade. Sugerem-se nomes no plural.
3.2 Relacionamentos do DER
Representam associaes entre entidades, sendo que, em cada associao, so indicadas as
cardinalidades, ou seja, o nmero de ocorrncias de uma entidade que se relaciona com uma ocorrncia
de outra entidade.
Por exemplo, como representado na Figura 9.
Empregados Departamentos
(1, N) (1, 1)
Figura 9 cardinalidade de um relacionamento
Indica que 1 empregado trabalha no mnimo em 1 departamento e no mximo em 1 departamento.
Indica que em 1 departamento trabalha no mnimo 1 empregado e no mximo N empregados.
3.2.1 Relacionamentos binrios
Representam uma associao entre duas entidades, representada por um losango nomeado com
linhas para as duas entidades envolvidas. Um relacionamento indica uma funo cumprida pelas duas
entidades envolvidas. Sugere-se que esse nome seja um substantivo no plural, uma vez que o uso de
verbos limita mais a criatividade para a determinao de nomes.
31
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
Quando se dene um relacionamento, deve-se denir tambm a cardinalidade dessa associao,
por meio de dois pares de valores, no qual o valor da esquerda indica o nmero mnimo esperado de
ocorrncias de uma entidade que se relaciona com a entidade questionada, e o valor da direita o nmero
mximo. Esses valores de mximo e mnimo podem ser constantes, quando se souber exatamente esses
valores.
3.2.2 Relacionamentos reexivos
um tipo de associao que envolve ocorrncias de uma mesma entidade (parte e chega da
mesma entidade). Nesse caso, recomenda-se a indicao explcita do papel assumido por cada lado da
associao, para tornar mais clara a interpretao do relacionamento. Por exemplo, em uma relao de
chea entre um empregado e outro, interessante a indicao dos papis de superior e subordinado.
Alguns controles de integridade, no expressos no diagrama E-R, podem ser necessrios, como a
proibio de um empregado ser cheado por ele mesmo (valores iguais no relacionamento) ou uma
hierarquia de gerncia com ciclos. interessante que esses controles, se desejados, sejam explicitamente
comentados como um anexo ao diagrama E-R.
3.2.3 Relacionamentos ternrios
Relacionam trs ocorrncias de entidades. S interessante utilizar esse tipo de relacionamento
quando realmente obrigatrio associar, ao mesmo tempo, um par de entidades com uma terceira. Por
exemplo, um empregado que trabalha num projeto necessariamente realiza alguma tarefa nesse trabalho.
Esses trs fatos esto sempre relacionados. Quando no ocorre essa obrigatoriedade, recomenda-se o
uso da agregao.
A determinao da cardinalidade de um relacionamento ternrio feita questionando um par em
relao terceira entidade envolvida. Por exemplo, um empregado trabalhando em um projeto temos
o par empregado-projeto que realiza de 1 a N tarefas. Logo, a cardinalidade (1,N) colocada ao lado da
entidade TAREFAS.
Outros relacionamentos acima de ternrios podem ocorrer em um diagrama E-R, porm so raros
e deve-se avaliar cuidadosamente se sero necessrios. A determinao da cardinalidade semelhante
ao comentado para ternrios, ou seja, questiona-se um conjunto de entidades associadas em relao
quela que se deseja determinar a cardinalidade.
3.3 Atributos do DER
Representam uma propriedade de uma entidade ou de um relacionamento, como salrio de um
empregado ou o tempo que um empregado estar alocado em um projeto.
So representados por crculos nomeados, ligados por linhas a uma entidade ou relacionamento.
Atributos identicadores de entidades, ou que sejam necessrios na identicao de relacionamentos,
so indicados por um crculo preenchido ou pelo nome sublinhado.
32
Unidade II
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
3.3.1 Atributos opcionais
Atributos com propriedades que podem assumir NULL. So indicados por um trao que corta a linha que liga
o atributo entidade ou relacionamento.
3.3.2 Atributos compostos
Representam uma abstrao de outros atributos, como um endereo que abstrai (agrega) outros
dados como rua, CEP, cidade etc. representado por uma eclipse, com ligaes (linhas) para os atributos
componentes (convencionais).
3.3.3 Atributos multivalorados
Atributos com propriedades que podem assumir mais de um valor, como os nmeros de telefone de
um departamento. So representados por uma cardinalidade mnima e mxima que colocada ao lado
do nome do atributo, indicando as quantidades de valores mnimos e mximos permitidos.
3.4 Entidades fracas
Entidades cujas existncias dependem da existncia de outra entidade, dita fork. representada
por um retngulo duplo, podendo, opcionalmente, ser indicada uma seta que parte dela e chega sua
entidade forte, para tornar mais clara a dependncia.
A cardinalidade de uma ocorrncia de uma entidade fraca com a forte sempre (1,1), indicando que
ela sempre depende de uma ocorrncia da entidade forte.
3.5 Especializao
Salienta que algumas ocorrncias de uma entidade assumem papis especcos, ou seja, so
especializaes, como o fato de um empregado ser um motorista ou secretrio, inclusive com a
possibilidade de terem atributos especcos. So classicadas em dois tipos, descritos a seguir.
3.5.1 Especializao com ou sem excluso mtua
Indica se uma ocorrncia de uma entidade genrica pode assumir apenas uma ou vrias
especializaes, respectivamente.
No primeiro caso, representa-se por meio de um nico tringulo que recebe uma linha da entidade
genrica, sendo que da sua base partem linhas para vrias entidades especializadas, dando a ideia de
uma escolha que deve ser feita.
No segundo caso, desenha-se um tringulo para cada ligao entre a entidade genrica e uma
especializao.
33
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
3.5.2 Especializao com ou sem obrigatoriedade
Indica se uma especializao obrigatria ou no. Em caso negativo, diz-se que a especializao
parcial. A parcialidade indicada pelo uso da letra P colocada ao lado do tringulo.
3.6 Agregao
Um agregado representa uma poro de um diagrama E-R que envolve um relacionamento entre
vrias entidades. utilizado para indicar situaes em que entidades relacionadas podem ainda se
relacionar com outras entidades. Essas entidades relacionadas so consideradas uma entidade de alto
nvel, chamada agregado, e so recomendadas para representar situaes em que existe parcialidade na
relao entre trs ou mais ocorrncias de entidade. Por exemplo, uma pessoa que tem a posse de um
automvel e que pode ou no ter contratado seguro para o carro. Um agregado possvel representado
pelo conjunto de pessoas que tem automvel com seguro.
Uma agregao representada por um polgono fechado que envolve as entidades e o relacionamento
entre elas, determinando a entidade agregada. Essa entidade agregada considerada, ento, uma
entidade normal do diagrama E-R, que pode se relacionar com outras entidades.
4 MODELO ENTIDADE RELACIONAMENTO (MER)
um modelo abstrato desenvolvido pelo Prof. Peter Chen, a m de representar as estruturas de
dados de forma mais natural e mais prxima do mundo real dos negcios. Seus aspectos estruturais
formalizam matematicamente a maneira como os dados esto organizados no modelo relacional. A
seguir, sero descritos os conceitos bsicos de um modelo relacional.
composto por entidades, que so caracterizadas por atributos e que se relacionam entre si. Dentro
do MER, utilizamos algumas formas geomtricas para a representao das entidades, seus atributos e
seus relacionamentos, conforme apresentados a seguir.
Pessoa
Retngulos representam as entidades
TEL
Elipses representam os atributos de uma entidade
34
Unidade II
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
Possui
Losangos representam as relaes entre as entidades
Figura 10
4.1 Domnio
O domnio dene o universo de valores permitidos para certo item de dado. Por exemplo, o domnio
para o item de dado salrio pode ser o conjunto dos nmeros reais; o domnio do item de dado idade
pode ser o conjunto dos nmeros inteiros no intervalo [0,150]; o domnio do item sexo pode ser o
conjunto limitado (masculino, feminino).
Um domnio compreende um tipo de dado predenido mais um conjunto de restries de integridade
que limitam os valores permitidos para esse tipo de dado.
Domnios podem ser simples, ou seja, possuem um nico valor, como um inteiro ou compostos,
quando possuem vrios valores, como uma data. Os valores dos itens de dados que apresentam domnios
compostos so abstrados e tratados como um nico valor. Uma data poderia ser manipulada como uma
string, por exemplo.
Observao
A noo de domnio de um item de dados assemelha-se noo de
domnio de um conjunto na matemtica.
Lembrete
MER o modelo terico inventado para transportar estruturas existentes
no mundo real para o banco de dados. DER a representao grca do
MER.
4.2 Atributo do MER
Um atributo um nome dado a um domnio utilizado para representar um item de dado.
Matematicamente falando, um atributo o nome de um conjunto.
35
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
Em uma tabela, representa uma coluna. Um atributo pode apresentar um valor condizente com o
domnio associado a ele ou NULL, que indica a ausncia de valor ou valor desconhecido.
Um atributo pode conter apenas um valor atmico, ou seja, um valor indivisvel.
4.3 Tupla
um conjunto de pares (atributo valor) que dene uma linha da tabela, ou seja, uma ocorrncia
de uma entidade ou relacionamento. Se imaginarmos em uma tabela como sendo um conjunto, uma
tupla seria um elemento desse conjunto.
4.4 Relao
Pode ser denida como um subconjunto do produto cartesiano dos domnios (d1, d2, d3,...., dn) que
correspondem aos atributos (a1, a2, a3,..,an) de uma tabela. O produto cartesiano gera (d1 x d2 x d3 x....x
dn) tuplas e a relao mantm apenas aquelas tuplas que contm valores de atributos relacionados que
esto presentes na realidade.
Uma relao, portanto, um subconjunto. vista como uma tabela no modelo relacional, composta
por um cabealho e um corpo. O cabealho formado por um conjunto xo de atributos que possuem
nomes distintos, para evitar ambiguidade na localizao de um item de dado. O grau de uma relao
signica o nmero de atributos da mesma.
O corpo de uma relao formado por um nmero varivel de tuplas, em que a ordem das mesmas
no signicativa, ou seja, dada uma relao R1 com trs tuplas, nesta ordem: t1, t2 e t3, e uma relao
R2 com trs tuplas nesta ordem: t2, t3 e t1, teremos R1 igual a R2. A cardinalidade de uma relao
signica o nmero de tuplas da relao.
O conceito de relao ligeiramente diferente do conceito de tabela. Relao equivale noo de
conjunto, ou seja, um agrupamento de elementos sem repetio. Tabela equivale noo de coleo,
ou seja, um agrupamento de elementos em que permitida a repetio. Os Sistemas Gerenciadores de
Banco de Dados, na prtica, lidam com o conceito de tabela.
4.5 Chave
O conceito de chave fundamental no modelo para garantir a identicao de tuplas e estabelecer
relacionamentos entre relaes.
4.5.1 Chave primria (PK) primary key
Atributo ou grupo de atributos que permite a identificao nica de uma tupla em uma
relao, ou seja, o valor da PK (primary key) de uma tupla nunca se repetir nas demais tuplas
da mesma relao.
36
Unidade II
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
Uma PK escolhida dentre vrias chaves candidatas, que podem estar presentes na relao. As
chaves candidatas no selecionadas so ditas chaves alternativas. A cada chave alternativa deve ser
associada uma Relao de Integridade (RI) que garanta que seus valores sejam nicos.
Observao
Quando a chave primria tem um atributo, dizemos que uma chave
primria simples, e, quando ela tem dois ou mais atributos, dizemos que
uma chave primria composta.
Utilizamos uma chave primria simples para armazenar o ESTADO (UF) porque eles so nicos.
UF
PK SIGLA UF
NOME_UF
Figura 11 Exemplo de chave primria simples
Utilizamos uma chave composta para CIDADE porque posso ter mais de uma cidade com o mesmo
nome, por isso temos que associar o nome da cidade com o Estado ao qual ela pertence, para poder
garantir a unicidade da tupla.
UF
PK
UF
CIDADE_NOME
Figura 12 Exemplo de chave primria composta
4.5.2 Chave estrangeira (FK) foreign key
Atributo ou grupo de atributos de uma relao R1 que estabelece um relacionamento de equivalncia,
por valor, com uma PK (primary key) de uma relao R2.
O domnio da FK (foreign key) de R1 deve ser compatvel com o domnio da PK (primary key) de R2.
Nada impede que R1 e R2 sejam a mesma relao.
4.5.3 Chave articial ou delegada (SK) surrogate key
Serve para substituir a chave original da tabela. Normalmente composta de nmeros sequenciais,
muito utilizada em Modelos Multidimensionais, em que o processo de dimensionamento associa a chave
natural do modelo relacional, que vo ser apenas atributos da dimenso, e para garantir a unicidade
criada a chave delegada (surrogate key).
37
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
Saiba mais
Para aprofundar os estudos sobre o Modelo Multidimensional,
recomendamos a leitura dos livros de Ralph Kimball. E no deixe de visitar
frequentemente este site: <www.kimballgroup.com>, se quiser entrar na
rea de Inteligncia Corporativa e aprender mais sobre a tecnologia de
Datawarehouse.
4.6 Restries de integridades bsicas
Os aspectos de integridade do modelo relacional esto associados aos conceitos de chave primria
e chave estrangeira. Garantir a integridade de um esquema relacional signica assegurar o acesso
individualizado a todas as tuplas de uma relao, assim como relacionamentos vlidos e condizentes
com a realidade.
O modelo relacional regido por duas regras de integridade bsicas: a de integridade de entidade e
a de entidade referencial, descritas a seguir.
4.6.1 Regra de integridade de entidade
Diz respeito chave primria de uma relao. Ela diz que nenhum atributo que faz parte da chave
primria pode ter NULL em alguma tupla. A manuteno dessa regra garante que toda tupla possa ser
identicada unicamente.
4.6.2 Regra de integridade referencial
Diz respeito s chaves estrangeiras de uma relao. Ela diz que o valor de um atributo que faz parte
de uma chave estrangeira pode assumir NULL desde que o mesmo no faa parte da chave primria.
Ainda, esse mesmo atributo pode assumir um valor qualquer, condizente com o seu domnio, desde que
esse mesmo valor exista na chave primria de uma tupla da relao referida por ele. Com isso, nunca
existiro relacionamentos incorretos entre dados.
Para que essas regras sejam sempre respeitadas, o SGBD deve implementar rotinas de vericaes
automticas. Isso implica testes e aes a serem realizados pelo SGBD toda vez que uma operao de
atualizao for submetida ao mesmo.
No caso da regra de integridade de entidade, o seguinte algoritmo deve ser executado toda vez que
for includa uma nova tupla em uma relao ou for alterado um valor de um atributo de uma tupla que
faz parte da chave primria de uma relao:
SE a chave primria da tupla for NULL
38
Unidade II
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
OU existir tupla com o mesmo valor da chave primria
ENTO impedir a efetivao da operao
SENO efetivar a operao
J para o caso da regra de integridade referencial, trs alternativas de aes so geralmente tomadas
pelo SGBD quando se percebe que uma violao ir ocorrer:
Impedimento a operao no efetivada.
Cascata para o caso de excluses de tuplas ou alteraes de chave primria na relao referida,
realizar a mesma operao em todas as tuplas que se referem a ela.
Anulao para o caso de excluses de tuplas ou alteraes de chave primria na relao
referida, altera-se para NULL o(s) atributo(s) que compe(m) a chave estrangeira que estabelece
o relacionamento com essa relao. Uma variante dessa alternativa anular apenas a chave
estrangeira de uma nica tupla.
A aplicao dessas aes depende da operao de atualizao submetida e da relao que sofre a
operao (a referida ou a que possui uma referncia). Se uma operao de atualizao submetida
relao que possui a referncia (possui a chave estrangeira), o seguinte algoritmo deve ser executado
toda vez que for includa uma nova tupla ou for alterado o valor de um atributo que faz parte da chave
estrangeira:
SE a chave estrangeira da tupla for NULL
ENTO
SE a chave estrangeira zer parte da chave primria
ENTO impedir a efetivao da operao
SENO efetivar a operao
SENO SE no existir uma tupla na relao referida com valor de chave primria igual ao valor
da chave estrangeira desta tupla
ENTO SE a chave estrangeira zer parte da chave primria
ENTO aplicar impedimento
SENO aplicar impedimento
OU aplicar anulao
SENO efetivar a operao
39
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
Se uma operao de atualizao submetida relao referida (possui a chave primria), o seguinte
algoritmo deve ser executado toda vez que for excluda uma tupla ou for alterado o valor de um
atributo que faz parte da chave primria:
SE a chave estrangeira zer parte da chave primria
ENTO aplicar impedimento
OU aplicar cascata
SENO aplicar impedimento
OU aplicar cascata
OU aplicar anulao
Lembrete
Entidades, do original entity type, servem para representar objetos,
coisas, pessoas que existem na realidade. No MER, os relacionamentos so
identicados com um verbo, conforme pode ser observado na gura 13.
Uma pessoa possui um automvel.
Possui
Pessoa Automvel
1 1
1 1
Um automvel pertence a uma pessoa.
Figura 13 Exemplo de um relacionamento 1:1
Dentro de um modelo relacional, temos que ver como as entidades se relacionam entre si, ou seja,
ver como a entidade Pessoa se relaciona com a entidade Automvel e como a entidade Automvel se
relaciona com a entidade Pessoa, e podemos concluir que:
40
Unidade II
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
Uma pessoa possui vrios automveis.
Possui
Pessoa Automvel
1 N
1 1
Vrios automveis pertencem a uma pessoa.
Figura 14 Exemplo de relacionamento 1:N
Aqui fazemos os mesmos passos para a obteno da cardinalidade, vericamos o relacionamento de
Pessoa com Automvel e de Automvel com Pessoa.
1 Pessoa possui N (vrios) automveis.
1 Automvel que pertence a 1 Pessoa.
Um aluno possui vrios professores.
Possui
Aluno Professor
1 N
1 1
Um professor possui vrios alunos.
Figura 15 Exemplo de relacionamento N:N
No exemplo da Figura 15, temos a seguinte denio: 1 aluno possui N (vrios) professores e 1
professor possui N (vrios) alunos.
Para obter a cardinalidade nal, devemos usar a multiplicao. Em cada um dos lados, pegamos os
dois nmeros, que esto em destaque ao lado da entidade. Nesse caso, em aluno temos 1 e N, 1 x N =
N (qualquer nmero multiplicado por 1 ele mesmo). J em professor, temos N e 1. N x 1 = N. Assim,
obtemos um relacionamento de N para N.
4.7 Tipos de relacionamento
Quando fazemos o relacionamento entre duas ou mais tabelas, esse relacionamento pode ser
classicado de duas formas:
41
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
Identicado: tambm conhecido como relacionamento forte. Identica que a chave estrangeira da
tabela pai faz parte da chave da tabela lha.
No identicado: tambm conhecido como relacionamento fraco. Identica que a chave estrangeira
da tabela pai no faz parte da chave primria da tabela lha, sendo esse apenas mais um atributo.
A seguir, mostramos a representao desses tipos de relacionamento, com exemplos, nas guras 16
e 17.
UF Cidade
PK UF-SIGLA
PK
PK, FK1
CID_NOME
UF-SIGLA
UF_NOME
Figura 16 Exemplo de relacionamento forte
Cor Carro Motor
PK UF-SIGLA PK CHASSI PK MOTOR
UF_NOME FK1
FK2
MODELO
COR
MOTOR
MOTOR_NOME
Figura 17 Exemplo de relacionamento fraco
4.8 Normalizao
Normalizao de dados o processo formal passo a passo que examina os atributos de uma entidade,
com o objetivo de evitar redundncias e anomalias observadas na incluso, na excluso e na alterao
de registros.
4.8.1 Primeira Forma Normal (1FN)
Uma relao estar na Primeira Forma Normal 1FN se, e somente se, todos os domnios bsicos
contiverem somente valores atmicos (no contiver grupos repetitivos).
Procedimentos:
identicar a chave primria da entidade;
identicar o grupo repetitivo e remov-lo da entidade;
criar uma nova entidade com a chave primria da entidade anterior e o grupo repetitivo;
a chave primria da nova entidade ser obtida pela concatenao da chave primria da entidade
inicial e a do grupo repetitivo.
42
Unidade II
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
Exemplo:
ID Nome Telefone Endereo
1 Joo
(11)1234-5678
(11)2345-6789
Rua Seis, 85
Morumbi
12536-965
2 Maria
(11)3456-7890
(11)4567-8901
Rua Onze, 64
Moema
65985-963
3 Jos
(11)5678-9012
(11)6789-0123
Praa Ramos
Liberdade
68858-456
Figura 18
Aqui temos os mesmos grupos de dados agrupados para todas as linhas.
ID Nome Telefone Rua Bairro CEP
1 Joo
(11)1234-5678
(11)2345-6789
Rua Seis, 85 Morumbi 12536-965
2 Maria
(11)3456-7890
(11)4567-8901
Rua Onze, 64 Moema 65985-963
3 Jos
(11)5678-9012
(11)6789-0123
(11)7890-1234
Praa Ramos Liberdade 68858-456
Figura 19
Foi resolvido o problema do endereo, quebrando a informao em trs colunas; porm, ainda
persiste o problema da coluna telefone e, diferente da anterior, no tem a mesma repetio do outro
grupo.
Para resolvermos esse caso, teremos que quebrar essa tabela em duas.
ID Nome Rua Bairro CEP
1 Joo Rua Seis, 85 Morumbi 12536-965
2 Maria Rua Onze, 64 Moema 65985-963
3 Jos Praa Ramos Liberdade 68858-456
Figura 20
A primeira, sem a informao de telefone.
Telefone ID
(11)1234-5678 1
(11)2345-6789 1
(11)3456-7890 2
(11)4567-8901 2
(11)5678-9012 3
43
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
Telefone ID
(11)6789-0123 3
(11)7890-1234 3
Figura 21
A segunda, apenas com a informao de telefone, associada com a primeira pelo cdigo do cliente.
4.8.2 Segunda Forma Normal (2FN)
Uma relao estar na Segunda Forma Normal 2FN se j estiver na 1FN e no existir nenhum atributo
que no seja dependente de todo da chave da tabela.
Procedimentos:
identicar os atributos que no so funcionalmente dependentes de toda a chave primria;
remover da entidade todos esses atributos identicados e criar uma nova entidade com eles.
Exemplo:
C_Produto N_Produto Qtd Vl_Unitrio Subtotal
1 1234 Impressora Matricial 4 100,00 400,00
2 2345 Impressora Jato de Tinta 3 200,00 600,00
3 3456 Impressora Laser 2 1000,00 2000,00
4 5678 Impressora Multifuncional 1 350,00 350,00
Figura 22
No est na Segunda Forma Normal porque temos atributos que no dependem da chave primria.
N_Pedido C_Produto Qtd Vl_Unitrio Subtotal
1 1234 4 100,00 400,00
2 2345 3 200,00 600,00
3 3456 2 1000,00 2000,00
4 5678 1 350,00 350,00
Figura 23
Para resolver, separamos a informao em duas tabelas.
44
Unidade II
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
C_Produto N_Produto
1234 Impressora Matricial
2345 Impressora Jato de Tinta
3456 Impressora Laser
5678 Impressora Multifuncional
Figura 24
Da tabela de pedidos, foi retirada a descrio do produto, porque o atributo dependente apenas do
cdigo do produto. Foi criada uma nova tabela chamada de Produto, composta por Cdigo do Produto
e Nome do Produto. Foi mantido o Cdigo do Produto na tabela de Pedido para o relacionamento.
4.8.3 Terceira Forma Normal (3FN)
Uma tabela est na Terceira Forma Normal 3FN se estiver na 2FN e se nenhuma coluna no chave
depender de outra coluna no chave.
Procedimentos:
identicar todos os atributos que so funcionalmente dependentes de outros atributos no chave
e remov-los;
a chave primria da nova entidade ser o atributo do qual os atributos removidos so
funcionalmente dependentes.
N_Pedido C_Produto Qtd Vl_Unitrio Subtotal
1 1234 4 100,00 400,00
2 2345 3 200,00 600,00
3 3456 2 1000,00 2000,00
4 5678 1 350,00 350,00
Figura 25
Ainda existe um atributo que est relacionado a outro atributo no chave.
O atributo SUBTOTAL derivado do clculo da quantidade que multiplica o valor unitrio.
N_Pedido C_Produto Qtd Vl_Unitrio
1 1234 4 100,00
2 2345 3 200,00
3 3456 2 1000,00
4 5678 1 350,00
Figura 26
45
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
ADMINISTRAO DE BANCO DE DADOS
Nesse caso, removemos a coluna, j que, entre outras coisas, ela era derivada de um clculo.
Saiba mais
Na internet, existe muita informao sobre o fascinante mundo do DBA.
Para comear a navegar nesse mundo, sugerimos alguns sites. Boa viagem!
<http://certicacaobd.com.br>
<http://silasmendes.com/dba>
<http://www.mcdbabrasil.com.br>
<http://www.sybase.com/resources/blogs>
<http://dbaforums.org/oracle>
Resumo
Nesta unidade, apresentamos o modelo relacional, que foi formalmente
denido por E. Codd, no laboratrio da IBM em San Jos, na Califrnia, em
1970. O projeto inicial foi denominado de Sistema R e denia a organizao
dos dados e linguagem e linguagens formais para a sua manipulao. Com
base nessas linguagens formais, a primeira verso da linguagem SQL foi
denida. Essa linguagem , atualmente, um padro para gerenciamento de
dados em um SGBD relacional.
Entidades e relacionamentos so representados nesse modelo por
relaes que equivalem ao conceito matemtico de conjunto, ou seja, um
agrupamento de elementos sem repetio.
Uma relao vista como uma tabela, em que as colunas indicam os
campos e as linhas, as ocorrncias (valores). Relacionamentos entre relaes
so estabelecidos por igualdade de valor de campos. Relacionamentos M:N
so modelados como relaes que mantm os campos que identicam as
duas relaes envolvidas mais os dados pertinentes ao relacionamento,
caso existam.
Uma das vantagens em adotar o modelo relacional a representao
uniforme das entidades e dos relacionamentos. um conceito nico e
simples para a organizao de dados. Um esquema no modelo relacional
46
Unidade II
R
e
v
i
s

o
:

A
n
d
r

i
a

D
o
m
e
s
/
M
i
c
h
e
l

A
p
t

-

D
i
a
g
r
a
m
a

o
:

J
e
f
f
e
r
s
o
n

-

2
0
/
0
7
/
2
0
1
2
dito um esquema do mais alto nvel, pois abstrai uma estrutura de
implementao, como estruturas em rvore ou grafos, em que o usurio
deve se preocupar em percorrer apontadores adequadamente.
O modelo relacional o primeiro modelo de dados que oferece
linguagens de manipulao de dados cujos comandos podem ser
executados independentes da aplicao, pois no esto obrigatoriamente
vinculados ao cdigo da aplicao. So, ainda, linguagens de alto nvel, ou
seja, um pequeno comando de manipulao equivale a um procedimento
de acesso a dados, se comparado com os modelos anteriores. Linguagens
com essa caracterstica so ditas declarativas, ou seja, o usurio
preocupa-se em dizer o que eles desejam obter do banco de dados e no
como ele deseja obter.
A normalizao uma metodologia para projeto de banco de dados
relacionais, uma vez que sugere uma organizao de dados em tabelas.
Assim sendo, a normalizao uma ferramenta para projeto lgico de
banco de dados relacionais. O objetivo dessa tcnica evitar problemas de
redundncia e anomalias de atualizao, que podem estar presentes em
uma relao. A soluo para resolver esses problemas a decomposio
de uma relao em uma ou mais relaes, com base na aplicao de certas
regras de normalizao (formas normais). Essa proliferao de relaes nem
sempre ideal do ponto de vista de performance, devendo ser balanceadas
vantagens e desvantagens antes da efetivao dos resultados de uma
forma normal.