UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área...

83
UERJ © Oscar Luiz Monteiro de Farias 1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

Transcript of UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área...

Page 1: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 1

Bancos de Dados

Mestrado em Engenharia de Computação área de concentração Geomática

Page 2: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 2

Dependências Funcionais

e

Normalização

para Bancos de Dados Relacionais

Page 3: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 3

Projeto de Banco de Dados...

Objetivo: gerar um conjunto de esquemas de relações que permita:

• armazenar informações sem redundâncias

• recuperar informações com facilidade (queries)

Page 4: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 4

Técnicas aplicadas até o momento:• Senso comum na construção das relações (tabelas)• Mapeamento de esquemas baseados no modelo ER em

esquemas do modelo relacional (também se usa o senso comum na construção do modelo ER)

• Problema: Não possuímos medida formal alguma, de que um esquema de relações seja melhor que outro.

Estamos completamente dependentes da intuição do projetista.

Projeto de Banco de Dados...

Page 5: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 5

• Há pelo menos dois níveis - conceitual e lógico - em relação aos quais pode-se avaliar a qualidade de um esquema.

• O nível conceitual refere-se a como os usuários interpretam os esquemas das relações e o significado de seus atributos.

• O nível lógico/físico preocupa-se com o representação das tuplas, de como elas serão armazenadas e atualizadas. Aplica-se somente às relações bases.

Projeto de Banco de Dados...

Page 6: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 6

• As formas normais são “ferramentas” utilizadas no projeto de um banco de dados relacional que ajudam a eliminar uma série de efeitos não desejados, fruto da escolha inadequada de determinados esquemas para as relações.

• Uma relação é dita estar em forma normal se ela satisfizer a um conjunto específico de restrições.

Projeto de Banco de Dados...

Page 7: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 7

Formas Normais

Universo das Relações (normalizadas e não-normalizadas))

Relações 1NF (relações normalizadas)

Relações 2NF

Relações 3NF

Relações BCNF

Relações 4NF

Relações PJ/NF (5NF)

Page 8: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 8

4 medidas informais de qualidade para projeto de schemas relacionais:

Semântica dos atributos Redução de valores redundantes nas tuplasRedução de valores nulos nas tuplasEvitar a geração de tuplas espúrias

Diretrizes Informais para Projetos de BDs...

Page 9: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 9

• Uma relação pode ser interpretada como um conjunto de fatos ou declarações.

• O significado ou semântica especifica como interpretar os valores dos atributos armazenados na tupla, como estes valores estão relacionados uns aos outros.

• Quanto mais fácil a interpretação da semântica da relação, melhor é o projeto do esquema da relação!

Semântica dos Atributos das Relações...

Page 10: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 10

Semântica dos Atributos das Relações - ex.

Page 11: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 11

Diretriz Informal no 1: • Projetar esquemas de relações cujos significados sejam

facilmente explicáveis. • Não incluir atributos de diferentes tipos de entidades

(objetos) em uma mesma relação.• Intuitivamente, se o esquema de uma relação

corresponde a um tipo de entidade ou a um tipo de relacionamento o seu significado tende a ser claro.

Projeto de Banco de Dados...

Page 12: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 12

Informações redundantes em tuplas e anomalias nas modificações...

• Um objetivo do projeto de um esquema é minimizar o espaço de armazenamento das relações bases (arquivos).

• Compare o espaço ocupado pelas duas relações bases EMPLOYEE_VS(ENAME,SSN,BDATE,ADDRESS,DNUMBER) e DEPARTMENT_VS(DNAME,DNUMBER,DMGRSSN) relativamente àquele ocupado pela relação EMP_DEPT, resultante da aplicação da operação NATURAL JOIN nas duas primeiras relações.

• Outro problema que surge é o das anomalias:– inserção– exclusão – modificação

Page 13: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 13

Informações redundantes em tuplas e anomalias nas modificações...

Page 14: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 14

Informações redundantes em tuplas e anomalias nas modificações...

Page 15: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 15

Redundância:

• Os valores dos atributos pertencentes a cada depto são repetidas para cada empregado que trabalha em um depto.

Anomalias na inserção:

• Na inserção de um novo empregado na relação, os valores dos atributos correspondentes ao depto tem que ser consistente com os valores já assinalados para as outras tuplas.

• É muito difícil inserir um novo depto que ainda não possua empregados (A alternativa seria entrar com valores nulos para os outros campos da tupla, porém Ssn é um campo chave e, obrigatoriamente deve ser não nulo).

Informações redundantes em tuplas e anomalias nas modificações...

Page 16: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 16

