engenharia reversa de arquivos e documentos - dca.ufrn.branderson/ftp/dca0120/aula6.pdf ·...

109
Engenharia reversa de arquivos e documentos Capítulo 6

Upload: doantu

Post on 06-Dec-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$

Engenharia reversade arquivos e documentos

Capítulo 6

Page 2: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

Engenharia reversade arquivos e documentos

� � � � � � � �

� � � � � � � �

� � � � � � � � � � � � � �

� � � � � � � � � �

� � � � � � � � �

� � � � � � � � � � �

! " # $ % & ' ( ) * +

� , - � . � � � � � - � / �

� / � � � � � �

� � . � � �

� � � � � � � � � �

� � � � � � � � �

� � 0 1 � � �

� � � � � � � � � � �

Page 3: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

Engenharia reversade arquivos e normalização

• Entrada:

� � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � �

� � � � � � � � � � �

� � ! � " # � � � � � � � " �

� � ! � " # � � � � � # � � � " � � � " � � � � � � $ � � � � �

� % & ' ( ) * + , + & + ) * - , . , ' ( / & + ) * 0 ) . 1 2 3 4 ' 5 )

. , 6 & ( / ) ' & 6

Page 4: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$

Engenharia reversa de arquivos e normalização - motivação

• Sistemas legados• Raramente documentados• Necessidade de modelo ER

%

& ' ( ) * + ( , - .

%

& / 0 1 ' , - . 2 ' 1 ' . ) * 1 . * / 2 . 3 + 4 5

