• Nenhum resultado encontrado

Publicações do PESC Um Modelo de Simulação para Alocação de Arquivos de um Banco de Dados Total

N/A
N/A
Protected

Academic year: 2021

Share "Publicações do PESC Um Modelo de Simulação para Alocação de Arquivos de um Banco de Dados Total"

Copied!
145
0
0

Texto

(1)

'"'trri MODELO DE. ~SI'~~TUZAC;'ÃO '3?am

AZOCXÇ'RO'

DE' ARQ'CTIVOS

'DE UM BANCO DX 'DADO'S TOTAL"

Martin Robert Rudolf Flieser

TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS DE

P~S-GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO RIO DE

JANEIRO COMO PARTE DOS REQUISITOS

NECESSARIOS

PARA A OBTENCÃO

no

GRAU DE FISTRE EM CIÊNCIAS (M. S C . )

.

Aprovada por :

/

Prof. Nelson Maculan Filho (Presidente)

~ r o f .%ão Lizardo R. H. de Araujo

p,

/

Prof. Sergio F1iery

irão

Barroso

RIO DE JANEIR0,R.J.-BRASIL

(2)

WIESER, MARTIN ROBERT RUDOLF

Um Modelo de S i m u l a ç ã o p a r a A l o c a ç ã o de Arquivos de um

Banco de Dados TOTAL. Rio de J a n e i r o , 1977.

V I , P 29,7cm (COPPE/UFRJ

,

M.Sc. , E n g e n h a r i a

de S i s t e m a s , 1 9 77)

.

Tese

-

U n i v e r s i d a d e F e d e r a l do Rio de J a n e i r o . COPPE.

(3)

iii

AGRADE CIMENTOS

E m p r i m e i r o l u g a r a g r a d e ç o s i n c e r a m e n t e a J a c y r a , minha amiga e companheira, c u j o e s t í m u l o f o i c e r t a m e n t e o f a t o r p r i m o r d i a l p a r a que e s t e t r a b a l h o t i v e s s e chegado a bom t e r - mo.

A s e g u i r meus agradecimentos a todos a q u e l e s que de a l

guma forma p a r t i c i p a r a m p a r a que e s t e o b j e t i v o t i v e s s e s i d o a l c a n ç a d o .

Por a b s o l u t a f a l t a de e s p a ç o , limito-me a c i t a r apenas a l g u n s , que não foram, de forma alguma, os Únicos:

-

Marcelo Pardo Brown, Nelson Maculan F i l h o e S e r g i o E .

Girão B a r r o s o , meus o r i e n t a d o r e s

,

p o r s e u v a l i o s o t r a b a l h o de o r i e n t a ç ã o .

-

Suzana Vaisman P i n t o , p o r s u a expontânea e p r e c i o s a c o n t r i b u i ç ã o t é c n i c a .

-

~ a r i ' l i a Gama C a n e t t i e S h e i l a Gomes, p e l a i n c a n s ã v e l a j u d a n a p a r t e de p e s q u i s a b i b l i o g r á f i c a .

-

Marcia B r i t o Magnan, r e s p o n s á v e l p e l o p e r f é i t o a s p e c - t o d a t i l o g r á f i c o do p r e s e n t e t r a b a l h o .

(4)

RES UM0

O p r e s e n t e t r a b a l h o a p r e s e n t a um modelo de s i m u l a ç ã o , d e s

-

t i n a d o a f o r n e c e r p a r â m e t r o s que s i r v a m de e l e m e n t o de d i f e r e n

-

c i a ç ã o e n t r e d i v e r s o s esquemas p r o p o s t o s p a r a a l o c a ç ã o de a r

-

q u i v o s de uma r e d e TOTAL de Banco de Dados.

O s p a r â m e t r o s de d i f e r e n c i a ç ã o v i s a m a q u i l a t a r o d e s l o c a -

mento f l s i c o dos b r a ç o s dos d i v e r s o s volumes de d i s c o , c o n t e n - d o o Banco de Dados. 0 s p a r â m e t r o s s ã o o b t i d o s s i m u l a n d o o f u n c i o n a m e n t o do TOTAL s o b r e o a r q u i v o l o g p o r e l e f o r n e c i d o . P a r a que s e p o s s a o b t e r i d é i a d e d i s t o r ç õ e s l o c a l i z a d a s

,

os p a r â m e t r o s s ã o a b e r t o s p o r t a s k , b u f f e r e v e r s ã o , a r q u i v o e volume.

(5)

ABSTRACT

T h i s work p r e s e n t s a s i m u l a t i o n model, which h a s t h e p u r p o s e of g i v i n g p a r a m e t e r s t h a t w i l l s e r v e a s differentiation e l e m e n t between s e v e r a 1 p r o p o s e d schemes f o r f i l e a l l o c a t i o n s i n a TOTAL d a t a b a s e . The d i f f e r e n t i a t i o n p a r a m e t e r s p r e t e n d e v a l u a t e t h e p h y s i c a l d i s p l a c e m e n t s of t h e arms o f t h e DASD's c o n t a i n i n g t h e d a t a b a s e . They a r e o b t a i n e d by s i m u l a t i o n o f TOTAL'S a c t i o n s o v e r t h e l o g f i l e p r o v i d e d by t h e s o f t w a r e . By means o f haVipg an i d e a o f l o c a l d i s t o r t i o n s , t h e s e p a r a m e t e r s a r e g i v i n by t a s k , b u f f e r v e r s i o n , f i l e and volume.

(6)

V I 1 . V I I I - X I I

.

INTRODUÇÃO O BANCO DE DADOS TOTAL D E F I N I Ç Ã O DE ARQUIVOS O COMANDO 'DATBAS

'

AS FUNÇÕES DO TOTAL O MODELO C R I

TE

RI OS DE ALO CAGA0 L I M I T A Ç Õ E S A T U A I S DO SIMULADOR ANEXOS O PROGRAMA SIMULADOR B I B L I O G R A F I A

(7)

D e f i n i ç ã o de Banco de Dados

Dada a g r a n d e e x p a n s ã o que e x p e r i m e n t a a t u a l m e n t e a computação c o m e r c i a l , f r e q u e n t e m e n t e , e c a d a vez m a i s , e n c o n t r a - s e r e f e - r ê n c i a ao c o n c e i t o de Banco de Dados. Depois de alguma p r o c u - r a , t a l v e z a melhor d e f i n i ç ã o s e j a a que s e s e g u e :

Bunca de Padas

e

uma caReçãa de dadas LnZem&u~anudos, mmaze

-

nadas com um r&ú.mo au sem nedundâncha, vhando uAenden u uma

ou m a qRicaçõeh, de datunu o&Lwcizada.

Dada a forma b a s t a n t e g e r a l d a d e f i n i ç ã o ,

é

f á c i l v e r i f i c a r que e l a a b r a n g e os mais d i v e r s o s t i p o s de a r q u i v o s ( s e j a m e l e - t r ô n i c o s ou não) , com a c e s s o ou b u s c a à i n f o r m a ç ã o p o r meios os mais v a r i a d o s ( m a n u a i s , mecânicos ou e l e t r ô n i c o s ) . P a r a o a l c a n c e do p r e s e n t e t r a b a l h o porém, e s t a r e m o s

s ó

i n t e r e s s a d o s em a r q u i v o s e m a n i p u l a ç ã o de i n f o r m a ç ã o n o â m b i t o e x c l u s i v o do p r o c e s s a m e n t o e l e t r ô n i c o de dados , em e q u i p a - n t o s c o m e r c i a i s de computação. V i s t o i s t o , vamos a n a l i s a r d e t a l h a d a m e n t e o c o n c e i t o v i s t o , p a r a compreendermos e x a t a m e n t e o s e u a l c a n c e . 1 . 2

-

~ n á l i s e da D e f i n i ç ã o de Banco de Dados

Banco de Dada

Q

uma ca1eçÜo de dadas LnXetrheRa~onudad.

. .

.

E n t e n d e - s e que os d a d o s , a s infozrmações

,

ou s e j a , o que v a i e s v

t a r n o Banco de Dados p r o p r i a m e n t e d i t o , deve t e r algum g r a u de r e l a c i o n a m e n t o e n t r e s i , de modo a f o r m a r uma c e r t a u n i d a d e . E e n t ã o surgem n a t u r a l m e n t e , BancÒs de Dados de M a t e r i a l , de P e s s o a l , de C o n t a b i l i d a d e , de F a t u r a m e n t o , e t c .

(8)

. .

.

unmazenadon com um L ~ m o ou nem kedwldâncha,

. . . .

Um dos m a i o r e s problemas que surgem em s i s t e m a s de médio ou

grande p o r t e é o d a r e d u n d â n c i a , ou s e j a , a r e p e t i ç ã o da i n -

formação em d o i s ou mais a r q u i v o s do s i s t e m a . Certamente n e -

nhuma s i s t e m á t i c a de armazenamento de dados s e r á de u t i l i d a d e s e a r e d u n d â n c i a n ã o f o r r e d u z i d a a um mínimo, ou s i m p l e s m e n t e e l i m i n a d a .

Certamente um Banco de Dados deve p e r m i t i r o uso de s u a s i n f o r -

mações p o r mais de um programa s i m u l t a n e a m e n t e . Ou s e j a , a s s o l i c i t a ç õ e s de d i v e r s o s s e r v i ç o s c o n c o r r e n t e s s ã o a t e n d i d a s sem que um tome conhecimento do o u t r o . E v i d e n t e m e n t e

6