Anomalias na exclusão:

• Acontece quando se exclui uma tupla, correspondente a um empregado, de EMP_DEPT e esta é a última tupla de empregado trabalhando em um dado depto. Com isto as informações concernentes ao depto se perdem.

Anomalias na alteração:

• na relação EMP_DEPT, se alterarmos o valor de um dos atributos de um dado depto, digamos o gerente do depto de no 5, deveremos atualizar as tuplas de todos os empregados que trabalham naquele departamento, para evitar inconsistências na base de dados.

Informações redundantes em tuplas e anomalias nas modificações...

Page 17: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 17

Diretriz Informal no 2:• Projetar os esquemas das relações bases, de tal forma

que anomalias na inserção, na alteração e na exclusão não possam ocorrer naquelas relações.

• Se alguma anomalia estiver presente, identifique-a claramente, de modo que os programas responsáveis pela atualização do banco de dados realizem as operações corretamente (sem perder informação ou sem gerar inconsistências).

Projeto de Banco de Dados...

Page 18: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 18

• Eventualmente pode-se violar as diretrizes de projeto, de modo a se aumentar a performance de determinadas consultas que sejam freqüentes.

• Em geral é aconselhável o uso de relações bases isentas de anomalias e a especificação de visões que incluam JOINS com a finalidade de juntar em uma mesma tupla atributos freqüentemente referenciados em consultas.

Projeto de Banco de Dados...

Page 19: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 19

Redução de valores nulos nas tuplas...

• Combater as relações (fat relations) que agregam atributos correspondentes a diversas entidades (objetos).

• Vários problemas podem ocorrer:

– se os atributos não se aplicam a muitas das tuplas da relação pode-se gerar muitos valores nulos;

– desperdício de espaço para armazenamento;

– dificuldade quanto ao significado dos atributos;

– dificuldade para se especificar operações de JOIN no nível conceitual;

– como considerar os nulos nas diferentes operações de agregação (COUNT, SUM, etc...)

Page 20: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 20

Diretriz Informal no 3:• Tanto quanto possível evite colocar atributos nas

relações bases cujos valores possam ser nulos.• No caso dos valores nulos serem inevitáveis, tenha

certeza de que eles se aplicam somente em condições excepcionais e não se aplicam à maioria das tuplas da relação.

Projeto de Banco de Dados...

Page 21: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 21

Tuplas Espúrias...

Representação alternativa para EMP_PROJ, com 2 relações bases

Page 22: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 22

Tuplas Espúrias... EMP_PROJ1 * EMP_LOCS gera várias tuplas espúrias

Page 23: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 23

• Um projeto de esquema fundamentado nas relações bases EMP_PROJ1 e EMP_LOCS é particularmente ruim, pois não podemos recuperar a informação que originalmente estava em EMP_PROJ.

• Obtemos muitas tuplas espúrias, que representam informações erradas, que não são válidas.

• A decomposição de EMP_PROJ em EMP_LOCS e EMP_PROJ1 é ruim, porque quando aplicamos o NATURAL JOIN, a fim de obter a informação original, é gerada informação incorreta.

• Motivo: PLOCATION é o atributo que relaciona EMP_LOCS e EMP_PROJ1, todavia PLOCATION não é uma chave primária nem uma chave estrangeira seja em EMP_LOCS ou em EMP_PROJ1.

Tuplas Espúrias...

Page 24: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 24

Diretriz Informal no 4:• Projetar esquemas de relações tal que se possa aplicar

NATURAL JOIN em atributos que sejam chaves primárias ou chaves estrangeiras, de modo a garantir que tuplas espúrias não sejam geradas.

• Posteriormente será apresentada uma condição formal (nonadditive or lossless join property) que garantirá que certos JOINS não produzirão tuplas espúrias.

Projeto de Banco de Dados...

Page 25: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 25

Dependência Funcional...

• Dependência Funcional (DF): é uma restrição entre dois conjuntos de atributos de um banco de dados.

• Esquema de Relação Universal:

R = {A1, A2, ..., An}

• Definição: Uma dependência funcional, denotada por X Y, entre dois conjuntos de atributos X e Y, que são subconjuntos de R especifica uma restrição nas tuplas possíveis de formar uma relação de instância r de R. A restrição estabelece que, para quaisquer duas tuplas t1 e t2 em r, tal que t1[X] = t2[X], então deve-se ter obrigatoriamente t1[Y] = t2[Y].

Page 26: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 26

• Esta definição de DF significa que os valores do componente Y da tupla em r dependem, ou são determinados, pelos valores do componente X.