%6 ( * + 0 1 ' , - . 7 . 8 . ) * 1 . 9 4 5

Page 5: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

Engenharia reversa - processo

� � � � � �

� � � � � � � � �

� � � � � � � �

� � � � � � � � � � � � � � �

� � � � � � � � � � � �

� � � � � �

� � � � � � � � �

� � � � � � � �

� � � � � � � � � � � � � � �

� � � � � � � � � � � �

...

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � �

Page 6: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

NormalizaçãoObjetivo

• Reagrupar informações para

% + � / 8 / ( ' 1 1 + 3 ) ( 3 � ( 7 / ' 9 3 + 3 ' 3 . 9• Reagrupar informações para

% + � / 8 / ( ' 1 + 9 * 1 ) * ) 1 ' 9 / ( + � / 9 * + ( * + 9 ( . 8 . 3 + � . � �

� ' * 1 / � ) * . 9 8 ) � * / � ' � . 1 ' 3 . 9

Page 7: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

Normalizaçãopassos

� � � � � � � �

� � � � � � �

� � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � �

� �

� � � � � � � �

� � � � � � � �

� � � � � �

� � � �� � � � � �

� � �

� � � � � �

� � � �

� � � � � �

� � �

� � � � � �

� � � �

� � � � � �

� � � �

� � � � � �

� � �

� � � � � � � � � � � � � �

� � � � � � � �

Page 8: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

Documento exemplo� � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �!

" # $ % & � ' ( � � � ) � * � + , - � . � * � / 0 �

1 2 3 4 5 6 3 6

7 8 9 : 7 5 ; 3 6

< 6 8 7 1 ; = 7 5 6 : 4 ;

> ? < 1 4 6 < ; @

A ; @ B : 4 6 3 ; = ; 3 7

4 < C 1 4 6 < 6

9 : 6 D 7 = 6

= 7 8 9 6

; @ 6 1 ; 3 6 ; 6

9 : 6 D 7 = 6

E F G H I J K J L F G F M F F M N F E G

O F G P Q R ST U J L E G E M F V M N F E G

H F E H I J W X Y F N O M F V M N E F Z

F E F G [ \ ] S J W L E G G M F V M N E F Z

Z F N F ^ _ ] U J L F G F M F F M N E F E

% ` " � a � " � � & � b # � � � c d e � f � � � � � g , 0 * � h i �

" # $ % & � ' ( � � � ) � * � + , - � j k

1 2 3 4 5 6 3 6

7 8 9 : 7 5 ; 3 6

< 6 8 7 1 ; = 7 5 6 : 4 ;

> ? < 1 4 6 < ; @

A ; @ B : 4 6 3 ; = ; 3 7

4 < C 1 4 6 < 6

9 : 6 D 7 = 6

= 7 8 9 6

; @ 6 1 ; 3 6

; 6 9 : 6 D 7 = 6

Z F N F ^ _ ] U J L F G F M V P M N O F E

G F F E I J K J L E G G M V F M N F E G

H F E H I J W X Y F N F M F F M N E F E

Page 9: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$

Normalização1º passo

% & ' ( % ) * + %

* , ' ( - . / / (

+ / 0 ( ) % 1 2 /

3 4 5 6 4 7 4 8 9 : ; < =

> = ? = 9 : @ 4 A :

B C

% & ' ( % ) * 1 D /

1 / , ) * E - F * + /

G : 7 7 : H 4 ?

: I J C% & ' ( % ) *

1 * K L M

G : 7 7 : H 4 ?

: N J C

% & ' ( % ) *

1 * O L M

G : 7 7 : H 4 ?

: P J C

G : 7 7 : H 4 ?

: Q J C

% & ' ( % ) *

1 * R L M

% & ' ( % ) * , % E * 0 - / 1 * E

1 / , ) * E - F * + /

Page 10: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Representação na forma detabela não normalizada

• Tabela não-normalizada ou• tabela não-primeira-forma-normal

� � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � ! � � � � � � � � � � � � " � � # � � � $

% & ' ( ) * + , ) - + ' . * / 0 1 2 - & ' * 3 - 4 / + ( ' 4 - 1 + 3 5 6 . & ' 1 7

& ' * 3 0 6 3 + 8 - ( + 1 + * . * 9 + 2 + 1

• Abreviatura: ÑN

Page 11: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ $

Tabela aninhadaexemplo

% & ' ( ) * + , -. * / 0 1 2 ) 3 4.

% * ' 3 4. 5 * 4 0 % 6 7 8 6 9 / 6 7 6 : ; - , 0 4. < 9

= 8 % > > ? 5 * @ * / 0 1 0 ; @A

B ? C D E * F * < ? C ? G ? ? G H ? B C8 - 1 7 0 4 6 ' 0

3 1 7 * I J 0 K ? C L 8 M 9 @ - * < B C B G ? > G H ? B C

D ? B D E * 1 N O ? H K G ? > G H B ? P

? B ? C % 6 ) 9 * 1 < B C C G ? > G H B ? P

P ? H ? Q R ) - * < ? C ? G ? ? G H B ? B

( < S > B Q 6 ; J 7 0 ; T F * P ? H ? Q R ) - * < ? C ? G > L G H K ? B8 - 1 7 0 4 6 ' 0

U V C ? ? B E * F * < B C C G > ? G H ? B C

D ? B D E * 1 N O ? H ? G ? ? G H B ? B

W X Y Z [ X X \ ] \ ^ X _ X Z ` a ` X [ ] \ ^ X _ Z b c d e Z f d

Page 12: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Tabela ÑNEsquema

� � � � � � � � � � � ��

� ��

� � � ��

� � � � � � ��

� � � ��

� � ��

� � ��

� � � � � � ��

� � ! " � # #

Page 13: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ %

Arquivo em Pascal

& ' ( ) * + ,-

. / 0 1 2 3 4 ) 5 6 4 7

8 2 9-

. / : ; 1 < + , + * =

1 2 > +-

. / : 8 ? . *-

@ A =

; 1 , * + B B 2 B-

8 0 * B 2 B-

. / : C 4 4 C ' D E F F E A G 2 H 4 ) 5 6 4 7

8 2 9-

8 0 * B 2 : ; 1 < + , + * =

B + > + B < * +-

; 1 , * + B B 2 : ; 1 < + , + *

) I 7 =

9 ; B 8 ; J / ; 1 . B-

8 0 * B . 9 . B-

. / : C 4 4 C ' D A F F K A A G 2 H 4 ) 5 6 4 7

8 2 9-

9 ; B 8 : ; 1 < + , + * =

B + > + B < * + B-

8 0 * B . 9 2 B : C 4 4 C ' D E F F K A G 2 H 4 ) 5 6 4 7

B + > + B < * +-

9 ; B 8 : ; 1 < + , + * =

1 2 < .-

9 ; B 8 : ; 1 < + , + *

) I 7

) I 7

) I 7 =

. * L-

. / 0 1 2 3 M N O ) 6 M * + ,-

. / 0 1 2 =

Page 14: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Arquivo em Cobol

� � � � � � �� � �

� � � � � ���

� � � � � ��

� � � � � � ��

� � � � � � � � � � � � �� � � � � � � � � �

� � � � � � � � �

� � � � � �� � � � � �

� � � � � � � � � � � � �� � � � � � � � ! � �

� � � � � �� � �

� � � � � � � � � � �� � � � � � � � � ! �

� " � � � � �� � � � � � � � �� �

� " � � � �� � �

Page 15: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Esquema ÑNpara arquivos exemplo

� � � �� � � � � � � � �� �

� � � � �� �

� � � �� � � �

� � � �� � � � � � �

� � � �� � � � � � �� � � �� � � � � �

� � � � �� � � � � �

Page 16: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Representação em esquemanão normalizada

• Nenhuma transformação foi feita no modelo do documento

• Apenas foi usada outra notação• Notação independe do tipo de documento/arquivo usado como entrada do processo de normalização

Page 17: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Forma normal• Regra que uma tabela deve obedecer para ser considerada “bem projetada”

• Há diversas formas normais, cada vez mais rígidas, para verificar tabelas relacionais

• Aqui tratadas

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

Page 18: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ %

Primeira forma normal1FN

& ' ( ) & * + , &

+ - ( ) . / 0 0 )

, 0 1 ) * & 2 3 0

4 5 6 7 5 8 5 9 : ; < = >

? > @ > : ; A 5 B ;

C D

& ' ( ) & * + 2 E 0

2 0 - * + F . G + , 0

H ; 8 8 ; I 5 @

; J K D& ' ( ) & * +

2 + L M N

H ; 8 8 ; I 5 @

; O K D

& ' ( ) & * +

2 + P M N

H ; 8 8 ; I 5 @

; Q K D

H ; 8 8 ; I 5 @

; R K D

& ' ( ) & * +

2 + S M N

Page 19: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Passagem à primeira forma normal (1FN)

primeira forma normal (1FN)=

diz-se que uma tabela está na primeira forma normal, quando ela não contém

tabelas aninhadas

Page 20: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Passagem à 1FNalternativas

• Construir uma única tabela com redundância de dados

• Construir uma tabela para cada tabela aninhada

Page 21: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� $

Passagem à 1FNuma única tabela

• Uma tabela na qual os dados das linhas externas à tabela aninhada são repetidos para cada linha da tabela aninhada

• Exemplo

� � � � � � � � � � � ��

� � � �

� � � � ��

� � � � ��

� � ��

� � ��

� � ��

� � � � � ��

� � � � � �

• Dados do projeto aparecem repetidos para cada empregado do projeto

Page 22: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Passagem à 1FNuma tabela para cada tabela aninhada

• Cria-se uma tabela referente a própria tabela que está sendo normalizada e uma tabela para cada tabela aninhada

• Exemplo:

� � � � � � � � ��

� � � �

� � � � � �

� � � � � � � � � � � ��

� � � � ��

� � ��

� � ��

� � ��

� � � � � ��

� � � � � �

Page 23: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Passagem à 1FNalternativas

• Primeira alternativa (tabela única) é mais correta• Decompor uma tabela em várias tabelas (segunda alternativa)

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

• Ver exercício

Page 24: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Passagem à 1FNalternativas

• Para fins práticos

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � �

• Quando houver diversas tabelas aninhadas, eventualmente com diversos níveis deaninhamento, fica difícil visualizar a tabela na 1FN na alternativa de tabela única

Page 25: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Passagem à 1FN passo (1)

• Criar uma tabela na 1FN referente a tabela não normalizada

• A chave primária da tabela na 1FN é idêntica a chave da tabela ÑN

Page 26: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Passagem à 1FNcriar tabela referente a tabela ÑN

� � � � � � � ��

� ��

� � � ��

� � � � � � ��

� � � �

� � ��

� � ��

� � � � � � �

� � � � � �

ÑN

1FN

� � � � � � !"

# $ % �"

& ' ( ) *

Page 27: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ %

Passagem à 1FNPasso (2)

• Para cada tabela aninhada

& ' ( ) * ( + , * - * . / 0 * 1 * 2 3 4 ' 5 , 6 5 7 - * 6 / 0 * 7 7 / 8 + ) 1 - / 7

' 5 0 + 1 * 7 9

: ; < = ; > ? @ A B C D A B ; E ? < ; E ; F C ; E ; G H ; I ? J ; G K ; L F ; J ;

H ; I ? J ; ? C L F ? G H M N ? G H D ; K B K = ; E ;

: ; G < N J F K ; G E ; @ A O @ A B ; H ; I ? J ; ; K B K = ; E ;

Page 28: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Passagem à 1FNcriar tabela referente a tabela aninhada

� � � � � � � ��

� ��

� � � ��

� � � � � � ��

� � � �

� � ��

� � ��

� � � � � � �

� � � � � �

ÑN

1FN

� � � � � � � ��

� ��

� � � � �

� � � � � � � ��

� � � � � ��

� � � �

� � ��

� � ��

� � � � � � �

� � � � �

Page 29: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Passagem à 1FNPasso (3)

• Definir as chaves primárias das tabelas na 1FN que correspondem a tabelas aninhadas.

Page 30: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Passagem à 1FNdefinição de chave primária

� � � � � � � ��

� ��

� � � ��

� � � � � � ��

� � � �

� � ��

� � ��

� � � � � � �

� � � � � �

ÑN

1FN

� � � � � � � �

� � �

� � � � �

� � � � � � � �

� � � � � �

� � � �

� � �

� � �

� � � � � �

� � � � � �

� � � � � ! � " # $ � % � & ' � ( ) � * " + ,

� � ' ) � ) * � " ' - * � $ � * � - . � $ �

Page 31: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ %

Passagem à 1FNdefinição de chave primária

& ' ( ) * + ( ,-

. / 0 (-

1 2 3 4 + 5

& ' ( ) * + ( ,-

' ( ) 6 7 0-

8 ( 7 2-

' 9 :-

; 9 <-

1 9 : 9 = > /-

. 2 7 0 ? < 5Qual é a chave primária desta tabela?Pergunta a fazer:

“um valor de CodEmp (chave da tabelaorigem) aparece uma vez só no documento ou várias?”

1FN

Page 32: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Passagem à 1FNdefinição de chave primária

& ' ( ) * + ( ,-

. / 0 (-

1 2 3 4 + 5

& ' ( ) * + ( ,-

' ( ) 6 7 0-

8 ( 7 2-

' 9 :-

; 9 <-

1 9 : 9 = > /-

. 2 7 0 ? < 5Como um valor de CodEmp aparece váriasvezes, é necessário CodProj para distinguiras várias aparições

1FN

Page 33: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ $

Passagem a 1FN - exemplo

� � � � � � � ��

� ��

� � � � �

� � � � � � � ��

� � � � � �

� � � ��

� � ��

� � ��

� � � � � � �

� � � � � �Caso cada empregado trabalhe em um único projeto apenas, ou sejacaso um valor de CodEmp apareça uma única vez na tabela

1FN

Page 34: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Passagem à 1FNexemplo� � � � �

� � � � � � � � � � � �

� � � � � � � � � � � � � � � �

� ! � " � # $ % � & � " � ' ( �

) * + � , - . / 0 1 2 / 3 4 5 6 78 1 2 9 . : 2 ; <

= > ? @ A B C D

E F : G H 5 I J K L M N O P K N Q J R S T R U V R S R W X Y Z Q N O [ U

\ 6 E ] ] _ a b c K d K [ a e e f _ a

\ 6 E ] ] g a h T i Uj Y K [ _ a _ e k e f _ a

\ 6 E ] ] b _ b c K l m n f g e k e f _ ` o

\ 6 E ] ] ` _ a J R p U K l [ _ a a e k e f _ ` o

\ 6 E ] ] o f q r p Y K [ a e e f _ ` _

G s t ] u o f q r p Y K [ a e k h e f g ` _

G s t ] u a ` _ c K d K [ _ a a e k e f _ a

G s t ] u b _ b c K l m n f e e f _ ` _

Page 35: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ %

Passagem à 1FNexemplo

& ' ( )* + , - . - + / 0 1 2 * 0 -

)* 3 ' 1 0