n o r m a l s e e s t a b e l e c e r algum t i p o de r e s g u a r d o , de modo que um s e r v i ç o n ã o s e j a p r e j u d i c a d o p o r o u t r o ou o p r e j u d i q u e . Mas e s s a s e g u r a n ç a deve s e r e s t a b e l e c i d a f o r a do Banco de Dados, como um complemento ao mesmo.

Em p r o c e s s a m e n t o e l e t r ô n i c o de dados e s t ã o c o n s a g r a d o s t r ê s t i -

pos de o r g a n i z a ç ã o de a r q u i v o s : s e q u e n c i a l , i n d e x a d o - s e q u e n c i a l e a c e s s o d i r e t o .

Dos t r ê s , e s t e Último t i p o é o mais complexo e que r e q u e r mão- d e - o b r a de programação mais r e q u i n t a d a , s e n d o porém, em c o n t r a

-

p a r t i d a , o mais e f i c i e n t e .

T0do.s os Bancos de Dados, em pr:ocessamento e l e t r ô n i c o de dados, dispõem de s i s t e m á t i c a s p a d r o n i z a d a s v i s a n d o a u t i l i z a ç ã o d e s -

(9)

I 1

-

BANCO DE DADOS

1 1 . 2

-

~ a r a c t e r í s t i c a s G e r a i s de um Banco de Dados

-

O s dados devem i n d e p e n d e r dos programas que os acessam.

-

A manipulação da informação deve p e r m i t i r t o d o t i p o de ope-

r a ç õ e s , ou s e j a , a d i ç ã o , m o d i f i c a ç ã o e d e l e ç ã o .

-

O a c e s s o f i s i c o à s informações não

é

f e i t o d i r e t a m e n t e p o r cada programa, e s i m a t r a v é s de uma s i s t e m á t i c a p a d r o n i z a d a e Única, comum a t o d o s e l e s . E s t a s i s t e m á t i c a c o n h e c i d a como S i s t e m a de A d m i n i s t r a ç ã o do Banco de Dados (SABD)

.

-

E s t r u t u r a l m e n t e podemos e n c o n t r a r d o i s t i p o s de Bancos

Dados :

.

de e s t r u t u r a h i e r á r q u i c a

.

e s t r u t u r a em r e d e

-

Num Banco de Dados com e s t r u t u r a h i e r á r q u i c a , cada a r q u i v o

6

a s s o c i a d o a um n í v e l l ó g i c o em r e l a ç ã o aos o u t r o s a r q u i v o s . Nesse t i p o de e s t r u t u r a , o r e l a c i o n a m e n t o e n t r e r e g i s t r o s de d i f e r e n t e s a r q u i v o s s e f a z a t r a v é s de a r q u i v o s a u x i l i a r e s , de d o i s t i p o s :

.

a r q u i v o s de r e f e r ê n c i a c r u z a d a

.

a r q u i v o s de v í n c u l o s Conforme o n h e r o de a r q u i v o s de i n f o r m a ç õ e s c r e s ç a e os i n t e r

-

r e l a c i o n a m e n t o s e n t r e e l e s venham a f i c a r mais complexos, a s n e c e s s i d a d e s de a r q u i v o s a u x i l i a r e s tendem a c r e s c e r exponenci a l m e n t e .

-

Um Banco de Dados com e s t r u t u r a em r e d e tem p o r p r e m i s s a b ã -

s i c a o f a t o de que somente quando um a r q u i v o tem um r e l a c i o - namento l ó g i c o com o u t r o

é

que s e e s t a b e l e c e um v í n c u l o en -

t r e e l e s . Não h á n e c e s s i d a d e de a r q u i v o s a u x i l i a r e s como no c a s o de e s t r u t u r a h i e r á r q u i c a , sendo e l i m i n a d o s os i n c o n v e n i

-

e n t e s d e s t e s .

(10)

- 4 -

1 1 . 2

-

O b j e t i v o s de um S i s t e m a de A d m i n i s t r a q ã o de Banco de Da-

dos

O s i s t e m a deve p e r m i t i r um a c e s s o s i m p l e s e p a d r o n i z a d o a o s d a d o s .

A s e g u r a n ç a e a i n t e g r i d a d e dos dados no Banco de Dados devem s e r a b s o l u t a s .

Deve p e r m i t i r a e x p a n s ã o do Banco de Dados, sem d e s t r u i r O

c o n t e ú d o a t u a l dos a r q u i v o s .

Deve u t i l i z a r c r i t e r i o s a m e n t e os r e c u r s o s do s i s t e m a , p r i n c i - p a l m e n t e memória e tempo de CPU.

C o n c l u i n d o , e x i s t e m n o mercado inúmeros S i s t e m a s de A d m i n i s t r a - ç ã o de Banco de Dados, a l g u n s e x i g i n d o uma e s t r u t u r a h i e r á r q u i - c a de a r q u i v o s , e a m a i o r i a t r a b a l h a n d o com uma e s t r u t u r a em r e

-

d e .

.Na T E L E R J

é

usado como S i s t e m a de A d m i n i s t r a ç ã o um " s o f t w a r e " c o n h e c i d o como TOTAL, d e s e n v o l v i d o p e l a Cincom Systems

,

I n c

.

,

EUA.

O modelo d e s e n v o l v i d o n o p r e s e n t e t r a b a l h o s i m u l a os Bancos de Dados TOTAL e x i s t e n t e s n a Empresa, v i s a n d o o b t e r p a r â m e t r o s p g r a uma p o l i t i c a de a l o c a ç ã o de a r q u i v o s n o s d i v e r s o s volumes de d i s c o s m a g n é t i c o s

.

I11

-

TOTAL

TOTAL

6

um S i s t e m a de A d m i n i s t r a ç ã o de Banco de Dados, t r a b a

-

l h a n d o com o s a r q u i v o s numa e s t r u t u r a em r e d e .

C

TOTAL n ã o p o s s u i uma linguagem de programação c o m p l e t a , e l e e um hóspede n a linguagem do programa do programa de a p l i c a ç ã o . E x p l i c a n d o : e s t e Último

é

e s c r i t o em uma linguagem h o s p e d e i r a q u a l q u e r ( P L / I , COBOL, ASSEMBLER) e quando h á n e c e s s i d a d e de a c e s s o a o s dados dos a r q u i v o s do Banco de Dados, o TOTAL

6

i n v o

-

(11)

cado a t r a v é s de um comando do t i p o :

CALL DATBAS ( c o l e ç ã o de parâme t r o s ) ;

(com v a r i a n t e s de s i n t a x e do comando d e c o r r e n t e s u n i c a m e n t e da linguagem h o s p e d e i r a ) e , e x e c u t a a f u n ç ã o d e s e j a d a .

E

p o r t a n t o o programa de a p l i c a ç ã o quem a t i v a o TOTAL, e e s t e e n t ã o e x e c u t a i n c l u s õ e s , e x c l u s õ e s ou m o d i f i c a ç õ e s de i n f o r m a - ç õ e s armazenadas no Banco de Dados.

111.1

-

Arquivos de uma Rede TOTAL

O TOTAL e n q u a d r a os a r q u i v o s p e r t e n c e n t e s a r e d e um Banco Dados em um dos d o i s t i p o s a b a i x o :

-

a r q u i v o s m e s t r e

-

a r q u i v o s v a r i á v e l No l i n g u a j a r h a b i t u a l os d o i s t i p o s s ã o chamados de m e s t r e v a r i á v e l , s i m p l e s m e n t e . E

6

d e s s a forma s i m p l i f i c a d a que r ã o r e f e r i d o s no p r e s e n t e t r a b a l h o . 1 1 1 . 2

-

C a r a c t e r í s t i c a s de Mestre e C o n c e i t o de Chave M e s t r e s s ã o a r q u i v o s n o s q u a i s os r e g i s t r o s s ã o r e c u p e r a d o s p o r a c e s s o d i r e t o . A s s i m s e n d o , a s s o c i a d o a c a d a m e s t r e , em

c a d a r e g i s t r o e x i s t e um campo de tamanho d e f i n i d o , tamanho e s -

s e c o n s t a n t e e p a d r o n i z a d o p a r a t o d o o m e s t r e , chamado de c h a

-

v e . E x i s t i r ã o t a n t o s r e g i s t r o s com i n f o r m a ç õ e s no m e s t r e quan

-

t a s forem a s c h a v e s d i s t i n t a s i n t r o d u z i d a s no a r q u i v o . A p a r - t i r do conteúdo da c h a v e , o TOTAL obtém, p o r um p r o c e s s o i n t e r

-

n o t r a n s p a r e n t e a o u s u á r i o , um e n d e r e ç o que s e r á o do r e g i s t r o c o r r e s p o n d e n t e . O p r o c e s s o c o n s i s t e em r a n d o m i z a r a c h a v e , o u s e j a , o b t e r a t r a v é s de um a l g o r i t m o de h a s h i n g ( 1 ) , um número a l e a t ó r i o , p o s t e r i o r m e n t e a j u s t a d o ao tamanho do a r q u i v o e u s a -

(12)

e n d e r e ç o r e l a t i v o da noção de ordem: s e o r e s u l t a d o da randomL z a ç ã o da chave n o s f o r n e c e r o v a l o r 8 3 p o r exemplo, o r e g i s t r o c o r r e s p o n d e n t e o c u p a r á a 8 3 a . p o s i ç ã o c o n t a d a a p a r t i r do i n í - c i o f í s i c o do a r q u i v o .

O a c e s s o d i r e t o tem p o i s a vantagem de p e r m i t i r que c a d a r e g i s

-

t r o do m e s t r e , desde que s e conheça s u a c h a v e , p o s s a s e r a c e s - s a d o i n d e p e n d e n t e e d i r e t a m e n t e .