• Pode-se dizer que os valores do componente X da tupla univocamente (funcionalmente) determinam os valores do componente Y.

• Y é funcionalmente dependente de X.• Se X é uma chave candidata de R, então X Y, para qualquer

subconjunto de atributos Y de R.• X Y em R não implica em que Y X em R. • Uma DF é uma propriedade da semântica (significado) dos

atributos.

Dependência Funcional...

Page 27: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 27

• As extensões da relação r(R) que satisfazem as restrições de dependência funcional são chamadas extensões válidas (legal extensions) ou estados válidos da relação (legal relation states).

• O principal uso das dependências funcionais é na descrição mais aprofundada do esquema da relação R, através da especificação de restrições sobre os seus atributos e que sejam válidas por todo o tempo (i.e. em todas as extensões).

• No esquema da relação EMP_PROJ tem-se as seguintes DFs:

i) Ssn Ename; ii) Pnumber {Pname, Plocation}; iii) {Ssn, Pnumber} Hours.

Dependência Funcional...

Page 28: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 28

• X x Y, denota que Y não é funcionalmente dependente de X.

No exemplo abaixo TEACHER x COURSE e

COURSE x TEXT

Dependência Funcional...

Page 29: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 29

Regras de Inferência para FDs...

• Denota-se por F o conjunto das DFs que são especificadas no esquema relacional R.

• Uma DF X Y é inferida (deduzida) de um conjunto de dependências funcionais F especificada em R, se X Y vale para todo estado de relação r que é uma extensão válida (legal extension) de R.

• O conjunto de todas as DFs que podem ser inferidas de F, denota-se por F+ e chama-se closure de F.

• Regras de inferência podem ser usadas para inferir novas DFs a partir de um conjunto dado de DFs.

• Usa-se a notação F |= X Y, para denotar que a DF X Y é inferida do conjunto de DFs F.

Page 30: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 30

• Suponha as seguintes regras de inferência associadas ao esquema da relação EMP_DEPT:

F = {SSN {ENAME, BDATE, ADDRESS, DNUMBER},

DNUMBER {DNAME, DMGRSSN}}

Pode-se daí inferir que:

SSN {DNAME, DMGRSSN}

SSN SSN

DNUMBER DNAME

Regras de Inferência para FDs...

Page 31: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 31

• (ri1 - Regra Reflexiva) se X Y, então X Y.

• (ri2 - Regra Augmentation) {X Y} |= XZ YZ.

• (ri3 - Regra Transitiva) {X Y, Y Z} |= X Z.

• (ri4 - Regra de Decomposição ou Projetiva) {X YZ} |= X Y.

• (ri5 - Regra Aditiva ou União) {X Y, Y Z} |= X YZ.

• (ri6 - Regra Pseudotransitiva) {X Y, WY Z} |= WX Z.

{ri1, ri2, ri3} regras de inferência de Armstrong

Exemplos:

• X {A1, A2, ..., An} {X A1, X A2, ..., X An} --- ri4

• {X A1, X A2, ..., X An} {X A1, A2, ..., An} --- ri5

Regras de Inferência para FDs...

Page 32: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 32

• Prova de ri1:

Supõe-se que X Y e que duas tuplas t1 e t2 existam em alguma relação de instância r de R, tal que t1[X] = t2[X]. Então t1[Y] = t2[Y], porque X Y. Portanto X Y deve valer em r.

• Prova de ri2 (por contradição):Assuma que X Y é válida na relação de instância r de R, mas que XZ YZ não é válida. Então devem existir duas tuplas t1 e t2 em r, tal que: i) t1[X] = t2[X], ii) t1[Y] = t2[Y], iii) t1[XZ] = t2[XZ] e iv) t1[YZ] t2[YZ]. Isto não é possível porque de “i” e “iii” deduz-se v) t1[Z] = t2[Z], e de “ii” e “v” deduz-se vi) t1[YZ] = t2[YZ], o que contradiz “iv”.

Regras de Inferência para FDs...

Page 33: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 33

• Prova de ri3:

Assuma que i) X Y e ii) Y Z são ambas válidas na relação r. Então para quaisquer duas tuplas t1 e t2 em r, tal que t1[X] = t2[X], deve-se ter também iii) t1[Y] = t2[Y] (a partir da premissa “i”) e portanto deve-se ter iv) t1[Z] = t2[Z] (a partir de “iii” e “ii”). Portanto X Z deve ser válida em r.

• Prova de ri4:

1. X YZ (dado)

2. YZ Y (usando ri1 e sabendo-se que YZ Y)

3. X Y (usando ri3 em “1” e “2”).

