Escolar Documentos
Profissional Documentos
Cultura Documentos
Projetos de BDs
Relacionais
Valéria Pequeno
Introdução
• Um projeto de Base de Dados Relacional é constituído por:
• Um conjunto de esquemas de relações
• Um conjunto de restrições (de domínio, de entidade, de
integridade referencial)
• Exemplo*:
(*) Fonte da imagem: Database System Concepts - 6th Edition, ©Silberschatz, Korth and Sudarshan
Introdução (cont.)
• Objetivo de um projeto de BD relacional:
• Guardar todos os dados relevantes de modo que a informação
seja facilmente acessível e ocupe o menos espaço possível
• Especificamente:
• Ter mínima redundância dos dados armazenados Dicas
• A semântica da relação seja clara Informais
1
14/12/20
2
14/12/20
Dica 2:
Projete uma BD que não tenha anomalias de
inserção, remoção ou modificação
• Problemas:
• Desperdício de espaço no disco
• O valor NULL pode ter vários significados:
• não se aplica
• valor desconhecido
• valor conhecido mas não disponível na altura da inserção
3
14/12/20
GUIA 3:
Projete uma BD de modo a restringir ao máximo o
valor NULL nos atributos
• Atributos com muitos valores nulos podem ser convertidos em
relação Decomposição
das relações
Ename SSN BDate
João 1234 97-10-10 SSN Título AnoGrau Classificação
Pedro 1111 82-01-01 1234 Mestre 2011 16
10
Dependencias Funcionais
• Guias formais para identificar bons projetos de BDs relacionais
• Não dependem da extensão das relações
• Definição:
Um conjunto de atributos X funcionalmente determina um
conjunto de atributos Y se o valor de X determina unicamente
valores para Y
Ou seja…
• Sempre que dois tuplos tem o mesmo valor para X, também
tem o mesmo valor para Y
• Matematicamente …
∀t1, t2 ∈ R, se t1 [ X ] = t2 [ X ] ⇒ t1 [Y ] = t2 [Y ]
11
Dependencias Funcionais
• Representação:
X -> Y
• Ler-se:
X determina Y
Y é funcionalmente dependente de X
Existe uma dependência funcional de X para Y
Y depende de X
12
4
14/12/20
DF - Exemplo
EMPREGADO
ID NomePróprio Apelido NumDepto
1234 João Silva 900
1111 Pedro Moura 700
2222 Ana Pinto 900
13
Exercício Comentado
• Identificar quais atributos da relação abaixo funcionalmente
depende de quais atributos da relação:
Papelaria Artigo Preço {Papelaria,Artigo} ->
Colmeia caneta 1.50 Preço
Central Fita cola 3.00
Aquarela borracha 1.75
Silva caneta 2.00
Colmeia Fita cola 2.00
14
15
5
14/12/20
Axiomas de Armstrong
• Conjunto de regras de inferências que podem ser usadas para
determinar F+
X,Y,Z e W são conjuntos de atributos A é apenas um atributo
R1 Reflexividade Se Y ⊆ X, então X → Y
R2 Aumento/Incremento Se Z ⊆ W e X → Y, então XW → YZ
R3 Transitividade Se X → Y e Y → Z, então X → Z
R4 PseudoTransitividade Se X → Y e YW → Z então XW → Z
R5 Decomposição X → Y, então X → A, ∀A ∈ Y
R6 União X → Y e X → Z, então X → YZ
R7 Composição X → Y e Z → W, então XZ → YW
R8 Unificação X → Y e Z → W, então X(Z − Y ) → YW
16
Axiomas de Armstrong –
Exemplo*
• Dados os atributos R, S, T, U e V, demonstrar que as FD R->T,
S->T e TU->V implicam RU -> V
17
Normalização
• É o processo de analisar os esquemas das relações de modo a
minimizar redundâncias e minimizar a ocorrência de
anomalias de inserção, remoção e modificação
• É o processo para melhorar a qualidade do projeto do
esquema da BD por aplicar uma série de testes para certificar
que um dado esquema da relação satisfaz uma certa forma
normal
• Em outras palavras …
• A normalização converte cada esquema de uma relação
gradualmente para formas normais através da aplicação
sucessiva de regras que alteram o formato do esquema da
relação da 1ª forma normal até a forma normal desejada (2ª,
3ª, 4ª ou 5ª)
18
6
14/12/20
1ª Forma Normal
• Dizemos que uma relação está na 1ª forma normal quando:
• Os domínios de todos os atributos da relação consitem apenas de
valores atómicos
• Não existem subgrupos de atributos repetidos Atributo multi-valor
• Exemplo:
19
Quando
1ª Forma Normal transformamos o MER
no MR já estamos a
obedecer a 1ª FN!
• Solução:
20
2ª Forma Normal
• Dizemos que uma relação está na 2ªFN quando:
• A relação está na 1ª FN
• Todos os atributos que não pertencem a chave dependem de
toda a chave (e não de um subgrupo da chave)
• Exemplo:
21
7
14/12/20
22
3ª Forma Normal
• Dizemos que uma relação está na 3ª FN quando:
• Está na 2ª FN
• Os atributos que não pertencem à chave não dependem de
nenhum atributo que também não pertença à chave
Dizemos que a relação não contém dependências transitivas
Item_vendido
ID_fatura ID_produto quantidade preço total
{ID_fatura,ID_produto} -> quantidade
Não está na 3NF {ID_fatura,ID_produto} -> preço
{ID_fatura,ID_produto} -> total
Total = quantidade * preço
Todos a atributos dependem totalmente da chave à está na 2ª FN
23
3ª Forma Normal
• Solução:
Item_vendido
ID_fatura ID_produto quantidade preço total
Item_vendido
ID_fatura ID_produto quantidade preço
Total_vendido
quantidade preço total
24
8
14/12/20
Exercício 1
• Decomponha a relação para obedecer em 3FN :
Proprietário(Num_carro,Marca,Tipo,Cor,BI,Nome,Data,Preço)
sabendo que:
BI-> Nome
25
Exercício 2
• Decomponha a relação para a 2FN e depois para 3FN:
Projeto_emp(CodProjeto,CodEmp,Nome,Categoria,Salário,DataI
nício,HorasTrabalhadas)
• Sabendo que:
{CodProjeto,CodEmp} -> DataInício, HorasTrabalhadas
26
Exercício 3
• Na normalização de dados, caso exista um ou
mais atributos que dependam de um atributo
não-chave, estes atributos deverão ser extraídos
para outra tabela. Trata-se da condição para que
a tabela esteja na:
a) primeira forma normal Dica para memorizar:
b) segunda forma normal 2FN: Dependência PARcial
c) terceira forma normal (dois é PAR)
3FN: Dependência TRansitiva
d) quarta forma normal (Forma Normal TRês)
e) forma normal Boyce/Codd.
27
9
14/12/20
Exercício 4
• Considere uma tabela relacional R, com atributos
A, B e C, atômicos, na qual o atributo A é a chave
primária. Sabendo-se que as dependências
funcionais A -> B e B -> C se verificam, pode-se
concluir que a tabela R está normalizada até a:
a) primeira forma normal
b) segunda forma normal
c) terceira forma normal
d) forma normal Boyce_Codd
e) quarta forma normal
Fonte: Ano: 2008. Órgão: UFRJ Prova: Analista de Tecnologia da Informação
28
Exercício 5
• Suponha a seguinte tabela (com todos seus domínios
atômicos) de uma base de dados relacional:
T (A, B, C, D)
29
Exercício 6
• No contexto de base de dados relacionais, Dependência
Funcional é caracterizada quando:
Fonte: Ano: 2011 Órgão: TRE-RN Prova: Técnico Judiciário - Programação de Sistemas
30
10