P e l o e x p o s t o acima

6

f á c i l v e r i f i c a r q u e , em termos de ocupa

-

ç ã o , O m e s t r e tem " c l a r o s " ( p o s i ç õ e s em b r a n c o ) e n t r e s e u s r e -

g i s t r o s , e e s t e s s e e s p a l h a m p o r t o d a e x t e n s ã o do a r q u i v o .

Conforme o número de r e g i s t r o s f o r c r e s c e n d o ( p o r a d i ç ã o de no

-

vas c h a v e s ) o número e tamanho d e s s e s " c l a r o s "

i r á

d i m i n u i n d o ,

a t é , t e o r i c a m e n t e , d e s a p a r e c e r quando o a r q u i v o e s t i v e r c h e i o . Dizemos " t e o r i c a m e n t e " p o r c a u s a de um fenômeno c o n h e c i d o p o r c o l i s ã o que s e r á e s t u d a d o mais a d i a n t e , e que t o r n a o t r a b a l h o com m e s t r e s m u i t o densamente c a r r e g a d o s e a n t e - e c o n ô m i c o , p o i s o a c e s s o aos r e g i s t r o s s e t o r n a l e n t o e i n e f i c i e n t e .

1 1 1 . 3

-

Campo de v í n c u l o no Mestre

~ l é m

do campo de c h a v e , o b r i g a t Õ r i o como vimos a c i m a , c a d a r e

-

g i s t r o de um m e s t r e t e r á um campo de v í n c u l o p a r a c a d a v a r i a

-

v e l a que e l e ( m e s t r e ) e s t e j a l i g a d o . Se o m e s t r e e x i s t i r i n - d e p e n d e n t e m e n t e , s e u s r e g i s t r o s não t e r ã o nenhum campo de v í n - c u l o .

P a r a entendermos a n e c e s s i d a d e do campo de v í n c u l o no m e s t r e

,

p r e c i s a m o s a p r e s e n t a r p r i m e i r o o c o n c e i t o de c a d e i a de um v a - r i á v e l . P a r a a p o i a r a e x p l a n a ç ã o , vamos i m a g i n a r um exemplo. Suponhamos que s e t e n h a um m e s t r e de um Banco de Dados de Mate r i a l , c o n t e n d o i t e n s de m a t e r i a l , s e u nome p a d r o n i z a d o , s u a d e s c r i ç ã o e s u a u n i d a d e de e s t o q u e . A chave s e r i a o número de e s t o q u e do m a t e r i a l . Imaginemos a g o r a a e x i s t ê n c i a de o u t r o m e s t r e do mesmo Banco, c o n t e n d o i n f o r m a ç õ e s de f o r n e c e d o r e s de i t e n s de m a t e r i a l , como p o r exemplo, a r a z ã o s o c i a l do f o r n e c e

-

(13)

d o r , o e n d e r e ç o e o C G C . A chave a q u i s e r i a uma s i g l a v i n c u l a - d a a cada f o r n e c e d o r , um código de f o r n e c e d o r . E s s e s d o i s m e s t r e s p o d e r i a m e x i s t i r s e p a r a d a m e n t e , mas c e r t a

-

mente s e r i a de g r a n d e i n t e r e s s e s e s e p u d e s s e f a z e r um c r u z a

-

mento d e s s a s i n f o r m a ç õ e s :

-

que f o r n e c e d o r e s e s t ã o c a p a c i t a d o s a f o r n e c e r d e t e r m i - nado i t e m de m a t e r i a l ?

-

que i t e n s de m a t e r i a l um d e t e r m i n a d o f o r n e c e d o r pode f o r n e c e r ? E s s e cruzamento s e r i a f e i t o e x a t a m e n t e p e l a e x i s t ê n c i a de um v a r i á v e l l i g a d o aos d o i s m e s t r e s em q u e s t ã o . E s s e v a r i á v e l t e

-

r i a t a n t o s r e g i s t r o s q u a n t o s fossem os p a r e s i t e m de m a t e r i a l X f o r n e c e d o r e x i s t e n t e s . O c o n c e i t o de c a d e i a a g o r a a p a r e c e c l a r a m e n t e :

Cad&ia de um u d Ú u e L em heRação a dekeminado ma;trte

e

a cole

ção de negXnknon d u n

e.

ucurhÜueL y ue kem como eLemento comum, o

mamo v d o n de chave do negekido m u a e .

A s s i m s e n d o , t o d o s os r e g i s t r o s do v a r i á v e l r e f e r e n c i a n d o o mes - mo t i e m de m a t e r i a l , c o n s t i t u e m uma c a d e i a d a q u e l e i t e m . Como o v a r i á v e l em q u e s t ã o e s t á v i n c u l a d o também ao m e s t r e de f o m e - c e d o r e s , e s t a b e l e c e m - s e c a d e i a s de r e g i s t r o s r e f e r e n t e s , c a d a uma d e l a s , a . um c ó d i g o de f o r n e c e d o r . E e n t ã o podemos d e s v e n d a r a n e c e s s i d a d e de um campo de v í n c u l o n o m e s t r e , p a r a c a d a v a r i á v e l a que e l e e s t e j a l i g a d o . Prende- s e ao p r ó p r i o a c e s s o aos r e g i s t r o s do v a r i á v e l . O v a r i á v e l , d i f e r e n t e m e n t e do m e s t r e , tem o s s e u s r e g i s t r o s g r a

-