Regras de Inferência para FDs...

Page 34: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 34

• Prova de ri5:

1. X Y (dado)

2. X Z (dado)

3. X XY (usando-se ri2 em “1”, aumentando com X e notando que XX = X)

4. XY YZ (usando ri2 em “2”, aumentando com Y)

5. X YZ (aplicando ri3 em “3” e “4”)

Regras de Inferência para FDs...

Page 35: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 35

• Prova de ri6:

1. X Y (dado)

2. WY Z (dado)

3. WX WY (usando-se ri2 em “1”, aumentando com W)

4. WX Z (usando ri3 em “3” e “2”)

Regras de Inferência para FDs...

Page 36: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 36

• As regras de inferência ri1, ri2 e ri3 são ditas sound e complete.

• Sound - significa que, dado um conjunto de DFs F, especificadas em um esquema de relação R, qualquer DF que se puder inferir de F pelo uso das regras ri1, ri2 e ri3 será válida em qualquer estado de relação r de R que satisfaça as dependências em F.

• Complete - significa que, usando-se ri1, ri2 e ri3 repetidamente para inferir dfs de F, até que não se possa gerar mais dfs, resulta no conjunto completo (F+ = closure de F) de todas as possiveis dfs que podem ser inferidas a partir de F.

Regras de Inferência para FDs...

Page 37: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 37

• Uma forma sistemática de determinar estas dfs é primeiro determinar cada conjunto de atributos X que aparece no lado esquerdo de alguma df em F e, então, usando es regras de inferência de Armstrong, determinar o conjunto de todos os atributos que são funcionalmente dependentes de X. Este conjunto, X+, é chamado fechamento (closure) de X sob F.

• Algoritmo para determinar X+, fechamento (closure) de X sob F.

X+:= X;

repeat

old X+:= X+;

for each fd Y Z in F do

if Y X then X+ := X+ U Z;

until (old X+:= X+);

Regras de Inferência para FDs...

Page 38: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 38

• Um conjunto de DFs E é coberto (covered) por um conjunto de DFs F, ou alternativamente diz-se que F cobre E, se toda DF em E pode ser inferida a partir de F.

• Dois conjuntos E e F de DFs são equivalentes se E+=F+.

• Pode-se determinar se F cobre E, calculando-se X+ relativamente a F, para cada FD X Y em E, e então, verificando se X+ inclui os atributos em Y. Se isto acontecer para toda FD em E, então F cobre E.

Equivalência de Conjuntos de DFs

Page 39: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 39

• Um conjunto de DFs é mínimo (minimal), se satisfaz às seguintes condições:

Toda dependência em F possui um único atributo em seu lado direito.

Não se pode remover qualquer dependência de F e ainda se ter um conjunto de dependências que seja equivalente a F.

Não se pode substituir qualquer dependência X A em F com a dependência Y A, onde Y é um subconjunto próprio de X e ainda se ter um conjunto de DFs que seja equivalente a F.

• Pode-se pensar em um conjunto mínimo de dfs como sendo um conjunto de dfs em forma padrão ou canônica, em que não haja redundâncias.

Conjunto Mínimo de DFs

Page 40: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 40

Formas Normais...

• Inicialmente Codd propôs três formas normais que são chamadas 1NF, 2NF e 3NF.

• Posteriormente uma definição mais rigorosa de 3NF foi proposta por Boyce e Codd, resultando na forma normal de Boyce e Codd.

• Todas estas formas normais (1NF, 2NF, 3NF e a FN de Boyce e Codd) são baseadas no conceito de DFs entre os atributos de uma relação.

• A 4FN é baseada no conceito de dependências multi-valoradas.

• A 5 NF, no conceito de dependências JOIN.

Page 41: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 41

• O processo de Normalização de Dados pode ser visto como a decomposição, através do particionamento de atributos, de esquemas de relação indesejáveis em esquemas de relação que possuam algumas propriedades desejadas.

• Um dos objetivos do processo de normalização é evitar as anomalias de inserção, exclusão e atualização.

• As formas normais, consideradas isoladamente, não garantem um bom projeto de Banco de Dados.

Formas Normais...

Page 42: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 42

O processo de normalização, através da decomposição deve também confirmar a existência de propriedades adicionais que os esquemas das relações, considerados em conjunto, devem possuir:

• A propriedade não-aditiva ou JOIN sem perda (lossless join), que garante que tuplas espúrias não serão geradas, quando de um JOIN.

• A propriedade de preservação de dependência, que assegura que todas as DFs estão representadas em alguma das relações individuais resultantes.