45 0 6 7 )* 3 ' 1 0

4

5 3 6 7 ' 0 )8 + 9 + 1 )* 3 ' 1 0

4

2 * 0 -)

* + , -4

5 0 6 7 )* + , -

4

: 1 ; 0 ' 7 )* + , - < <

ÑN

Page 36: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Passagem à 1FNdecomposição em tabelas

& ' ( )* + , - . - + / 0 1 2 * 0 -

)* 3 ' 1 0

45 0 6 7 )* 3 ' 1 0

4

5 3 6 7 ' 0 )8 + 9 + 1 )* 3 ' 1 0

4

2 * 0 -)

* + , -4

5 0 6 7 )* + , -

4

: 1 ; 0 ' 7 )* + , - < <

� � � � � � � � � � �� � � � �

� � � �� � � � �

� � � � � � � � � � �� � � � � �

ÑN

1FN

Page 37: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Passagem à 1FNdecomposição em tabelas

& ' ( )* + , - . - + / 0 1 2 * 0 -

)* 3 ' 1 0

45 0 6 7 )* 3 ' 1 0

4

5 3 6 7 ' 0 )8 + 9 + 1 )* 3 ' 1 0

4

2 * 0 -)

* + , -4

5 0 6 7 )* + , -

4

: 1 ; 0 ' 7 )* + , - < <

� � � � � � � � � � �� � � � �

� � � �� � � � �

� � � � � � � � � � �� � � � � �

� � � � � � � � � � � � � � �� � � � �

� � � �� � � �

� � � �� � � �

� � � � � � �� � � � �

ÑN

1FN

Page 38: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Passagem à 1FNdefinição da chave primária

& ' ( )* + , - . - + / 0 1 2 * 0 -

)* 3 ' 1 0

45 0 6 7 )* 3 ' 1 0

4

5 3 6 7 ' 0 )8 + 9 + 1 )* 3 ' 1 0

4

2 * 0 -)

