You are on page 1of 23

ISI

ISI - Integrao de Sistemas de Informao

Parte 3 (I)
Integrao ao nvel dos Dados Instituto Politcnico do Cvado do Ave
INF 2010/11
lufer

Escola Superior de Tecnologia Licenciatura em Informtica Ano lectivo de 2010-2011


1

ISI

ISI

Front-Ends

Regras

Integrao entre dois SI via:


INF 2010/11
lufer

Dados

Ficheiros Bases de dados etc.


2

ISI

ISI

ETL: Extract, Transform, Load

Load Extract

1
INF 2010/11
lufer

Transform

2
3

ISI

ISI

ETL: Extract, Transform, Load


Fundamentos:
Manipulao de Dados DataWareHouses Integrao a nvel dos dados

Aces
Extract: tudo ou parte Transform: mltiplas
INF 2010/11
lufer

Load: destino pode ser o mesmo que a origem


4

ISI

ISI

ETL: Extract, Transform, Load

Transformao:
Normalizao Eliminao Correco Pesquisa ---------------------- seleco traduo ordenao codificao clculo agregao separao etc.
5

INF 2010/11
lufer

ISI

ISI

ETL: Ferramentas
(ER) Expresses Regulares Ling. Script (perl, python, Javascript, etc.) Ling. Convenc. (C#, Java, etc.) Tools:
Testadores grep, sed, etc. IDE (Kettle - http://kettle.pentaho.com/) Microsoft SSIS (http://msdn.microsoft.com/en-us/library/ms141026.aspx)

INF 2010/11
lufer

ISI

ISI

Perl
PERL - Practical Extraction and Report Language Referncias
Perl Cookbook http://www.perltutorial.org/ http://www.tizag.com/perlT/

Guio:
INF 2010/11
lufer

at exe8 aprender Perl exe9 e exe10 perl com ER


7

ISI

ISI

Perl
$x @x %x # Operadores: - Variveis literais atipadas! ( not strings, inteiros, etc.) - Array - Hash - comentrios - equivalentes a C#,/JAVA

++, --, !=, &&, ||, /,%, +, *, -, >, <, >=, <=, =, ==, eq, cmp, eq, cmp,

Controlo:
INF 2010/11
lufer

- equivalentes a C#/JAVA

if(); for(;;); do..while; while();

Executar:

perl file.pl
8

ISI

ISI

Perl
Variveis
$x=2*$y; print (X= $x\n); $x *= 2; $y = $x++; for($i=0; $i<=$#array;$i++){...}
INF 2010/11
lufer

ISI

ISI

Perl
Estruturas de controlo
#if(cond) aco1 else aco2 if ($x > 10) { print "$x maior que10!"; } else { print "$x mais pequeno que10!"; }
INF 2010/11
lufer

10

ISI

ISI

Perl
Estruturas de controlo
#foreach $x (array_valores){} @myClubes = (BENFICA', Portinho', Braguinha'); foreach (@myClubes) { print $_; } #while (exp) {} $count = 10; while ($count >= 1) { print "$count "; $count--; }
11

INF 2010/11
lufer

ISI

ISI

Perl
Estruturas de controlo
#do {} while (exp); $count = 10; do { print "$count "; $count--; } while ($count >= 1); #do {} until (exp); do{ $x++; } until($x<20);
12

INF 2010/11
lufer

ISI

ISI

Perl
Estruturas de controlo
#while(condition){ #statements;} $count = 0; while($count < 5){ print "$count\n"; $count++; } #for( ; ; ;)
INF 2010/11
lufer

for($i = 1; $i < 5; $i++) { print "<tr><td>$i</td><td>Linha N $i</td></tr>"; }


13

ISI

ISI

Perl
Arrays
@valores = (); @letras= (a..z); $valores[2]++; @aux = @letras[1,7,12]; for($i=0; $i<=$#valores;$i++){ print(valores[$i]=$valores[$i]\n;
INF 2010/11
lufer

#declarao/inicializao

14

ISI

ISI

Perl
Arrays
$i=0; while($i<$#array){ print "\$array[$i] = $array[$i]\n"; $i++; } push (@array,"Novo"); pop(@array); sort (@array)
INF 2010/11
lufer

#adicionar mais um elemento #remove ltima posio do array #ordena array #tamanho do array #?
15

$#array ($a,$b,$c)=(a..z)[2,7,12];

ISI

ISI

Perl
HASH
%valores = (); #declarao/inicializao

%meses=("jan"=>1,"fev"=>2); while (($key, $value) = each(%meses)) { print("$key = $value\n"); }


INF 2010/11
lufer

16

ISI

ISI

Perl
Funes
#invocao show_nl ("Benfica"); show_nl ((1..9)); #definio sub show_nl{ print "@_\n"; }
INF 2010/11
lufer

#@_ array com os parmetros

17

ISI

ISI

Perl
Funes
#invocao max (2,3); #definio sub max{ ($a,$b)=@_; print "Argumentos=".@_."\n"; print (($a>$b) ? $a : $b);
INF 2010/11
lufer

18

ISI

ISI

Perl
Ficheiros
#$f=<> $f = "exe6.pl"; open(f); @array = <f>; close(f); foreach (@array) { print();
INF 2010/11
lufer

#consultar sebenta pag.10

19

ISI

ISI

Perl
Ficheiros
#$f=<> opendir(DIR, "."); @files = sort(grep(/pl$/, readdir(DIR))); closedir(DIR); foreach (@files) { print("$_\n") unless -d; }
INF 2010/11
lufer

#consultar sebenta pag.10

20

ISI

ISI

Perl
Ficheiros
#Percorre ficheiro para leitura (I)

#consultar sebenta pag.10

#Percorre ficheiro para leitura (II)

INF 2010/11
lufer

21

ISI

ISI

Perl
Ficheiros
#Criar e escrever num ficheiro

#consultar sebenta pag.10

#Copiar de um ficheiro para outro

INF 2010/11
lufer

22

ISI

ISI

Perl
Expresses Regulares

Sebenta pag.11 pag.14

INF 2010/11
lufer

23

You might also like