• Recordação de conceitos: super-chave, chave, chave candidata, chave primária.

Formas Normais...

Page 43: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 43

Definições

• Super-chave - conjunto de um ou mais atributos que, tomados coletivamente, nos permitem identificar de maneira unívoca uma entidade em um conjunto de entidades (tipo-entidade).

• Uma chave K (minimal superkey) de um esquema de relação R é uma superchave de R com a propriedade adicional de que, a remoção de qualquer atributo A de K resulta em um conjunto de atributos K´ que não é uma superchave de R.

• Chave candidata - é uma das chaves de um esquema de relação R.

• Chave primária - é uma chave candidata escolhida pelo projetista do BD para a identificação de entidades em um conjunto de entidades (por convenção são sublinhadas no esquema da relação).

• Atributo principal (prime attribute) de um esquema de relação R é um membro de qualquer chave de R.

Page 44: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 44

1a Forma Normal...

• A 1a Forma Normal (1a FN) não permite relações dentro de relações, ou seja, relações como atributos de tuplas.

• A 1a FN é agora considerada como parte da definição formal de uma relação, a qual não permite atributos multi-valorados e nem atributos compostos.

• A 1a FN estabelece que os domínios dos atributos devem incluir apenas valores atômicos.

• Ex.: EMP_PROJ (Ssn, Ename, {PROJS(Pnumber, Hours)})

Page 45: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 45

• i) Normalização de uma “tabela” multi-valorada com redundância.

1a Forma Normal...

11aa NF NF

Page 46: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 46

• ii) Normalização sem redundâncias (superior)

1a Forma Normal...

Page 47: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 47

1a Forma Normal...

ProjsSsn EnamePnumber Hours

i)EMP_PROJ

ii)ii)

Page 48: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 48

1a Forma Normal...

Page 49: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 49

1a Forma Normal...

iii)iii)

Page 50: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 50

• Pesquisas têm sido conduzidas no modelo relacional para permitir o uso de relações aninhadas.

• EMP_PROJ(Ssn, Ename, {PROJS(Pnumber, Hours)})

• Para colocar em 1a NF relações aninhadas, primeiro remove-se os atributos aninhados para uma nova relação, propagando-se a chave primária na mesma; a chave primária desta nova relação a chave parcial (da relação aninhada) com a chave primária da relação original.

1a Forma Normal...

Page 51: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 51

• Baseia-se no conceito de dependência total.

• Uma DF X Y é uma DF total, se a remoção de qualquer atributo A de X, implica em que a dependência não mais se verifica, isto é, (X - {A}) x Y.

• Uma DF X Y é uma DF parcial, se a remoção de algum atributo A de X, implica em que a dependência ainda se verifica, isto é, para algum A X, (X - {A}) Y.

• Um esquema de relação R está na 2a Forma Normal (2a FN), se todo atributo não principal A em R apresenta DF total da chave primária de R.

2a Forma Normal...

Page 52: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 52

2a Forma Normal...

df1

df2

df3Normalização 2NF

EP1

EP3

EP2

Page 53: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 53

Um esquema de relação R que não esteja na 2a FN pode ser normalizado em diversos esquemas de relação, nas quais os atributos não principais estão associados apenas com a parte da chave primária da qual apresentam dependência funcional total.

2a Forma Normal

Page 54: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 54

• Uma relação R está na 3a FN se e somente se, por todo o tempo, cada tupla de R consistir de um valor de chave primária que identifique alguma entidade, juntamente com um conjunto de valores de atributos mutuamente independentes que descrevam aquela entidade de alguma forma [C. J. Date].

• Dois atributos são mutuamente independentes se nenhum for funcionalmente dependente do outro.

3a Forma Normal...

Page 55: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 55

• A 3a FN baseia-se no conceito de dependência transitiva.

• Uma DF X Y em um esquema de relação R é uma dependência transitiva se existe um conjunto de atributos Z que não seja um subconjunto de qualquer chave de R e ambos X Z e Z Y se verificam.