* + , -4

5 0 6 7 )* + , -

4

: 1 ; 0 ' 7 )* + , - < <

� � � � � � � � � ��

� � � � �

� � � �� � � � �

� � � � � � � � � � �� � � � � �

� � � � � � � � � � � � � ��

� � � � �

� � ��

� � � �

� � � �� � � �

� � � � � � �� � � � �

� � � � � � � � � � � � � � � ! � " # � $ � % &

� � ! # � # $ � � ! ' $ � � � $ � ' ( � � �ÑN

1FN

Page 39: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ %

Passagem à 1FNdefinição da chave primária

& ' ( )* + , - . - + / 0 1 2 * 0 -

)* 3 ' 1 0

45 0 6 7 )* 3 ' 1 0

4

5 3 6 7 ' 0 )8 + 9 + 1 )* 3 ' 1 0

4

2 * 0 -)

* + , -4

5 0 6 7 )* + , -

4

: 1 ; 0 ' 7 )* + , - < <

= > ? @ A @ B = A CD

= > ? @ AE

F A G H D= > ? @ A

E

F > G H ? A DI J K J @ D= > ? @ A L

= J M C N C J O A @ B = A CD

= > ? @ AE

= A CD

= J M CE

F A G H D= J M C

E

P @ Q A ? H D= J M C L

R S � � T � ' ( � � � U $ � V $ � � � ! # � # � � � � � W

X � $ Y S � # � � Z � [ � $ &

\ S � � � � % $ � � ] % �^

] � � � _ ' ( � � � � � # � � � � �

% $ Y � � ` � U � $ � ' � S � � ! a � � [ � %

� % ' S � � � # % % S � V $ � ! W b

ÑN

1FN

Page 40: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Passagem à 1FNdefinição da chave primária

& ' ( )* + , - . - + / 0 1 2 * 0 -

)* 3 ' 1 0

45 0 6 7 )* 3 ' 1 0

4

5 3 6 7 ' 0 )8 + 9 + 1 )* 3 ' 1 0

4

2 * 0 -)

* + , -4

5 0 6 7 )* + , -

4

: 1 ; 0 ' 7 )* + , - < <

� � � � � � � � � � � � � � �

� � � � � � � �

� � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � �

� � � � � � �

� � � � � � �

� � � � � � � � � �

� � ' a � Y % � � ' � � � � � # % � U � $ � ' � S � � � � ' � � � [

ÑN

1FN

Page 41: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Passagem a 1FN exemplo Pascal/COBOL

� � � �� � � � � � � � �� �

� � � � �� �

� � � �� � � �

� � � �� � � � � � �

� � � �� � �

� � � �� � � �� � � � � �

� � � � �� � � � � �

� � � � � � � � ! "� �#

$ � % & "� � '

� � � � � � ( � � � � ! "� �#

� ! " � ( � �#

) & % "* � + ( & � � � '

� � � � � , * � - � � ! "� �#

� ! ", * � - '

� � � � � , * � - ) & % � � ! "� �#

� ! ", * � -#

) & % ", * � - " � ( � . ! .#

$ � / . ", * � - '

ÑN

1FN

Page 42: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Passagem a 1FN exemplo Pascal/COBOL

� � � �� � � � � � � � �� �

� � � � �� �

� � � �� � � �

� � � �� � � � � � �

� � � �� � �

� � � �� � � �� � � � � �

� � � � �� � � � � �

� � � � � � � � � � ��

� � � � � �

� � � � � � � � � � � � � � ��

� � � � � � ��

� � � � � � � � � � �

� � � � � � � � � � � � � ��

� � � � � � �

� � � � � � � � � � � � � � � ��

� � � � � ��

� � � � � � � � � � � ��

� � � � � � � � �

ÑN

1FN

Page 43: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� $

Dependência funcional• Para entender 2FN e 3FN

� � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � ��

• Em uma tabela relacional, diz-se que

� � � � � � � � � �� � � � � � � � � � � � � � � � � � ! � � � � �

� � � � � � "# � $ � � � � � � � � � "

� � ! � % � � � � � � � � �

��& $ � � � � '

� � � � � � � ( � � � � � ) � � � ' � � � � � �� � * � � � � � � "

$ � � � � � � � � � � � � ) � � � ' � � � � � � � � � * �� � � �

�� �

Page 44: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ $

Exemplo de dependência funcional

%

& ' ( ) * +

%

, - . / 0 ) +

%

1 2 2 3

1 4 2 3

1 2 2 3

1 5 6

1 4 2 3

1 5 6

1 2 2 3

Código→ Salário

Page 45: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Dependência funcionalexemplos

� � � �

� � � � �

� � � �

� � � �

� � � � �

� � � �

� � � �

� � � �

� � �

� � � �

� � � � �

� � � �

� � � �

� � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � �

A→ B

Page 46: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # #

$ %

Dependência funcionalexemplos

& ' ( )

' * + + ,

( - + . *

' / 0 + ,

' * + + ,

( + + . *

( - + . *

& . , * . 1

& . + 2 . 1

& . , * . 1

' * + + ,

( - + . *

& . , * . 1

( - + . *

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �

A→ D

Page 47: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # #

$ �

Dependência funcionalexemplos� � � �

� � � � �

� � � �

� � � �

� � � � �

� � � �

� � � �

� � � �

� � �

� � � �

� � � � �

� � � �

� � � �

� � � �

� � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � �

(A,B)→ C

Page 48: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # #

$ �

Segunda forma normal2FN

• Objetiva eliminar um certo tipo de redundância de dados

• Exemplo

• Dados referentes a empregados (Nome, Cat e Sal)

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � �

� � � � � � � ��

� � � � � �

! � � "�

� # $�

% # &�

' # $ # ( ) *�

+ " � , & -

Page 49: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��� ��

� � � � � � � ! ! � � �� ��� � �� � � � � �" # # #

$ �

Segunda forma normal2FN

� � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ! �

" # $ $ % & ' ( ) * � + � ! ' ( ' , ' ' , - ' & (

" # $ $ % . ' ( / � 0 �1 � � ! & ( & , ' 2 , - ' & (

" # $ $ % ) ' & ) * � 3 4 5 ' - . , ' 2 , - & ' 6

" # $ $ % ' & ' ( � � 7 � � 3 ! & ( ( , ' 2 , - & ' 6

" # $ $ % 6 ' - ' 8 9 7 � � ! ' ( ' , ' ' , - & ' &

� : ; $ < 6 ' - ' 8 9 7 � � ! ' ( ' , 2 / , - . ' &

� : ; $ < ( ' ' & * � + � ! & ( ( , 2 ' , - ' & (

� : ; $ < ) ' & ) * � 3 4 5 ' - ' , ' ' , - & ' &

Page 50: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ %

Passagem à segunda forma normal 2FN

segunda forma normal (2FN)=

uma tabela encontra-se na segunda forma normal, quando, além de estar na 1FN, não contém

dependências parciais

Page 51: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ �

Dependência parcial

dependência parcial=

uma dependência (funcional) parcial ocorre quando uma coluna depende apenas de parte

de uma chave primária composta

Page 52: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ �

Dependências parciais

� � � � � � � � � � � � ��

� � � ��

� � � �

� ��

� � ��

� � � � � � ��

� � � � � �

1FN

Page 53: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ �

Dependências não parciais

� � � � � � � � � � � � ��

� � � ��

� � � �

� ��

� � ��

� � � � � � ��

� � � � � �

1FN

Page 54: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ �

Passagem à 2FN• Tabela 1FN e que possui apenas uma coluna como chave primária

� � � � � � � � � � � � � � � � � � � � � � �• É impossível uma coluna depender de uma parte da chave primária, quando a chave primária não é composta por partes

• Conclusão

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � �

Page 55: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ $

% & ' ( ) * ' +,

- . / ',

0 1 2 3 * 4

% & ' ( ) * ' +,

& ' ( 5 6 /,

7 ' 6 1,

& 8 9,

: 8 ;,

0 8 9 8 < = .,

- 1 6 / > ; 4

Passagem à 2FNTabela com uma coluna na chave

1FN

? @ A B C D A EF

G H I AF

J K L M D N

2FN

Page 56: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Passagem à 2FN• Também

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � �

�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Page 57: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Passagem à 2FN

� � � � � � � � � � � � ��

� � � ��

� � � �

� ��

� � ��

� � � � � � ��

� � � � � �

� � � � � � � � � ! " " � # $ % � & � ' # ( ) ' # � $ ! ( & ) ' # � " $ ! � � * � "

� ! " " � # $ ! � � * � " * + ! $ % � & � , � & � " � ' � - � ( # * � , �

. � ' / � * 0 � � 1 � 2 � '3

� ' � $ � , � $ ! � � * � * + ! $ % � & � 4

5 � $ ! � � * � , � � * , � , � 0 ! , � � $ % � & � ! � " 6 , � � ' 0 � 7 8

! �5 � ' � # , � * 0 # 1 # $ � ' � ( & � � ! ' , � $ ! � � * � * � $ � " " # 0 � , � 0 ! , �

$ % � & � ! � " 6 , � � ' 0 � , � � � 7 8

1FN

Page 58: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Passagem à 2FN

� � � � � � � � � � � � ��

� � � ��

� � � �

� ��

� � ��

� � � � � � ��

� � � � � �

� � � � � � � � � � � � ��

� � � ��

� � � � � � ��

� � � � � �

� � � � � � � ��

� � � �

� ��

� � � �

1FN

2FN

Page 59: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Tabelas na 2FN� � � � �� � � � � � � � � � � �

� � � � � � � � � � � � � � � ��

� � � � � � � � � � � � � ! �

" # � $ % � � ! � � � & ' � � � � � � � � � � ( )

� � � � * + , �� � � � � - � . * + , / 0 1 0 2 3 4 5 6 + , 7 8

� � � � � � 9 : ; < : = : : = > : 9 ;

� � � � � � ? : ; @ 9 = : A = > : 9 ;

� � � � � � < : 9 < ? = : A = > 9 : B

� � � � � � : 9 : ; ; = : A = > 9 : B

� � � � � � B : > : : = : : = > 9 : 9

" # � $ B : > : : = A @ = > ? : 9

" # � $ ; : : 9 ; = A : = > : 9 ;

" # � $ < : 9 < : = : : = > 9 : 9

Page 60: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ %

Tabelas na 2FN

& ' ( )* + , & ' ( - + ' . * / 0 1 / 2

3 4 5 6 7 + 8 + 9 4 5

: 4 5 ; 1 < 2 = > + 9 3 5

4 3 4 5 * / ? 2 + @ 9 3 5

A 4 B 4 C D ? > + 9 4 5

5 4 4 3 7 + 8 + 9 3 5

6 4 3 6 7 + @ E F 4 B

Page 61: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Terceira forma normal (3FN)• Trata de um outro tipo de redundância• Exemplo

• Considerar

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �

• Salário que é pago a uma categoria funcional é armazenado tantas vezes quantos empregados possui a categoria funcional

Emp ( CodEmp, Nome, Cat, Sal )

Page 62: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Terceira forma normal (3FN)

� � � �� � � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � ! � � � � � �

� � � � ! � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

Page 63: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Dependência transitiva

Emp ( CodEmp, Nome, Cat, Sal )

Dependência funcional transitiva (indireta)

Page 64: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ %

Terceira forma normal3FN

terceira forma normal (3FN)=

uma tabela encontra-se na terceira forma normal, quando, além de estar na 2FN, não

contém dependências transitivas

Page 65: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ �

Normalização do exemplo

� � �

� � � � � � � � � ��

� � ��

� � � � � �

� � � � � � � � � � � � ��

� � � ��

� � � � � � �

� � � � � � �

� � � � � � � ��

� � � ��

� � �

� � � � ��

� � � �

Page 66: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ $

Normalização do exemplo

� �� � � � � � � � � � � �

� � �

� � � �

� � � � � � �

� � � �

� � �

� � �

� � � � � �

� � � � � � �

� � �

� � � � � � � � � � � �

� � �

� � � � �

� � � � � � � � � � � � � � �

� � � � � �

� � � �

� � �

� � �

� � � � � �

� � � � � �

� � �

� � � � � � � � � � � �

� � �

� � � � �

� � � � � � � � � � � � � � �

� � � � � �

� � � � � �

� � � � � �

� � � � � � � � � �

� � � �

� � �

� � � �

� � �

� � � � � � � � � � � �

� � �

� � � � �

� � � � � � � � � � � � � � �

� � � � � �

� � � � � �

� � � � � �

� � � � � � � � � �

� � � �

� � � �

� � � � � � �

� � � �

Page 67: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ �

Tabelas na 3FN� � � � �� � � � � � � � � � � �

� � � � � � � � � � � � � � � ��

� � � � � � � � � � � � � ! �

" # � $ % � � ! � � � & ' � � � � � � � � � � ( )

� � � � * + , �� � � � � - � . * + , / 0 1 0 2 3 4 5 6 + , 7 8

� � � � � � 9 : ; < : = : : = > : 9 ;

� � � � � � ? : ; @ 9 = : A = > : 9 ;

� � � � � � < : 9 < ? = : A = > 9 : B

� � � � � � : 9 : ; ; = : A = > 9 : B

� � � � � � B : > : : = : : = > 9 : 9

" # � $ B : > : : = A @ = > ? : 9

" # � $ ; : : 9 ; = A : = > : 9 ;

" # � $ < : 9 < : = : : = > 9 : 9

Page 68: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ �

Tabelas na 3FN

� � � �� � � � � � � � � � �

� � � � � � � �

� � � � � � � � � � �

� � � � � � � �

� � � � � � � �

� � ! � � � �

� � ! � � � �

� � � � � � � �

� � � � � � � �

" # $ %

" # $ & # '

( ) *

( + *

, ) -

Page 69: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ %

Passagem à 4FN• Maioria dos documentos e arquivos

& ' ( ) * + , - + . / 0 1 + ' 2 3 ' 4 5 6 3 . 7 8 / * / ) 9 2 )

• Na literatura aparecem outras formas normais

&8 + : , ' 9 + : , ' ; ( ) < + = * ) > ? + ( (

& ' @ 5 6

& ' A 5 6

Page 70: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Exemplo para 4FNModelo original

� � � � � �� �

� � � � � � � � � �� � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � �

� �

� � � � � �� �

Page 71: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Exemplo para 4FNRequisitos alterados

� � � � � �

� � �

� � �

� �

� � � � � � � � � � � � � � � �

� � � � � � � �

� � � � � �

� � �

� � � � � �� � �

� � �

� � �

Page 72: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Tabela Utilizaçãocom requisitos alterados

� � � � � � � � � � � � � � � � � �

� �

� �

� � �

� � �

� �

� �

� � �

� � �

� � �

� � �

� � �

� � � � � � � � �

� � � � � � � � � � � � � ! � � " # � � $ � ! %

! % # � % & � � % ' ( � � � % � " � ! % )

� � � � � � � � � � � � � ! �

� * � � # � " � � � % � � � ! % � % # � % & � � %

' ( � � � % � " � ! % )

Page 73: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ %

Dependências multivaloradas

• CodProj→→ CodEmp• CodProj→→ CodEquip

CodProj CodEmp CodEquip

1 1 11 2 11 3 11 1 21 2 21 3 22 2 2

Page 74: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ �

4FNdefinição

quarta forma normal (4FN)=

uma tabela encontra-se na quarta forma normal, quando, além de estar na 3FN, não contém mais de uma dependência

multi-valorada

Page 75: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ �

4FN

ProjEmp (CodProj,CodEmp)ProjEquip (CodProj,CodEquip)

Page 76: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ �

Problemas da normalização• Chaves primárias omitidas ou incorretas• Atributos relevantes implicitamente representados

• Atributos irrelevantes, redundantes ou derivados

Page 77: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ $

Chaves primárias omitidas ou incorretas

• Arquivos convencionais

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � �

• Quando um arquivo convencional não possui chave primária ou quando a chave primária nele usada difere da usual na organização

� � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � �

� � � � � �� � � � � � �� � � � � � �

Page 78: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ �

Chaves primárias omitidas ou incorretas exemplo

• Arquivo com dados sobre empregados de uma organização enviado para fins de fiscalização a um órgão governamental

• Identificador de empregado usado na organização é omitido, já que este é irrelevante para o órgão fiscalizador

Page 79: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

$ �

Chaves primáriasomitidas ou incorretas - exemplo

• Outra situação

� � � � � � � � � � � � � � � � � �

� � � � � � � � �

� � � � � � � � � � � � � � � � �

• No caso mencionado acima

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � ��

� � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � ��

Page 80: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

� �

Atributos relevantesimplicitamente representados

• Arquivos convencionais podem conter atributos de forma implícita

� � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � ��

� � �

• Deve-se proceder como se o atributo aparecesse explicitamente no documento

Page 81: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

� �

Atributo implícitoOrdenação

• Exemplo:

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � � � ��

� � � � � � � � � � � � � � � � � � � � � ��

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � �

�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

Page 82: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � ��

� � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� ��

� ��

� � � � � � � ! ! � � ���

�� � �� � � � � �

" # # #

� �

Atributo implícitoOrdenação

� ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � �

� � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � ! � " � � # $ % & ' $ ( ) � � � * % + $ � # ,

Page 83: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ %

Atributo implícitoOrdenação

• Informação da classificação dos candidatos em um curso foi perdida no processo de normalização

• Procedimento correto

& ' ( ) * + ' , - . / * ' ) ' 0 1 2 - ( 0 - ( 1 0 1 3 - * 1 4 5 6 ( 1 7 8 , 2 1 9 : 4 1

' ( 7 8 , 2 1 ; < 8 = + - 1 / 1 , - ) - ' 2 / * ' ) ' 0 1 2 - ( 0 - ( 8 1 , = + ' > 8 ( 1

7 8 , 2 1 ? 1 8 , ? - ( 1 ; < 8 ? 8 @ , - A ' @ 0 , 8 @ B ) 8 * + ( 1 C , ? - 2 D

E 1 ( ? F

G HIJ K L M N O P Q P N R S T U M S P L M V J T S W X S Y Z L M V J T S W X V Y Z J S L [ N \ N T L M V J T S WU M S P L M N O P W X S Y Z L M N O P W ] J P Z Y L M N O P

Page 84: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Atributosirrelevantes, redundantes ou derivados• Devem ser eliminados já quando da passagem a forma não normalizada

Page 85: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ �

Integração de modelos

# � ! � % �

� � % $ � & � " $ % �

� � * � # $ ! �

$ � � * & � � � ! � � * # � " + � �

� � � � � � � �

# � ! � % �

� � % $ � & � " $ % �

� � * � # $ ! �

$ � � * & � � � ! � � * # � " + � �

� � � � � � � �

...

� � � � � � � � � � � � � � � � � � � � � � � � �

� � � � ! " # $ %

Page 86: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ %

Integração de modelos• Normalização de cada um dos arquivos/documentos

& ' ( ) * + , - * . / 0 ) 0 1 2 ( * . + 3 ' ( ) 4 + ) 5 ( * . 5 6 7 . 8 6 9

• Passo seguinte

& 0 ) 5 . : ; 6 ; ( 9 3 ( * . 8 ( 9 ( 7 5 0 * ( 9 < 6 ; 6 ' 6 * 6 6 ; = + 0 > ( ) (

3 ( * . 8 ( : 8 ( 7 6 8 * ( 7 6 ) ' ( * . * 6 * ( 9

• Processo é conhecido por

& ? @ A B C D E F G H I B J ? K L B K

& ? @ A B C D E F G H I B B K M N B O E K

Page 87: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Integração de modelosobjetivos

• Os atributos de uma mesma entidade (ou de um mesmo relacionamento) podem estar armazenados em diferentes arquivos

& 4 + ) 5 6 ; 6 9 5 6 7 . 8 6 9 . 3 + 3 6 � ) 0 ' 6 5 6 7 . 8 6 = + .

; . < ; . 9 . ) 5 6 6 . ) 5 0 * 6 * . ( + ; . 8 6 ' 0 ( ) 6 3 . ) 5 ( . 3

= + . 9 5 2 (

• Tabelas de um modelo livres de redundâncias• Tabelas de diferentes modelos podem ter redundâncias entre si

& 0 ) 5 . : ; 6 1 2 ( . 8 0 3 0 ) 6 . 9 5 6 9 ; . * + ) * � ) ' 0 6 9

Page 88: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ $

Integração de modelospassos

(1) integração de tabelas com a mesma chave(2) integração de tabelas com chave contida(3) verificação de 3FN

Page 89: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Integração de tabelascom mesma chave

• Junção de tabelas que possuem a mesma chave primária.

• “mesma” chave primária =

& I H O � @ ? H K . � H @ A B � I H K * 6 9 ' ( 8 + ) 6 9 = + . ' ( 3 < � . 3

6 ' � 6 > . < ; 0 3 � ; 0 6 9 2 ( 0 : + 6 0 9

Page 90: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� �

Integração de tabelascom mesma chave - exemplo

� � � � � � � � �

� � � � � � � � ��

� � � �

� � � � � �

� � � � � � � � � � � ��

� � � � ��

� � � � � ��

� � � � ! " �

� � � � � � � � ��

# � ��

� � � �

� � � � � � ��

$ � " �

� � � � � � � � � %

� � � � � � � � ��

� � � � � � � � �

� � � � ��

� � � � � � �

� � � � � � � � � � � �

# � � � � � � �

� � � � & ' � � � � � � � � � � � ��

� � � & ' � � � ��

� � � � � � �

� � � � � � � � � � � ��

� � � � ��

( ' ) * � � � � � � �

� & ' � � � � � � � � � � & ' � � � ��

� � � � � � ) * �

Page 91: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ %

Integração de tabelascom mesma chave - exemplo

& ' ( ) * ' + , - ) . / 0 ( ' 1

2 3 4 5 6 7 4 8 2 3 4 59

: ; < 49

= > ? @ 39

= A B A C D ; @ ; 49

7 4 8 = > < B 4 E

2 3 4 5 F G < 6 7 4 8 2 3 4 59

7 4 8 F G <9

= A B A C D ;9

: > G < H I9

J K D L M 4 F G < 2 3 4 5 E

F G < 6 7 4 8 F G <9

N 4 G >9

7 A B E

7 A B 6 7 A B9

O A I E

= > < B 4 6 7 4 8 = > < B 49

N 4 G > = > < B 4 E

2 3 4 5 F P K ; < A G > D B 4 6 7 4 8 2 3 4 59

7 4 8 F P K ; < A G9

= A B A C D ; E

F P K ; < A G > D B 4 6 7 4 8 F P K ; < A G9

= > ? @ 3 ; L M 4 E

Page 92: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Integração de modelosproblemas

• Processo baseia-se na comparação dos nomesde colunas e de tabelas dentro dos diferentes modelos

• Problema :conflitos de nomes

� � � � � � � � �

� � � � � � � �

Page 93: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Integração de tabelascom chaves contidas

• Tabelas são fundidas

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � �

• Chave primária está contida dentro da outra

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � �

Page 94: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ %

Integração de tabelascom chaves contidas

• Exemplo

& � � ' � � � ( ) � *& �

+

) � *' � � � ,

& � � ' � � � - � � ( ) � *& �

+

) � *' � � �

+

- � � *' � � � *) � � � � � �

+

. � � *' � � � ,

• Primeira tabela

�� / � � � 0 � � � � � � � � � � � � � � � � � � � � � � � �

+

• Segunda tabela

�� / � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � �

Page 95: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Integração de tabelascom chaves contidas

& � � ' � � � ( ) � *& �

+

) � *' � � � ,

& � � ' � � � - � � ( ) � *& �

+

) � *' � � �

+

- � � *' � � � *) � � � � � �

+

. � � *' � � � ,

• Colunas Cod-Al e Cod-Disc da tabela AlunoDisc

� � � � � � � � � � 0 � � � � � � � � � ) � *& � � ) � *' � � �

� � � � � � � � & � � ' � � � - � �• Informações contidas na tabela AlunoDisc já estão na tabela AlunoDiscSem

• Tabela AlunoDisc é redundante e pode ser eliminada sem perda de informações

Page 96: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Integração de tabelascom chaves contidas

• Não integrar quando tabela contém dados além da chave primária

& � � - � � ( ) � *& �

+

- � � *' � � �

+

� � � � - � � . � ,

& � � ' � � � - � � ( ) � *& �

+

) � *' � � �

+

- � � *' � � �

+

. � � *' � � � ,

Page 97: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Integração de tabelascom chaves contidas

• Garantir que primeira tabela efetivamente contida na segunda

• Exemplo

& � � � � � � � � ( ) � *& �

+

- � � *' � � � ,

& � � ' � � � - � � ( ) � *& �

+

) � *' � � �

+

- � � *' � � �

+

. � � *' � � � ,

Page 98: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ �

Integração de tabelascom chaves contidas

AlunoMatric (Cod-Al,Sem-Disc)AlunoDiscSem (Cod-Al, Cod-Disc,Sem-Disc, Nota-Disc)• AlunoMatric

� � � � � � � � � � / � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � �

• AlunoDiscSem

� � � � � � � � � � � � � 0 � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

• Durante o semestre letivo

� � � � � � � � � � � � � � � � � � � � � �

Page 99: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

$ $

Volta à 2FN• A integração de dois modelos 4FN pode conduzir a um modelo que está na 2FN mas não na 3FN.

• Exemplo

� � � � � � � � �

' � � � � � � � � � ( ) � ' � � � +

. � � ' � � � +

) � � � � � � ' � � � ,

� � � � � � � �

' � � � � � � � � � ( ) � ' � � � +

� � � � ' � � � +

. � � � � � � � ' � � � ,

Page 100: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� � �

Volta à 2FN• Integração destes dois modelos resultaria no modelo integrado abaixo mostrado.

• Modelo integrado:

' � � � � � � � � � ( ) � ' � � � +

. � � ' � � � +

) � � � � � � ' � � � +

� � � � ' � � � +

. � � � � � � � ' � � � ,

• Não está na 3FN

Page 101: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� � �

Construção do modelo ER e Eliminação de Redundâncias

• Integração dos modelos obtidos a partir dos diversos arquivos e documentos normalizados, segue a construção do modelo ER (ver ). Nesta construção usam-se as regras apresentadas no capítulo anterior para transformação de modelos relacionais em modelos ER.

Page 102: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� � �

Verificação do modelo ERLimitações da Normalização

• O processo de normalização não conduz necessariamente a um modelo ER perfeito

• Normalização apenas elimina

� � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � / � � � �

� � � � � � � � � � � � � �

Page 103: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� � �

Verificação do modelo ERLimitações da Normalização

• Optamos pela alternativa de decompor tabelas na passagem à 1FN

� � � � � � � � � � �+

� � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � �+

� � � � � � � � � � � � � � / � � � � � � � � � �

• Há outras formas normais (Boyce/Codd e a quinta forma normal)

Page 104: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� � %

Construção do modelo ER• Último passo da engenharia reversa

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � / � � � � � � � � � � � � � � � � +

� � � � � � �

� � � � � � � � � � � � / � � � � � � � � � � � � � � � � � � �

Page 105: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� � �

Exercício 6.1• Mostrar a 2FN e 3FN do modelo abaixo (vendas)

� � � � � � � � � � � � � � �

� � � � � � � � � � � � � ��

� � � � � � � � ��

� � � � � � � � � � � � ��

� � � � � � � � ��

� � � � � ��

� � � � � ��

� � � � � � � ��

� � � � � � � � ��

� � � � � ��

� � � � � � � � � � � � � � � � � �

Page 106: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� � �

Exercício 6.1dependências parciais

• Dependências funcionais parciais

� � � � � � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � �

� � � � � � � � � � � �

� � � � � � � � � � � �

� � � � � � � � � � �

Page 107: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # #

� � �

Exercício 6.12FN

� �

� � � � � � � � � � � � � � ��

� � � � � � � � � � � � ��

� � � � � � � ��

� � � � � � � � � � � � � � � � �

� � � � � ��

� � � � � ��

� � � � � � � ��

� � � � � � � ��

� � � � � � ��

� � � � � � � � � � � � � � �

! �� � � � � � � � � � � � � � ��

� � � � � � � � � � � � ��

� � � � � � � ��

� � � � � � � ��

� � � � � � � � �

� � � � � � � � � � � � � � � � � � ��

� � � � � � � ��

� � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � ��

� � � � � � � � � � � � � � �

� � � � � � � � � � ��

� � � � � � �

� � � � � ��

� � � � � ��

� � � � � � � �

Page 108: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ % &

Exercício 6.1dependências transitivas

• 2FN contém uma dependência transitiva• Na tabela Venda

' ( ) * + , - . ( + / * + ,

0 1 23 4 5 6 7 5 8 9 : ; < = 6 5 > ? < @

AB ? 9 C D ? E C F ? G > ? 9

A< H 6 5 > ? G > ? 9

AI 4 9 53 4 5 6 AG > 5 J ?3 4 5 6 K

G > ? 9 H 4 ? ; B ? 9 C D ? E C F ? G > ? 9A

< H 6 5 > ? G > ? 9A

L 5 M N > C N : ? G > ? 9 K

E C F ? G > ? 9 ; B ? 9 C D ? E C F ? G > ? 9A

L 5 M N > C N : ? E C F ? G > ? 9 K

7 5 8 9 : ; < = 6 5 > ? < @A

L : 4 : 7 5 8 9 :AB ? 9 O 5 D AB ? 9 P 6 FA< ? 6 5 P 6 F K

Page 109: Engenharia reversa de arquivos e documentos - dca.ufrn.branderson/FTP/dca0120/Aula6.pdf · Engenharia reversa de arquivos e normalização - motivação • Sistemas legados • Raramente

� � � � �� � �� � � � � � � � � � � � � � � � � � � � � � � �� �� � � � �� �� � �� � �� � � � � �� � � � �� �� � � � � � � � � � � ! ! � � �� � �� � �� � � � � � " # # # $ % �

Exercício 6.13FN

� � �� � � � � � � � � � � � � ��

� � � � � � � � � � � � �

� � � � � � � � �

� � � � � � ��

� � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � � � ��

� � � � � � ��

� � � ��

� � ! � ��

� � � ! � � �

" � �� � � � � � � � � � � � � ��

� � � � � � � � � � � � �

� � � � � � � � �

� � � � � � ��

� � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � � � ��

� � � � � � ��

� � � ��

� � ! � � �

! � � � � � � � � � � ! � ��

� � � ! � � �