vados c o n v e n c i o n a l m e n t e , numa s e q u ê n c i a n o r m a l desde o i n í c i o f í s i c o do a r q u i v o ( a d i ç õ e s de novos r e g i s t r o s num v a r i á v e l , a menos que e x i s t a m "buracos" d e i x a d o s p o r d e l e ç õ e s a n t e r i o r e s , s e fazem a p a r t i r do Último r e g i s t r o g r a v a d o . Ou s e j a , um t r a -

(14)

r e ç o r e l a t i v o do r e g i s t r o num v a r i á v e l n a d a tem a v e r com a cha

-

ve (ou chaves) a que e l e s e r e f e r e . O que s e f a z p a r a recupe

-

r a r e s t a i n f o r m a ç ã o

6

g u a r d a r no m e s t r e , nos r e g i s t r o s de cada c h a v e , no campo de v í n c u l o , os e n d e r e ç o s r e l a t i v o s do i n í c i o e do f i m das c a d e i a s r e f e r e n t e s a cada c h a v e , no v a r i á v e l . Então p a r a s e i n i c i a r a l e i t u r a de q u a l q u e r c a d e i a num dado v a r i á v e l , de p o s s e da chave f a z - s e n e c e s s á r i o p r i m e i r a m e n t e um a c e s s o ao m e s t r e , no r e g i s t r o r e s p e c t i v o , p a r a d e s c o b r i r os e n d e r e ç o s r e - l a t i v o s no v a r i á v e l d e :

-

i n í c i o da c a d e i a , s e a l e i t u r a da mesma deve s e r condu- z i d a do i n i c i o p a r a o fim.

-

f i m da c a d e i a , s e a l e i t u r a deve s e r p r o c e s s a d a de modo r e v e r s o , do fim p a r a o i n i c i o .

F e i t a a l e i t u r a i n i c i a l n a c a d e i a , a s s u b s e q u e n t e s

j á

dispensam o a c e s s o ao m e s t r e (mesmo porque s e r i a i n ú t i l , v i s t o não h a v e r

l á

nenhuma informação a d i c i o n a l a e s s e r e s p e i t o ) : os e n d e r e ç o s

r e l a t i v o s dos r e g i s t r o s s e g u i n t e s da c a d e i a s ã o r e c u p e r a d o s no Último r e g i s t r o l i d o , no campo de v í n c u l o do v a r i á v e l . Mas e s

-

s e procedimento s e r á e x p l i c a d o mais a d i a n t e .

1 1 1 . 4

-

Campo de Raiz no Mestre

Todo r e g i s t r o de m e s t r e tem como p r i m e i r o campo o campo de r a i z (no r e l e a s e a t u a l , 6 . 2 , é o b r i g a t ó r i o o r o o t s e r o p r i m e i r o cam

-

p o , como também o campo de chave deve v i r l o g o a s e g u i r . ~ h c u -

10s e dados

6

que podem e s t a r em q u a l q u e r p o s i ç ã o , r e s p e i t a d a s a s duas p r i m e i r a s ) . P a r a entendermos a n e c e s s i d a d e do campo de r a i z , temos que a n a l i s a r a n t e s os c o n c e i t o s de sinônimos e c o l i s ã o .

Sinônimos s ã o r e g i s t r o s com d i f e r e n t e s chaves q u e , após t e r e m s i d o randomizadas, apontam p a r a o mesmo e n d e r e ç o r e l a t i v o . Co- l i s ã o vem a s e r t e n t a t i v a de g r a v a r d o i s sinônimos ao mesmo en- d e r e ç o r e l a t i v o .

(15)

E s s a s i m p e r f e i ç õ e s d e c o r r e m de d e f i c i ê n c i a s n o a l g o r i t m o g e r a - d o r de e n d e r e ç o s r e l a t i v o s . Quando s e a n a l i s a o mecanismo i n - t e r n o d e s s e s a l g o r i t m o s , t o r n a - s e c l a r o que e x i s t e m duas c a r a c

-

t e r l s t i c a s i m p o r t a n t e s que s ã o a n t a g ô n i c a s : s i m p l i c i d a d e e r a - p i d e z X número de s i n ô n i m o s g e r a d o s . E x p l i c a n d o : g e r a d o r e s s i m p l e s e r á p i d o s ( e consequentemente b a r a t o s e econômicos) tendem a g e r a r um número g r a n d e de s i n ô n i m o s , ao c o n t r á r i o de a l g o r i t m o s mais s o f i s t i c a d o s , mas e n t ã o l e n t o s e c a r o s . E x i s t e m mesmo a l g u n s a l g o r i t m o s p r o p o s t o s que . g e r a m z e r o s i n o - n i m o s , mas s ã o de t a l forma e l a b o r a d o s que s e tornam l e n t o s , consequentemente c a r o s e i n v i á v e i s . O que s e a d o t a n a p r á t i c a

é

uma s o l u ç ã o de compromisso: um a l g o r i t m o b a r a t o ( o u s e j a ,

r á

-

p i d o ) com um número de s i n ô n i m o s p e q u e n o s . Atualmente o a l g o - r i t m o que melhor a t e n d e a e s s a s c a r a c t e r í s t i c a s

é

o da d i v i s ã o

( I ) , s e n d o p o r i s s o o mais u s a d o .

O campo de r a i z s e r v e e x a t a m e n t e p a r a o encadeamento de s i n Ô n i

-

mos. É um campo d e o i t o b y t e s , com duas metades de q u a t r o

b y t e s c a d a . A p r i m e i r a metade i n d i c a o e n d e r e ç o r e l a t i v o do sinônimo a n t e r i o r (na c a d e i a de s i n ô n i m o s ) , a segunda m e t a d e , o do s i n ô n i m o p o s t e r i o r n a c a d e i a . Vamos e n t e n d e r bem como os f a t o s s e passam. Suponhamos que s e e s t e j a a d i c i o n a n d o r e g i s - t r o s a um m e s t r e , e que numa d a s a d i ç õ e s j á s e e n c o n t r e o l u - g a r ocupado p o r o u t r o r e g i s t r o . Supondo que houve uma c o l i s ã o i s t o

é,

que os d o i s r e g i s t r o s s e j a m s i n ô n i m o s (mais a d i a n t e s e -

e x p l i c a d o como pode a c o n t e c e r c o l i s ã o de r e g i s t r o s n ã o s i n o

-

n i m o s ) , o r e g i s t r o j á g r a v a d o permanece no l u g a r (o e n d e r e ç o

r e l a t i v o de um r e g i s t r o de m e s t r e

é

também chamado de home- a d d r e s s ) a o p a s s o que o novo, que s e t e n t o u g r a v a r n e s t e mesmo e n d e r e ç o , s e r á g r a v a d o n o p r i m e i r o l u g a r vago d e n t r o do b l o c o

f í s i c o em q u e s t ã o ( s e i s s o f o r p o s s i ' v e l , v i s a n d o o t i m i z a r o a c e s s o f i ' s i c o ao d i s c o ) ou em um b l o c o anexo. E a s s i m e s t á i n i c i a d a uma c a d e i a de s i n ô n i m o s no m e s t r e . O s campos de r a i z de c a d a r e g i s t r o da c a d e i a fazem o encadeamento dos mesmos,

-

a p o n t a n d o r e s p e c t i v a m e n t e o a n t e r i o r e o p o s t e r i o r .

(16)

É f á c i l v e r i f i c a r que em c a d a c a d e i a de s i n ô n i m o s ,

s ó

o p r i - m e i r o d a c a d e i a e s t á no s e u home-address. O s o u t r o s t o d o s e s -

t a r ã o como " i n t r u s o s " em e n d e r e ç o s r e l a t i v o s que n a d a tem a v e r com o s e u home-address. E s s e f a t o p r o p i c i a e v e n t u a l m e n t e uma c o l i s ã o e n t r e d o i s r e g i s t r o s n ã o s i n ô n i m o s . E s t a o c o r r e quando o home-address de um r e g i s t r o que v a i s e r a d i c i o n a d o e s

-

t á

ocupado p o r um r e g i s t r o de uma c a d e i a de s i n ô n i m o s , (mas

n ã o s i n ô n i m o s do r e g i s t r o que v a i s e r a d i c i o n a d o ) e e s t e Ú l t i -

mo n ã o 6 o p r i m e i r o d a c a d e i a . Quando t a l o c o r r e , o r e g i s t r o " i n t r u s o "

e

d e s l o c a d o p a r a o p r i m e i r o l u g a r vago d i s p o n í v e l , e o dono do home-address ocupa o l u g a r que l h e é d e v i d o . E o TO -

TAL, a u t o m a t i c a m e n t e , f a z a manutenção dos e n d e r e ç o s no campo de r a i z dos r e g i s t r o s d a c a d e i a , v i s t o que um e l e m e n t o da mes- ma f o i d e s l o c a d o .

Toda manutenção do campo de r a i z

é

a u t o m á t i c a , como v i s t o , e t o t a l m e n t e t r a n s p a r e n t e p a r a o u s u á r i o .

A o c o r r ê n c i a de s i n ô n i m o s depende de um p a r â m e t r o , que mede o g r a u de u t i l i z a ç ã o do a r q u i v o , chamado de f a t o r de o c u p a ç ã o ( o u também, f a t o r de c a r g a ) :

número de r e g i s t r o s l ó g i c o s g r a v a d o s

% F.U =

x

100

número de r e g i s t r o s l ó g i c o s t o t a i s p o s s í v e i s

Demonstra-se que p a r a F.U. de a t é 8 O % , o número médio de a c e s

-

s o s p o r chave é e s s e n c i a l m e n t e i g u a l a 1, p a r a um f a t o r de b l o

-

c o >

-

5 . Ver anexo 8 .

1 1 1 . 5

-

C a r a c t e r f s t i c a s de v a r i á v e l

Algumas c a r a c t e r í s t i c a s de v a r i á v e l j á foram v i s t a s no i tem 1 1 1 . 3 , a n t e r i o r m e n t e . Vamos v e r a g o r a algumas c a r a c t e r í s t i c a s a d i c i o n a i s , em e s p e c i a l o c o n c e i t o de v h c u l o n o v a r i á v e l .

Uma d a s p e r g u n t a s mais comuns e mais i m p o r t a n t e s que s e f a z ao c o n c e b e r um Banco de Dados TOTAL

é :

(17)

-

Quando u s a r u m m e s t r e ?

-

Quando u s a r um v a r i á v e l ?

A r e s p o s t a pode s e r e n c o n t r a d a n a d i f e r e n ç a de i m p l i c a ç õ e s quando s e f a z manutenção e s t r u t u r a l num ou n o u t r o t i p o de a y q u i v o .

Vamos e n t e n d e r : manutenção e s t r u t u r a l vem a s e r t o d o t i p o de operação que i m p l i q u e em manutenção de v í n c u l o s (e e v e n t u a l

-

4

mente também de campos de r a i z ) . ~ s t ã o n e s s a c a t e g o r i a os va

-

r i o s t i p o s de a d d ' s e d e l e t e ' s e x i s t e n t e s , t a n t o p a r a m e s t r e como p a r a v a r i á v e l . E m r e l a ç ã o a e s s e t i p o de o p e r a ç ã o , mes- t r e s e v a r i á v e i s d i f e r e m n a medida em que os p r i m e i r o s podem e x i s t i r independentemente ou v i n c u l a d o s aos s e g u n d o s , mas e s -

t e s nunca podem e x i s t i r independentemente. Ou s e j a , s e vamos

e l i m i n a r um r e g i s t r o n o m e s t r e , de d e t e r m i n a d a c h a v e , temos que e x p l i c i t a m e n t e e l i m i n a r p r i m e i r o t o d o s os r e g i s t r o s de va

-

r i á v e i s v i n c u l a d o s d a q u e l a chave. P o r e s s e t i p o de t r a b a l h o a d i c i o n a l com m e s t r e s , vemos que e s t e s devem c o n t e r i n f o r m a

-

ções que n ã o tenham uma grande v o l a t i l i d a d e , r e s e r v a n d o - s e p a -

r a os v a r i á v e i s a s informações de maior m o b i l i d a d e .

1 1 1 . 6

-

Campos de Chave e Vinculo no v a r i á v e l

Todo r e g i s t r o de v a r i á v e l t e r á t a n t o s p a r e s de campos chave

-

v í n c u l o q u a n t o s forem os m e s t r e s a que e l e e s t i v e r r e l a c i o n a - do. No r e l e a s e a t u a l , 6 . 2 , os campos t e r ã o que v i r p a r e a d o s , e n e s s a ordem: c h a v e - v í n c u l o . E a i n d a , d e v e r ã o p r e c e d e r os

campos de dados

.

V i s t o que um v a r i á v e l não pode e x i s t i r independentemente ( s e não s e r i a impossi"ve1 d e s c o b r i r a p o s i ç ã o i n i c i a l e f i n a l da

c a d e i a de d e t e r m i n a d a c h a v e , a não s e r p e l o i n e f i c i e n t e méto- do d a l e i t u r a s e r i a 1 do a r q u i v o ) , p e l o menos um p a r c h a v e - v í n

-

(18)

Vamos i n t e r p r e t a r os campos em q u e s t ã o . O campo chave contém um v a l o r de chave do m e s t r e a que e l e , v a r i á v e l , e s t á v i n c u l a

-

do. O campo de v í n c u l o contém e n d e r e ç o s r e l a t i v o s

(2

seme- l h a n ç a dos campos de r a i z e de v í n c u l o do m e s t r e ) que permi-

L

tem que s e p e r c o r r a a c a d e i a de r e g i s t r o s v i n c u l a d o s a q u e l a c h a v e . também um campo de 8 b y t e s , i n t e r p r e t a d o como duas metades de 4 . A p r i m e i r a tem o e n d e r e ç o r e l a t i v o do a n t e r i o r da c a d e i a , a segunda metade, o do p o s t e r i o r .

O TOTAL guarda e s s e s e n d e r e ç o s n a forma b i n ã r i a , e r e s e r v a pa

-

r a f i m - d e - c a d e i a a c o n f i g u r a ç ã o

"VMVM"

(em h e x a d e c i m a l : " 4 0 4 0 4 0 4 0 ! ' )

.

O caminho p e r c o r r i d o numa c a d e i a , s e g u i n d o os v í n c u l o s do va

-

r i á v e l ,

é

chamado de " l i n k a g e p a t h " . F i c a óbvio que s e um va

-

r i á v e l e s t á p r e s o a d o i s m e s t r e s , e x i s t i r ã o , p a r a c a d a r e g i s - t r o d e s t e v a r i á v e l , d o i s l i n k a g e p a t h ' s p a s s í v e i s de serem p e r c o r r i d o s , dependendo da chave de m e s t r e com a q u a l s e i n i -

c i e a p e s q u i s a .

1 1 1 . 7

-

h á l i s e do Relacionamento ~ e s t r e - v a r i á v e l

-

P a r a c o m p l e t a r a c o n c e i t u a ç ã o de m e s t r e s e v a r i á v e i s , s e u s campos de chave e v í n c u l o , e como s e e s t a b e l e c e o r e l a c i o n a

-

mento e n t r e e l e s , vamos nos r e p o r t a r ao anexo 1 , que exempli- f i c a a s i t u a ç ã o r e t r a t a d a no i t e m 1 1 1 . 3 , envolvendo d o i s mes- t r e s (um de i t e n s de m a t e r i a l , o u t r o de f o r n e c e d o r e s ) e um v a r i á v e l de r e l a c i o n a m e n t o .

Vemos i n i c i a l m e n t e que p a r a os campos de v í n c u l o usada a p a

-

l a v r a " l i n k " , b a s t a n t e comum no t r a t o com Banco de Dados.

~ l é m

d i s s o , p o r e s t a r r e l a c i o n a d o com d o i s m e s t r e s , o v a r i á

-

v e l tem d o i s p a r e s de campos c h a v e - v í n c u l o . Como não entramos

no m é r i t o do encadeamento de sinônimos nos m e s t r e s , foram s u

-

p r i m i d o s

,

p o r comodidade, os campos de r a i z em ambos os a r q u i

-

vos. Também p a r a os m e s t r e s não foram e x p l i c i t a d o s os e n d e r e -

(19)

de l a c u n a s e n t r e e l e s . Deve-se o b s e r v a r somente que a s chaves e s t ã o a p r e s e n t a d a s p o r ordem c r e s c e n t e de e n d e r e ç o r e l a t i v o e ,

consequentemente

,

não obedecem nos m e s t r e s a nehuma ordem numé -

r i c a ou a l f a b é t i c a .

Antes de p r o s s e g u i r , vamos a p r e s e n t a r o c o n c e i t o de RQLOC. Em v e r d a d e , RQLOC

é

a função do TOTAL p e l a q u a l é f o r n e c i d a ao p r ó p r i o uma chave de um m e s t r e e e l e e n t ã o r e t o r n a o e n d e r e ç o r e l a t i v o da mesma. Mas o uso comum f e z c o n f u n d i r a função com o p r ó p r i o e n d e r e ç o r e l a t i v o . E n t ã o , a menos de r e s s a l v a e x p l í -

c i t a , quando f a l a r m o s em RQLOC e s t a r e m o s nos r e f e r i n d o ao ende

-

r e ç o r e l a t i v o p r o p r i a m e n t e d i t o .

O anexo 1 m o s t r a a l g u n s f a t o s i n t e r e s s a n t e s , r e l a t i v o s c a r g a e manutenção de um v a r i á v e l .

Carga de um v a r i á v e l vem a s e r a operação de g r a v a r um a um t o

-

dos os r e g i s t r o s que i n i c i a l m e n t e o , a r q u i v o deve c o n t e r .

Manutenção de um v a r i á v e l vem a s e r a o p e r a ç ã o d e , p e r i o d i c a m m - t e , a l t e r a r s e l e c i o n a d a s informações n e l e c o n t i d a s . E s s a s a 1

-

t e r a ç õ e s , s e forem ao n í v e l de a d i ç õ e s e d e l e ç õ e s , recebem o nome de manutenção e s t r u t u r a l ( c o n c e i t o j á v i s t o no i t e m 111.5) d i f e r e n t e m e n t e de quando forem s i m p l e s g r a v a ç õ e s ( a l t e r a ç ã o de informações em r e g i s t r o s j á e x i s t e n t e s )

.

Normalmente, n a c a r g a de um v a r i á v e l , a s c a d e i a s s ã o g r a v a d a s de modo a formarem um c o n j u n t o conexo ( i s t o

é,

sem "buracos")

,

e m a i s , n a ordem a s c e n d e n t e do RQLOC da chave (supondo e s t a r o v a r i á v e l v i n c u l a d o a um m e s t r e somente)

.

Se f o r um v a r i á v e l l i g a d o a mais de um m e s t r e , como

é

o n o s s o c a s o , temos que e s c o l h e r uma das chaves p a r a s e r a chave de c a r g a , ou s e j a , a chave p e l a q u a l a s c a d e i a s do v a r i á v e l e s t a - r ã o ordenados p o r RQLOC a s c e n d e n t e . I? f & i l v e r i f i c a r que p a r a chave de c a r g a do v a r i á v e l em q u e s t ã o f o i e s c o l h i d a a chave do m e s t r e de i t e n s de m a t e r i a l .

(20)

Ainda em r e l a ç ã o

2

c a r g a de um v a r i á v e l , podemos c l a s s i f i c a r os r e g i s t r o s de uma mesma c a d e i a , segundo um c r i t é r i o q u a l q u e r e c a r r e g a r o a r q u i v o com e s s a c a r a c t e r í s t i c a . No caso de v a r i á

-

v e i s l i g a d o s a d o i s m e s t r e s , normalmente o c r i t é r i o

é

c l a s s i f i - c a r , d e n t r o das c a d e i a s da chave de c a r g a , p o r ordem a s c e n d e n t e da chave não de c a r g a . Podemos v e r i f i c a r que também i s s o f o i adotado no nosso v a r i á v e l .

Resta e n t ã o a n a l i s a r m o s o v a r i á v e l q u a n t o à s modificações do t i -

po manutenção e s t r u t u r a l que tenham o c o - r i d o ( a manutenção não e s t r u t u r a l não s e r á abordada a q u i v i s t o que s ó a f e t a campos de dados do a r q u i v o e e s t e s não s ã o r e l e v a n t e s n e s t a a n á l i s e ) .

Antes d e s s a a p r e c i a ç ã o vamos e s c l a r e c e r o c r i t é r i o que o TOTAL

a d o t a qu-do da a d i ç ã o de r e g i s t r o s em c a d e i a s de v a r i á v e i s de p e l o menos d o i s caminhos de v í n c u l o s .

Se adicionarmos um r e g i s t r o numa c a d e i a de uma determinada cha- ve de c a r g a , a p o s i ç ã o d e s s e r e g i s t r o n a c a d e i a d e s t a chave j g e s t a r á determinada p e l o c r i t é r i o de c l a s s i f i c a ç ã o da chave não

de c a r g a . (Atenção! Esse c o n t r o l e não

é

do TOTAL e sim de quem

e s t á procedendo

5

manutenção:). Agora, em que p o s i ç ã o s e r á co-

1oca.do o r e g i s t r o n a c a d e i a não de c a r g a (ou s e j a , a não c o n t r o

-

l a d a ) ? A: a d e c i s ã o

é

do TOTAL e

é

a s e g u i n t e : n a c a d e i a da chave não c o n t r o l a d a o r e g i s t r o

é

sempre adicionado ao f i n a l da

mesma. Resumindo: sempre que temos a d i ç ã o de r e g i s t r o num v a r i

-

á v e l p r e s o a d o i s (ou mais) m e s t r e s , na c a d e i a da chave de c a r - ga a i n c l u s ã o s e f a r á sob c o n t r o l e do u s u á r i o e n a p o s i ç ã o que l h e c o n v i e r ; j á n a c a d e i a não de c a r g a a a d i ç ã o s e f a r á sempre ao f i n a l da mesma e sob c o n t r o l e do TOTAL.

Devemos n o t a r q u e , a p e s a r de no p a r á g r a f o a n t e r i o r , temos r e f e - r i d o sempre

5

chave de c a r g a como a que e s t á sendo c o n t r o l a d a

p o r e l a que s e e s t á s e g u i n d o as c a d e i a s do v a r i á v e l ) , porque e s t a

é

a s i t u a ç ã o mais comum, nada impede que o c o n t r o l e s e f a - ç a numa chave não de c a r g a , f i c a n d o a de c a r g a (e as e v e n t u a i s o u t r a s não de c a r g a ) submetidas ao c r i t é r i o de " a d i ç õ e s ao fim da c a d e i a " v i s t o .

(21)

I s t o e s c l a r e c i d o , podemos a n a l i s a r a s c a d e i a s que aparentemente s o f r e r a m manutenção e s t r u t u r a l .

.

Chave 501

-

Nada i n d i c a que t e n h a s o f r i d o manutenção.

.

Chave 123

-

I n i c i a l m e n t e devem t e r e x i s t i d o 5 r e g i s t r o s n a c a -

d e i a e , p o s t e r i o r m e n t e um f o i d e l e t a d o (o do ende

-

r e ç o r e l a t i v o 42).

.

Chave 913

-

Ê um caso i n t e r e s s a n t e de manutenção. Supondo

que s e j a verdade a manutenção d e s c r i t a p a r a a cha

-

ve 123, e n t ã o h a v i a i n i c i a l m e n t e s ó um r e g i s t r o n a chave 913

(o e n d e r e ç o 44). P o s t e r i o r m e n t e houve n e c e s s i d a d e de a m e n

-

t a r e s t a c a d e i a , com a i n c l u s ã o do r e g i s t r o com chave não de c a r g a EFG ( a do

j á

e x i s t e n t e , como pode s e r v i s t o , e r a RST). P e l o c r i t é r i o de c l a s s i f i c a ç ã o da chave não de c a r g a , EFG vem a n t e s de RST. No momento da a d i ç ã o , o e n d e r e ç o 4 2 e s t a v a va

-

go e f o i u t i l i z a d o . O campo LINK1 m o s t r a como f i c o u a c a d e i a da chave de c a r g a : o r e g i s t r o que e n t r o u (EFG) i n i c i a a c a -

d e i a e o que

j á

e s t a v a a t e r m i n a . E LINK2, c a d e i a de c í n c u

-

1 0 s da chave não de c a r g a mostra o que f o i d i t o a n t e r i o r m e n t e : EFG f o i a d i c i o n a d o ao f i n a l de s u a p r ó p r i a c a d e i a .

.

Chave 739

-

Nada a comentar. R e g i s t r o Único da c a d e i a . Con-

forme a a n á l i s e da chave 7 0 0 pressupõem, ou e s s a c a d e i a (chave 739) t i n h a mais um r e g i s t r o (endereço 46) ou h a

-

v i a uma o u t r a chave a l i . O c e r t o

é

que o endereço 46 não con t i n h a o r i g i n a l m e n t e a chave 700, como atualmente e s t á m o s t r a - do.

.

Chave 7 0 0

-

O r i g i n a l m e n t e s ó um r e g i s t r o , p o s t e r i o r m e n t e a d i

-

cionado mais um, que ocupou o endereço 46, vago

n a q u e l e momento. Como podemos d e d u z i r i s t o ? Porque f i s i c a

-

mente a c a d e i a da chave 7 0 0 e s t á i n v e r t i d a : e l a c r e s c e no s e n

-

t i d o i n v e r s o dos e n d e r e ç o s . I s t o p a r a que f o s s e r e s p e i t a d a a c l a s s i f i c a ç ã o da chave não de c a r g a . Notar q u e , r e f o r ç a n d o e s s a s u p o s i ç ã o (que o r e g i s t r o 46 v e i o p o s t e r i o r m e n t e ) , a cha -

a

ve não de c a r g a

XYZ

no endereço 46 e s t á no f i n a l de s u a p r g p r i a c a d e i a .

.

Chaves 487 e 108

-

S i t u a ç ã o semelhante ao que f o i d e s c r i t o p a -

(22)

111.8

-

Resumo do Relacionamento Mestre

-

v a r i á v e l

Um m e s t r e pode e x i s t i r independentemente ou e s t a r r e l a c i o n a d o a

um ou mais v a r i á v e i s , mas não p o d e r á nunca e s t a r d i r e t a m e n t e li

-

gado a o u t r o m e s t r e .

Um v a r i á v e l n ã o pode e x i s t i r i n d e p e n d e n t e m e n t e , devendo e s t a r r e l a c i o n a d o a p e l o menos um m e s t r e , mas nunca d i r e t a m e n t e a ou

-

t r o v a r i á v e l .

1 1 1 . 9

-

~ k n e r o de Mestres Ligados p o r um

s ó

v a r i á v e l

Não e x i s t e l i m i t a ç ã o p a r a o número de v a r i á v e i s que p o d e r ã o e s

-

t a r l i g a d o s a um mesmo m e s t r e . Mas, p o r c a u s a da c r e s c e n t e com -

p l e x i d a d e n a manutenção dos v í n c u l o s

,

não

6

recomendáve 1 que

um s Õ v a r i á v e l s i r v a de l i g a ç ã o e n t r e v á r i o s m e s t r e s . O máximo

v i á v e l é 3 m e s t r e s l i g a d o s p o r um

s ó

v a r i á v e l , sendo o i d e a l , 2 .

Ao l a d o de o u t r a s c a r a c t e r í s t i c a s

j á

v i s t a s de a r q u i v o s v a r i á

-

v e i s , uma das mais i n t e r e s s a n t e s

é

a p o s s i b i l i d a d e de r e d e f i n i - ção dos r e g i s t r o s ( m e s t r e s não permitem e s s a f a c i l i d a d e ) .

P a r a mais f a c i l m e n t e acompanhar como f u n c i o n a e s s a r e d e f i n i ç ã o vamos a n a l i s a r o exemplo do anexo 7 ( a s r e f e r ê n c i a s n e s t e i t e m s e r e f e r e m a e s t e a n e x o ) .

O exemplo

é

de um v a r i á v e l de nome IOPS ( t o d o s os nomes de a r q u i -

vos em TOTAL devem t e r 4 d r g i t o s , o p r i m e i r o n e c e s s a r i a m e n t e a 1 f a b é t i c o ) que s e r v e de r e f e r ê n c i a c r u z a d a e n t r e 3 m e s t r e s : MSUB, MPGM, MEIO. ( r e f . 1 ) .

O l a y o u t do v a r i á v e l p r o p r i a m e n t e d i t o tem uma d e f i n i ç ã o t o d a e l a c o n t i d a e n t r e as p a l a v r a s - c h a v e BASE-DATA e END-DATA ( r e f . 2 )

(23)

Por s e t r a t a r de um v a r i á v e l com r e d e f i n i ç ã o , o l a y o u t o b r i g a t o

-

r i a m e n t e começa com um campo de duas p o s i ç õ e s , c o n h e c i d o P o r r e c o r d c o d e , que c o n t e r á um código numérico ou a l f a n u m é r i c o , c a

-

r a c t e r I s t i c o de c a d a r e d e f i n i ç ã o do r e g i s t r o .

E

chamado com a p a l a v r a chave xxxxCODE, onde xxxx

é

o nome do v a r i á v e l , n o c a s o IOPS ( r e f . 3 ) . P o r exemplo, s e o v a r i á v e l t i v e s s e duas r e d e f i - n i ç õ e s , c a d a r e g i s t r o r e c e b e r i a no campo de CODE o s c ó d i g o s 01 ou 0 2 , conforme s e t r a t a s s e de uma ou o u t r a r e d e f i n i ç ã o . No n o s s o c a s o r e a l , os v a l o r e s s ã o a l f a b é t i c o s : SU (de S u b s i s t e m a ) e PG (de ProGrama)

.

O b r i g a t o r i a m e n t e , o r e g i s t r o tem que t e r uma p a r t e f i x a , c o n t e n d o um p a r c h a v e - v í n c u l o , e e v e n t u a l m e n t e d a d o s . Aqui

s ó

temos a c h a v e , que

é

a do m e s t r e MEIO, c o d i f i c a

-

d a MEIOCTRL ( p a d r ã o de nomes de c h a v e s em m e s t r e s de TOTAL:

xxxxCTRL, onde xxxx

é

o nome do m e s t r e (convenção d a TELERJ) e ,

CTRL é o b r i g a t ó r i o ) e , r e c e b e n d o a q u i o nome de IOPSMEIO ( p a

-

d r ã o de nomes de campos em g e r a l no TOTAL ( s u g e r i d o , mas n ã o o b r i g a t ó r i o ) : xxxxyyyy onde xxxx

é

o nome do a r q u i v o e yyyy

é

o q u a l i f i c a d o r do campo, de c o d i f i c a ç ã o l i v r e ) de tamanho 9 ( r e f . 4 ) , e o v í n c u l o , c o d i f i c a d o M E I O L K I O ( p a d r ã o s u g e r i d o de nomes de v í n c u l o s em v a r i á v e i s : xxxxLKyy onde xxxx

é

o m e s t r e a c u j a chave p e r t e n c e o v í n c u l o , LK

6

o b r i g a t ó r i o , e yy

é

um q u a l i f i c a

-

d o r do v a r i á v e l , l i v r e . S u g e r e - s e porem que s e u s e p a r a yy a s duas p r i m e i r a s p o s i ç õ e s do nome do v a r i á v e l , p a r a e f e i t o s mnemÔ

-

n i c o s , d e s d e que com i s s o n ã o s u r j a m nomes de v i n c u l o s homôni

-

mos) ( r e f . 5 ) . Depois

é

nomeada a p a r t e que s e r ã r e d e f i n i d a ,

IOPSDADO, de tamnho

18

b y t e s ( r e f . 6 ) .

I n i c i a n d o a p r i m e i r a r e d e f i n i ç ã o aparecem a s p a l a v r a s - c h a v e RE

-

CORD-CODE e o nome dado a e s s a r e d e f i n i ç ã o : SU ( r e f . 7 ) . Seguem

-

s e o p a r c h a v e - v í n c u l o d a r e d e f i n i ç ã o , no c a s o com r e l a ç ã o ao m e s t r e MSUB. Nesse m e s t r e a chave é o c ó d i g o do s u b s i s t e m a

( r e f . 8 ) . Seguem-se os campos de d a d o s , IOPSTPSU e IOPSREST

( r e f . 9 ) . N o t a r que no a t u a l r e l e a s e 6 . 2 , o tamanho dos campos n a s r e d e f i n i ç õ e s tem que v i r e n t r e p a r e n t e s e s .

Uma e s t r u t u r a em t o d o s e m e l h a n t e

é

a p r e s e n t a d a p a r a a o u t r a r e - d e f i n i ç ã o : somente o m e s t r e a que s e r e f e r e m o p a r chave-vi'ncu- 10 a q u i

é

o MPGM. ( r e f . 1 0 ) .

(24)

Não h á n e c e s s i d a d e de h a v e r campos de v í n c u l o s n a s á r e a s r e d e f i -

n i d a s . Mas s e e l e s e x i s t e m , vão p e r m i t i r um a c e s s o s e l e c i o n a d o , a somente um t i p o de r e g i s t r o (SU ou PG) conforme s e s i g a um ou o u t r o caminho de v í n c u l o s . T a l f a c i l i d a d e

6

c o n h e c i d a como v í n -

c u l o s s e l e t i v o s . S e , n o e n t a n t o , desejarmos t o d a s a s o c o r r ê n

-

c i a s

,

seguimos o caminho de v í n c u l o s n ã o s e l e t i v o , q u a l s e j a , o da p a r t e f i x a do r e g i s t r o , r e f e r e n t e ao m e s t r e MEIO.

111.11

-

Mais de um v í n c u l o e n t r e os mesmos Mestre e ~ a r i a v e l

Normalmente envolvendo um m e s t r e e um v a r i á v e l temos apenas um

v í n c u l o . Mas s i t u a ç õ e s e x i s t e m em que s e fazem n e c e s s á r i o s mais de um v í n c u l o (normalmente d o i s ) .

Suponhamos a s e g u i n t e s i t u a ç ã o : um m e s t r e de d a t a s (DDMMAA) e

um v a r i á v e l com a informação da m a t r í c u l a de empregados de uma

empresa. Suponhamos que e x i s t a m d o i s v í n c u l o s e n t r e o m e s t r e e o v a r i á v e l : um p o r d a t a de admissão, o u t r o p o r d a t a de demissão. Cada r e g i s t r o do v a r i á v e l t e r á d o i s p a r e s de campos chave-vi'ncu

-

1 0 : um com a d a t a de a d m i s s ã o , o u t r o com a d a t a de demissão, ao l a d o ,

é

c l a r o , da i n f o r m a ç ã o da m a t r í c u l a do f u n c i o n á r i o . Na v e r d a d e , t u d o s e pass'a como s e o v a r i á v e l e s t i v e s s e r e l a c i o n a n - do d o i s m e s t r e s d i s t i n t o s . SÕ que e s s e s d o i s m e s t r e s e s t ã o fun

-

d i d o s num

s ó .

E

e v i d e n t e que o exemplo a p r e s e n t a d o admite um t e r c e i r o v í n c u l o ( d a t a de a n i v e r s á r i o , p o r exemplo) e o u t r o s mais.

~ x i s t i r ã o e n t ã o n o m e s t r e t a n t o s campos de v í n c u l o s quaneos f o -

rem os r e l a c i o n a m e n t o s com o v a r i á v e l , p a r a que s e p o s s a a c e s

-

s a r as r e s p e c t i v a s c a d e i a s n e s t e Último.

1 1 1 . 1 2

-

Operações de Gravação

Sempre que houver uma o p e r a ç ã o de g r a v a ç ã o ( a d d ' s , w r i t e ' s ou de

-

l e t e ' s ) , o b u f f e r , contendo a informação

j á

p r o n t a p a r a i r p a r a o a r q u i v o , r e c e b e uma marca de " w r i t e p e n d e n t e " , e a g r a v a ç ã o f l -

(25)

s i c a

6

simplesmente a d i a d a .

Sempre que um b u f f e r

6

l i b e r a d o p a r a r e c e b e r novas i n f o r m a ç õ e s , p r i m e i r a m e n t e 6' v e r i f i c a d a a p r e s e n ç a da marca de " w r i t e penden -

t e " p a r a o mesmo. Caso a f i r m a t i v o , a s informações a t u a l m e n t e e x i s t e n t e s no b u f f e r s ã o e f e t i v a m e n t e g r a v a d a s no a r q u i v o a que e l a s s e r e f e r e m e s ó e n t ã o s e dá a l i b e r a ç ã o .

111.13

-

L i b e r a c ã o de B u f f e r s

Como vimos n o i t e m a n t e r i o r , o TOTAL

s ó

t r a z informações do Ban -

co de Dados p a r a b u f f e r s que e s t e j a m l i b e r a d o s .

A p o l í t i c a de l i b e r a ç ã o de b u f f e r s obedece ao s e g u i n t e c r i t é r i o :

-

sempre que houver n e c e s s i d a d e de s e d i p o r de um

-

b u f f e r p a r a r e c e b e r novas informações de um a r q u i v o , e nao hou

-

v e r nenhum v i á v e l ( v e r i t e m I V . l mais a d i a n t e , p a r a o c o n c e i t o de v i á v e l ) l i b e r a d o , s e r á e s c o l h i d o d e n t r e os b u f f e r s v i á v e i s

-

a q u e l e que n ã o t i v e r s i d o c o n s u l t a d o a mais tempo. E s t e b u f f e r , a n t e s de s u a l i b e r a ç ã o , p o d e r á e x i g i r uma o p e r a ç ã o f í s i c a de E/S, s e e s t i v e r com a marca de " w r i t e p e n d e n t e " ( v e r i t e m a n t e - r i o r )

.

O anexo 9 r e t r a t a , no s e u f l u x o , o procedimento d e s c r i t o .

E v e n t u a l m e n t e , o b u f f e r e s c o l h i d o p a r a s e r l i b e r a d o pode c o n t e r uma informação r e t i d a ( l i d a com 'END.' n a l i s t a de p a r â m e t r o s

,

v e r i t e m VI . 2 4 , p a r a uma e x p l i c a ç ã o mais d e t a l h a d a )

,

p a r a u t i l i -

zação f u t u r a .

E s t a p a r t i c u l a r i d a d e não

é

l e v a d a em c o n t a p e l o TOTAL, mas f i c a t r a n s p a r e n t e p a r a o u s u á r i o : quando e s s a u t i l i z a ç ã o s e t o r n a r p r e s e n t e , o TOTAL t r a t a de r e p o r o r e g i s t r o l i b e r a d o novamente em algum b u f f e r v i á v e l , fazendo e v e n t u a l m e n t e uma nova p e s q u i s a p a r a l i b e r a ç ã o de b u f f e r s .

(26)

Quando estudarmos as funções do TOTAL ( c a p í t u l o VI) veremos que além da l i b e r a ç ã o de b u f f e r s p o r n e c e s s i d a d e de u s o , e x i s tem o p e r a ç õ e s f í s i c a s de E/S f o r ç a d a s e x p l i c i t a m e n t e p o r algumas

f u n ç õ e s . São e l a s :

-

DEQUE, QUIET e ENDTO

-

t o d o s os b u f f e r s com " w r i t e pendente" s ã o g r a v a d o s .

-

CLOSP

-

todos os b u f f e r s v i á v e i s do a r q u i v o que e s -

t á

sendo fechado s ã o gravados ( s ó os que e s t i v e r e m

com a marca de " w r i t e pendente", c l a r o )

.

IV

-

DEFINIÇÃO DE ARQUIVOS

O TOTAL d i s p õ e de uma linguagem t o d a p r ó p r i a e e s p e c i a l p a r a a

d e f i n i ç ã o dos a r q u i v o s que e l e m a n i p u l a , a DBDL (Data Base D e f i n i t i o n Language)

.

Alguma c o i s a d e s t a linguagem j á f o i a d i a n t a d a quando da a n á l i s e da r e d e f i n i ç ã o de r e g i s t r o s de um v a r i á v e l , i t e m 1 1 1 . 1 0 , mas c a

-

be a g o r a uma a p r e s e n t a ç ã o f o r m a l .

I V . l

-

O Banco de Dados

I n i c i a n d o a d e f i n i ç ã o do Banco de Dados, e x i s t e uma c o l e ç ã o de comandos

,

chamados p r ó l o g o s de g e r a ç ã o .

Vamos nos r e f e r i r ao anexo 3 , p a r a e x p l a n a ç ã o . De i n í c i o , a s p a l a v r a s - c h a v e .

. .

BEGIN-DATA-BASE-GENERATION s e fazem n e c e s s á

-

r i a s p a r a i n f o r m a r ao TOTAL que os comandos que s e seguem vão

d e f i n i r um Banco de Dados.

Segue-se o nome que o Banco de Dados r e c e b e u : CTBASE. E s t e no-

me é i m p o r t a n t e p a r a a l g u n s u t i l i t á r i o s do TOTAL (como p o r exem

-

p l o o f o r m a t a d o r do BD).

A opção de v e r s ã o

6

p a r a s e e s c o l h e r s e o TOTAL v a i f u n c i o n a r b a t c h s o m e n t e , b a t c h e m u l t i t a s k ou s e a i n d a v a i u s a r ENVIRON/l

(27)

(monitor de T P d e s e n v o l v i d o p e l a CINCOM)

.

Na T E L E R J o TOTAL

é

usado em v e r s ã o c e n t r a l , i s t o

6 ,

s ó

uma c ó p i a do s o f t w a r e e s t á n a memória e s e r v e a todos os programas.

P a r a t e r m i n a r h á a i n d i c a ç ã o de SHARE-10.

Como o nome i n d i c a , tem a v e r com c o m p a r t i l h a m e n t o de á r e a s de b u f f e r . P a r a o TOTAL todos os b u f f e r s de E/S tem nome, e m a i s , p e r m i t e - s e ' um f a t o r de m u l t i p l i c a ç ã o n - p a r a c a d a b u f f e r . No c a -

s o e s p e c í f i c o : o Banco de Dados reconhece t r ê s b u f f e r s d i s t i n

-

t o s : MAS1, MAT1 e VAR1. E e x i s t i r ã o q u a t r o b u f f e r s MAS1, 1

MAT1 e 6 VAR1. Como veremos n a d e f i n i ç ã o de m e s t r e s e v a r i á

-

v e i s

,

o comando IOAREA=xxxx (desde que SHARE-I0 t e n h a s i d o de-

f i n i d o a q u i n o p r ó l o g o ) a p a r e c e o b r i g a t o r i a m e n t e , apontando a 1 -

gum nome de b u f f e r r e c o n h e c í v e l . E e s s e b u f f e r é p a r t i l h a d o (em s u a s n

-

v e r s õ e s ) p o r t o d o s os a r q u i v o s em c u j a d e f i n i ç ã o o

comando IOAREA aponte p a r a e l e

.

Então i n t r o d u z i m o s o c o n c e i t o de buf* v i á v e l : p a r a um d e t e r m i

-

nado a r q u i v o é o b u f f e r c u j o nome a p a r e c e no comando IOAREA ,

sendo o i h i c o b u f f e r em que poderão s e r f e i t a s o p e r a ç õ e s de E/S com dados d a q u e l e a r q u i v o ( r e s p e i t a d a s , e v i d e n t e m e n t e , s u a s n

- v e r s õ e s ) .

IV.2

-

D e f i n i c ã o de um Mestre

Examinemos o anexo 4 , que m o s t r a a d e f i n i ç ã o do m e s t r e de i t e n s de m a t e r i a l , MIDE.

Toda a d e f i n i ç ã o de um m e s t r e e s t a r á c o n t i d a e n t r e a s p a l a v r a s - chave BEGIN-MASTER-DATA-SET e END-MASTER-DATA-SET.

I n i c i a l m e n t e temos o enunciado do nome do a r q u i v o (DATA-SET-NA -

ME) e do nome do b u f f e r que e l e u s a (IOAREA). Então e s t e a r q u i -

vo, MIDE, n a s s u a s o p e r a ç õ e s de E/S u s a r á sempre q u a l q u e r das 4 v e r s õ e s do b u f f e r MAS1, como v i s t o no prÕlogo.

(28)

A s p a l a v r a s chaves MASTER-DATA e END-DATA emolduram t o d o o l a y o u t do m e s t r e .

I n i c i a n d o o l a y o u t , o o b r i g a t ó r i o campo de r a i z , chamado mmmmRCX)T.

O TOTAL s u g e r e que mmmm s e j a o nome do m e s t r e , p a r a e f e i t o s mne

-

mônicos

.

Tamanho em b y t e s : 8 , o b r i g a t o r i a m e n t e .

Segue-se o campo de c h a v e , k i c o no m e s t r e : mmmmCTRL

6

o s e u no

-

me, e a mesma s u g e s t ã o acima.

Logo a s e g u i r devem a p a r e c e r t o d o s os campos de v & c u l o s , um p a v

r a c a d a v a r i á v e l ao q u a l o m e s t r e e s t e j a l i g a d o . O p a d r ã o de nome p a r a e s t e s campos

é

mmmmLKnn, onde o TOTAL s u g e r e p a r a

mmmm o nome do m e s t r e e nn a s duas i n i c i a i s do v a r i á v e l . Deve-

s e a q u i c u i d a r p a r a não h a v e r nomes de v h c u l o s i d ê n t i c o s num mesmo m e s t r e p a r a d i f e r e n t e s v a r i ã v e i s . Tamanho do campo: 8

b y t e s , o b r i g a t o r i a m e n t e .

A i n d i c a ç ã o do nome do v a r i á v e l , após o tamanho do campo de vi'n

-

c u l o , é o p c i o n a l e

6

t r a t a d a p e l o TOTAL como c o m e n t á r i o .

Terminada a a p r e s e n t a ç ã o dos vi'nculos ( n o t a r que não h á nenhuma ordem pr6-de t e r m i n a d a p a r a e s t a a p r e s e n t a ç ã o ) vem os campos de d a d o s , c u j o s nomes s ã o de formação a b s o l u t a m e n t e l i v r e mas h á

a s u g e s t ã o de s e u s a r a forma mnemônica mmmmyyyy onde mmmm

é

o

nome do m e s t r e e yyyy

é

l i v r e .

Uma c a r a c t e r í s t i c a de t o d o s os nomes de campos nos m e s t r e s (e também nos v a r i á v e i s )

6

s e u tamanho: sempre 8 c a r a c t e r e s a l f a n u

-

méritos

,

o p r i m e i r o n e c e s s a r i a m e n t e a l f a b é t i c o .

O u t r a c a r a c t e r í s t i c a de t o d o s os campos .de m e s t r e s e v a r i á v e i s : s e u tamanho é sempre dado em b y t e s , q u a l q u e r que s e j a o forma- t o dos dados n e l e s c o n t i d o s . E s s e tamanho, como v i s t o , sempre segue imediatamente o nome do campo.

O TOTAL n e c e s s i t a a i n d a algumas informações s o b r e o a r q u i v o , do t i p o DCB e o u t r a s . Algumas s ã o normalmente d e f i n i d a s p o r quem c r i a o Banco de Dados, a s r e s t a n t e s s ã o c a l c u l a d a s p e l o TOTAL

.

(29)

Sempre que e s t e e n t e n d e r que a informação dada não é a meiho,r, e l e u t i l i z a a c a l c u l a d a .

E n t ã o , a i n d a o Anexo 4 :

-

DEVICE = , normalmente 3330, s e informado o

d e f a u t

e

2314.

-

TOTAL-LOGICAL-RECORDS = , e s t e comando e o TOTAL-

TRACKS s ã o mutuamente e x c l u d e n t e s . Se um é i n c l u i d o , o o u t r o pode s e r o m i t i d o . Normalmente os c ã l c u l o s s e r ã o f e i t o s usando

o TOTAL-TRACKS e o TOTAL-LOGICAL-RECORDS s e r á i g n o r a d o . Se ne

-

nhum dos d o i s f o r e x p l i c i t a d o , o d e f a u t

é

uma t r i l h a . Se s Õ

TOTA&-LOGI CAL-RECORDS f o r i n f o r m a d o , a p a r t i r d e l e TOTAL-TRACKS

é

c a l c u l a d o , r e c a l c u l a n d o - s e d e p o i s o v a l o r informado.

-

TOTAL-TRACKS = , v e r c o m e n t á r i o s o b r e TOTAL-LOGI CAL-

RE CORDS

.

-

LOGICAL-RECORD-LENGTH = ,

é

um comando d e s n e c e s s á r i o

e

é

t r a t a d o como c o m e n t á r i o . P r e v a l e c e o v a l o r c a l c u l a d o p e l o

TOTAL a t r a v ê s d a soma dos tamanhos dos campos d e s c r i t o s no l a y -

o u t

.

-

LOGICAL-BLOCKS-PER-TRACK = , i n f o r m a o v a l o r que o

TOTAL v a i u s a r p a r a c a l c u l a r o f a t o r de b l o c o e o tamanho do

b u f f e r . ' Com i s s o a informação de LOGICAL-RECORDS-PER-BLOCK, s e

dada,

é

t r a t a d a como c o m e n t á r i o . Se f o r o m i t i d a a informação

de LOGI CAL-BLOCKS-PER-TRACK

,

o d e f a u t

é

1 b l o c o .

IV.3

-

~ e f i n i ç ã o de um v a r i á v e l

A d e f i n i ç ã o de um v a r i á v e l é b a s t a n t e s e m e l h a n t e a do m e s t r e

,

com algumas d i f e r e n ç a s que s e r ã o d e s t a c a d a s . O anexo 6 m o s t r a o v a r i g v e l FOID que s e r v e de r e l a c i o n a m e n t o e n t r e o m e s t r e MIDE a n a l i s a d o a n t e r i o r m e n t e e o m e s t r e de f o r n e c e d o r e s , MFOR, r e t r a

-

t a d o no Anexo 5 .

Toda d e f i n i ç ã o de um v a r i á v e l e s t a r á c o n t i d a e n t r e a s p a l a v r a s -

chave BEGIN-VARIABLE-ENTRY-DATA-SET e

END-VARIABLE-ENTRY-DATA-

Referências

Documentos relacionados

A ofensiva políti- ca, ideológica, econômica e militar americana, durante os anos 60, ocorre também em uma vasta área da Ásia e da África: no levante de Ghana, no qual o governo

Ocorre que foi o fornecimento de outra tabela, associado ao interesse em observar o céu, de pelo menos usar a tabela, que fez o participante se interessar em saber interpretar o

Protect VIP é um plano modular que oferece a flexibilidade de escolher a cobertura que você e seus entes queridos precisam Com uma variedade de franquias e módulos de

Effects of the bite splint 15-day treatment termination in patients with temporomandibular disorder with a clinical history of sleep bruxism: a longitudinal single-cohort

Como pontos fortes, destacam-se a existência de iniciativas já em- preendidas em torno da aprovação de um Código de classificação e uma Ta- bela de temporalidade e destinação

No mais recente relatório produzido pelo Oxfam, se estima que o impacto econômico da COVID-19 deve empurrar mais de meio bilhão de pessoas para a pobreza extrema, revelando o quão

Contudo, não é possível imaginar que essas formas de pensar e agir, tanto a orientada à Sustentabilidade quanto a tradicional cartesiana, se fomentariam nos indivíduos

Esta degradação, é de difícil avaliação, por isso para cada caverna realiza-se uma análise da capacidade de carga, ou seja, o quanto uma área pode agüentar as