• Ex.: a DF Ssn Mgrssn é transitiva via Dnumber em EMP_DEPT (slide #13), porque Ssn Dnumber e Dnumber Mgrssn e Dnumber não é um subconjunto da chave de EMP_DEPT.

3a Forma Normal...

Page 56: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 56

• Um esquema de relação R está na 3a FN se ele está na 2a FN e nenhum atributo não principal (no prime) for transitivamente dependente da chave primária.

• Ex.: Pode-se normalizar (3a FN) EMP_DEPT decompondo-o nos esquemas ED1 e ED2.

• Intuitivamente observa-se que ED1 e ED2 representam fatos relacionados a diferentes entidades: EMPLOYEE e DEPARTMENT.

• Um Natural JOIN (*) em ED1 e ED2 irá recuperar a relação original EMP_DEPT, sem gerar tuplas espúrias.

3a Forma Normal...

Page 57: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 57

3a Forma Normal...

Normalização 3 NFNormalização 3 NF

Page 58: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 58

Definições Gerais da 2a NF e 3a NF...

• No processo de normalização deseja-se projetar esquemas de relações que não possuam dependências parciais e/ou transitivas.

• As definições mais gerais da 2a FN e 3a FN levam em consideração todas as chaves candidatas (e não apenas as chaves primárias).

• Definição Geral da 2a FN: Um esquema de relação R está na 2a FN se todo atributo não-principal (non prime attribute) A em R não for parcialmente dependente de qualquer chave de R.

Page 59: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 59

Definições Gerais da 2a NF e 3a NF...

fd1

fd2

fd3

fd4

Semântica: i) Chaves candidatas: PROPERTY_ID e {COUNTY_NAME, LOT#};ii) LOT# é único dentro de cada COUNTY;iii) supor 2 dfs adicionais: df3 - COUNTY_NAME TAX_RATE;

df4 - AREA PRICE

LOTS viola a 2a FN porque TAX_RATE é parcialmente dependente da chave candidata {COUNTY_NAME, LOT#}.

Page 60: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 60

• LOTS é normalizada na 2a FN, removendo-se o atributo que é dependente da chave parcial e colocando-o em uma nova relação juntamente com a chave parcial.

Definições Gerais da 2a NF e 3a NF...

fd1

fd2

fd3

fd4

Page 61: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 61

• Definição Geral da 3a FN: Um esquema de relação R está na 3a

FN sempre que, se uma dependência funcional X A valer em R, ou i) X é uma super-chave de R, ou ii) A é um atributo principal (prime) de R.

• LOTS2 está na 3a FN, porém a df4 em LOTS1 viola a def. de 3a

FN, pois AREA não é uma super-chave de LOTS1 e PRICE não é um atributo principal (prime).

• LOTS2 é normalizada removendo-se o atributo não-principal da df que viola a def. da 3a FN, juntamente com o lado esquerdo da mesma df para uma outra relação.

Definições Gerais da 2a NF e 3a NF...

Page 62: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 62

Definições Gerais da 2a NF e 3a NF...

fd1

fd2

fd4

Normalização de LOTS1 na 3a Forma Normal

Page 63: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 63

• A definição de 3a FN pode ser aplicada diretamente a um esquema de relação (não é preciso primeiro normalizar para a 2a FN).

• Poder-se-ia decompor LOTS diretamente em LOTS1A, LOTS1B e LOTS2.

• LOTS1 viola a 3a FN porque o atributo PRICE é transitivamente dependente de cada uma das chaves-candidatas, através do atributo não-principal AREA.

Definições Gerais da 2a NF e 3a NF...

Page 64: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 64

Interpretação da definição geral da 3a FN

• Um esquema de relação R viola a definição geral da 3a FN se vale em R uma dependência funcional X A em que ambas as condições “i” ‘e ii” da 3a FN são violadas.

• Violar “ii” implica em que A é um atributo não-principal (nonprime).

• Violar “i” implica em que X não é um super-conjunto de alguma chave de R; X poderia ser não-principal ou poderia ser um subconjunto próprio de alguma chave de R; se X é não-principal tem-se tipicamente uma dependência transitiva que viola a 3a FN, enquanto que se X é um subconjunto de uma chave de R teremos uma dependência parcial que viola a 3a FN (e também a 2a FN).

Definições Gerais da 2a NF e 3a NF...

Page 65: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 65

Tem-se portanto, a seguinte definição alternativa para a 3a FN:

Um esquema de relação R está na 3a FN se todo atributo não-principal de R:

apresenta dependência funcional total em cada chave de R;

é dependente não-transitivo de toda chave de R.

Definições Gerais da 2a NF e 3a NF

Page 66: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 66

Forma Normal de Boyce-Codd (BCNF)...

• BCNF é mais restritiva que a 3a FN. Uma relação em BCNF também está na 3a FN. Todavia uma relação na 3a FN não necessariamente está em BCNF.

• Suponha, no ex. dado, que haja a df AREA COUNTY_NAME

• LOTS1A está ainda na 3a FN, pois COUNTY_NAME é um atributo principal.

• Decompondo LOTS1A em LOTS1AX(PROPERTY_ID#, AREA, LOT#) e LOTS1AY(AREA, COUNTY_NAME) evitar-se-ia a redundância de se repetir a mesma informação milhares de vezes em LOTS1A.

Page 67: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 67

Forma Normal de Boyce-Codd (BCNF)...

fd1

fd2

fd5

Normalização BCNF

fd1

fd2

R está na 3a FN, mas não em BCNF

Page 68: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 68

• Definição da 3a BCNF [ref. Elmasri/Navathe]: Um esquema de relação R está em BCNF sempre que, ao valer uma DF X A em R, então X é uma super-chave de R.

• Um atributo, possivelmente composto, de um esquema de relação R, do qual um outro atributo é funcionalmente dependente, é chamado de determinante (funcional).

• Definição alternativa da 3a BCNF [(ref. C. J. Date]: Um esquema de relação R está em BCNF se e somente se cada determinante de R for uma chave candidata.

• No exemplo fd5 viola a BCNF em LOTS1A, porque AREA não é uma super-chave de LOTS1A.

Forma Normal de Boyce-Codd (BCNF)

Page 69: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 69

4a Forma Normal...

CURSO PROFESSOR TEXTOPhysics {Prof. Green,

Prof. Brown, Prof. Black}

{Basic Mechanics, Principle of Optics}

Math {Prof. White} {Modern Algebra, Projective Geometry}

“Relação” CTX0

Semântica: o curso X pode ser ministrado por qualquer dos professores (situados na mesma linha da tabela) e o prof. pode adotar qualquer um dos livros textos indicados (situados na mesma linha da tabela).

Page 70: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 70

4a Forma Normal...

• CTX0 pode ser normalizada em CTX.

• CTX satisfaz à restrição: se aparecerem ambas as tuplas (c,t1, x1), (c, t2, x2) então aparecerão também as tuplas (c,t1, x2) e (c,t2, x1).

Page 71: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 71

• CTX , apesar de estar em BCNF (todos os seu atributos fazem parte da chave e não existem outras dfs), contém redundâncias evidentes, que causarão anomalias nas operações de atualização.

• Ex.: para adicionar-se a informação de que o curso de física passou a usar um novo texto Advanced Mechanics, torna-se necessário criar três novas tuplas - uma para cada professor.

• As dificuldades são causadas pelo fato dos atributos professor e texto não serem independentes.

4a Forma Normal...

Page 72: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 72

4a Forma Normal...

CTX pode ser decomposta nas relações CP e CX, porém esta decomposição não está baseada em dependências funcionais.

Tem-se, no caso, uma dependência de múltiplos valores (DMV).

Há duas DMVs na relação CTX:• CTX.CURSO CTX.PROFESSOR• CTX.CURSO CTX.TEXTO

Page 73: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 73

• Significado: cada curso possui um “conjunto bem definido de professores”, i. e., para um curso “c” e um texto “x”, o conjunto “t” de professores que corresponde ao par (c, x) em CTX depende só de “c” - não faz diferença que valor de “x” escolhamos desde que “c” e “x” apareçam juntas em alguma tupla de CTX.

• Definição: Dada uma relação R com atributos A, B e C, a dependência de múltiplos valores R.A R.B vale para R, se e somente se (sss) o conjunto de valores de B que se combinam com um dado par (valores de A, valores de C) em R depender somente do valor de A e for independente do valor de C (A, B e C podem ser compostos).

• Uma DMV só pode existir em relações com pelo menos 3 atributos

4a Forma Normal...

Page 74: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 74

• Dada a relação R(A, B, C), a DMV R.A R.B vale sss a

DMV R.A R.C também valer.

• Expressa-se ambas as DMVs pela notação:

R.A R.B | C

• A DF é uma DMV na qual o conjunto de valores dependentes consiste de um único valor.

• Teorema de Fagin: Uma relação R, com atributos A, B, e C, pode ser decomposta em suas duas projeções R1(A, B) e R2(A, C) sss a DMV A B | C valer em R.

4a Forma Normal...

Page 75: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 75

• Definição da 4a FN [C.J. Date]: Uma relação R está na 4a FN sss, sempre que existir uma DMV em R, digamos A B, todos os atributos de R são funcionalmente dependentes de A (i.e., A X para todos os atributos X de R).

• i.e., as únicas dependências (DMVs e DFs) em R são da forma K X (i.e., uma dependência funcional de uma chave candidata K em algum outro atributo X).

• Uma DMV X Y em R é denominada uma DMV trivial se i) Y é um subconjunto de X ou ii) (X U Y) = R.

• As relações que contêm DMVs não-triviais tendem a ser relações todas-chaves, i.e, a sua chave é composta por todos os atributos.

4a Forma Normal...

Page 76: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 76

Fagin comprovou dois resultados importantes, que permitem incorporar a 4a FN no procedimento global de normalização:

A 4a FN é estritamente mais poderosa que a BCNF, i.e., qualquer relação na 4a FN está necessariamente na BCNF.

Qualquer relação pode ser decomposta sem perdas em uma coleção equivalente de relações na 4a FN.

Uma relação R(A, B, C) satisfazendo as DFs A B, B C é melhor decomposta em suas projeções sobre (A, B) e (B, C) do que sobre (A, B) e (A, C).

O mesmo vale quando as DFs são substituídas pelas MVDs A B, B C

4a Forma Normal...

Page 77: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 77

• Existem relações que não podem ser decompostas sem perdas e em duas projeções, mas que podem ser decompostas sem perdas em três (ou mais) projeções.

5a Forma Normal...

Page 78: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 78

5a Forma Normal...

JUNÇÃOsobre P#

JUNÇÃOsobre (J#, S#)

TABELA SPJ ORIGINAL

TUPLAESPÚRIA

Page 79: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 79

• A afirmativa de que SPJ é igual à junção de suas três projeções SP, PJ e JS é equivalente à afirmativa:

se o par (s1, p1) aparece em SP

e o par (p1, j1) aparece em PJ

e o par (j1, s1) aparece em JS

então a tripla (s1, p1 , j1) obviamente aparece na junção de SP, PJ e JS.

• Uma vez que (s1, p1) aparece em SP sss s1 e p1 aparecem juntos em SPJ,o mesmo acontecendo com (p1, j1) e (j1, s1), podemos reescrever a última afirmativa como uma restrição sobre SPJ:

se (s1, p1 , j2), (s2, p1 , j1), (s1, p2 , j1) aparecem em SPJ

então (s1, p1 , j1) também aparece em SPJ.

5a Forma Normal...

Page 80: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 80

• A restrição anterior é satisfeita sss a relação envolvida for a junção de certas projeções suas. Esta restrição é chamada de Dependência de Junção.

• SPJ satisfaz a dependência de junção * (SP, PJ, JS).

• Definição: Uma Dependência de Junção (DJ), denotada por DJ(R1, R2, ... Rn), especificada em um esquema de relação R, determina uma restrição nas instâncias r de R. A restrição diz que toda instância legal r de R deve ter uma decomposição de junção sem perdas (lossless join decomposition) em R1, R2, ... Rn; i.e., * (<R1>(r), <R2>(r), ...,<Rn>(r)) = r.

• Note que uma DMV é um caso particular de DJ, onde n=2.

5a Forma Normal...

Page 81: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 81

• Uma dependência de junção DJ(R1, R2, ... Rn), especificada em um esquema de relação R é uma DJ trivial se um dos esquemas de relação Ri em DJ(R1, R2, ... Rn), for igual a R.

• Tal DJ é chamada trivial porque possui a propriedade de junção sem perdas (lossless join) para qualquer relação de instância r de R e, portanto, náo determina qualquer tipo de restrição sobre R.

• Definição: um esquema de relação R está na 5a FN (ou forma normal project-join - PJNF) relativamente a um conjunto F de DFs, MVDs e DJs, se para toda dependência de junção DJ(R1, R2, ... Rn) não trivial em F+ (i.e., implicado por F) todo Ri é uma super-chave de R.

• Descobrir DJs em BDs reais não é uma tarefa fácil...

5a Forma Normal

Page 82: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 82

• Definição: Uma relação está na Domain-Key Normal Form (DKNF) se todas as dependências e restrições que deveriam valer na relação podem ser determinadas (enforced) simplesmente pela determinação de restrições de domínio e restrições chaves especificadas na relação.

• A idéia por trás da DKNF é especificar (ao menos teoricamente) a “forma normal definitiva”, que leve em consideração todos os tipos de dependências e restrições.

• Utilidade prática é limitada, pois restrições complexas não parecem poder ser incluídas em relações DKNF.

Forma Normal Domínio-Chave

Page 83: UERJ© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

UERJ © Oscar Luiz Monteiro de Farias 83

Finalmente...

Para complementar a formação estudar:• capítulos 13, 14 e 21 (apenas 21.1 e 21.2) do

Fundamentals of Database Systems, Elmasri/Navathe• cap. 14 do Introdução a Sistemas de Bancos de Dados,

C. J. Date, Editora Campus.

• 2a Prova: 23/01/2001 às 07:00 horas no LABOGEO.