Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




IMPORTURI-EXPORTURI DE DATE

sql


Importuri-exporturi de date

1.Transferul de date īntre fisiere si tablouri

De multe ori folosirea tablourilor de date este preferabila folosirii fisierelor de date deoarece viteza de accesare a memori 13313x231n ei este net superioara vitezei de accesare a discului. De ex, sortarea unui masiv este mult mai rapida decāt sortarea unui fisier. Comunicarea īntre baze de date si tablouri se realizeaza īn ambele sensuri prin comezi corespunzatoare.



1.1.APPEND FROM ARRAY <tablou> [FOR<cond>] [FIELDS <lista-camp>]

Se adauga la baza de date articolele preluate dintr-un tablou; fiecare linie corespunde unei īnregistrari; coloanele se copie īn ordinea cāmpurilor; se ignora elementele īn plus; cāmpurile īn plus se completeaza automat cu valori vide. Se face conversia la tipul cāmpului.

Exemplu: fie tabela ELEVI.DBF, sa se adauge elementele masivului NOTE.

ELEVI_IMPORT.DBF    NOTE[2,6]

nume

rom

mate

fiz

x 8 8 7 8 10

y 10 9 8 9 10

 
ch

Ion

x

y

append from array note

1.2.GATHER FROM<tablou>/MEMVAR[FIELDS<LISTA-CAMP>][memo]

Comanda permite copierea continutului vectorului <tablou> sau a unor variabile de memorie cu acelasi identificator (MEMVAR) īn īnregistrarea curenta din baza de date activa. Copierea se face de la stānga la dreapta īn ordinea coloanelor daca nu este precizata clauza FIELDS. Clauza MEMO este necesara daca printre cāmpurile de copiat se gaseste si un cāmp memo.

Exemplu: se doreste adaugarea unui elev cu notele sale īn tabela elevi:

varianta1    varianta2 linia de comanda

declare a(5)   

a[1]='Luca Matei'    accept 'numele elevului' to nume do elevi_imp

a[2]=8    input 'nota la rom' to rom

a[3]=8    input 'nota la mate' to mate

a[4]=7    input 'nota la fizica' to fiz

a[5]=8    input 'nota la chimie' to ch

use elevi_import use elevi_import

append blank    append blank

gather from a gather memvar

use elevi_import    use elevi_import

list    list

1.3.COPY TO ARRAY <tablou> [FIELDS <lista-campuri>][<domeniu>] [FOR <cond>][WHILE <cond>]

Comanda realizeaza trecerea articolelor din baza de date īntr-un tablou astfel īncāt articolul devine o linie. Daca numarul de īnregistrari depaseste numarul de linii se ignora cele īn plus.

use elevi_imp

copy to array note for rom=10

DISPLAY MEMORY LIKE note

1.4.SCATTER [FIELDS <lista-camp>][memo] TO <tablou>/MEMVAR

Cāmpurile din baza de date activa specificate īn clauza FIELDS (sau toate cāmpurile, optiune implicita) se vor copia īn tabloul din clauza TO <tablou> sau īn variabilele specificate (clauza MEMVAR).

Exemplu:

use elevi_import

go top

scatter memvar

?m.nume, m.mate, m.rom, m.fiz

1.5.REPLACE FROM ARRAY <tablou> [FIELDS <lista-campuri>] <domeniu> [FOR <cond>] [WHILE <cond>]

Comanda realizeaza corectia unor valori ale bazei de date prin utilizarea tablourilor. Se īnlocuiesc cu elementele din tabloul specificat acele valori care corespund cāmpurilor din clauza FIELDS (implicit toate cāmpurile). Comanda REPLACE are ca domeniu implicit articolul curent.

Exercitiul 1: Presupunem ca pentru sutinerea examenului de bacalaureat la informatica, elevii au fost īmpartiti īn 3 comisii, fiecare comisie organizāndu-si singura examenul si evidenta elevilor. Se cere concatenarea datelor īn vederea calcularii mediei si afisarii rezultatelor.

COMISIE1.BDF    COMISIE2.BDF

nume

P1

P2

Proiect

Albu

Andrei

Aurel

Nume

Proba1

Proba2

Atestat

Barbu

Baciu

Bucur

Nume

Pr1

Pr2

Pro

Carp

Carbunaru

Cocea

COMISIE3.BDF

use comisie1 in 1

use comisie2 in 2

use comisie3 in 3

select 4

create dbf bac (nume C(6), proba1 N(5,2), proba2 N(5,2), proiect N(5,2))

sele 1

copy to array a

sele 2

copy to array b fields nume, proba1, proba2, atestat

sele 3

copy to array c fields nume, pr1, pr2, pro

sele 4

append from array a

append from array b

append from array c

use bac

list

2.Importul - exportul de date

Transferul de informatii īntre produse program, sau mai bine spus īntre baze de date tip Xbase si alte tipuri de fisiere se poate face īn ambele sensuri prin comenzi speciale.

2.1.APPEND FROM <fisier> TYPE<tip-fisier>

Comanda APPEND permite trecerea datelor din fisierul de tip special (indicat īn clauza TYPE ) īn baza de date activa. <tip-fis> poate fi:

DELIMITED/ DELIMITED WITH <car> - atunci cānd fisierul sursa este īn format ASCII sau ale caror cāmpuri sunt delimitate de <car>;

DELIMITED WITH BLANK pentru fisiere ale caror cāmpuri sunt delimitate de spatiu;

SDF pentru fisier ASCII format data sistem (extensie.txt);

WKS pentru fisier LOTUS 1-2-3, etc.

2.2.COPY TO <fisier> TYPE <tip-fisier> - permite transferul de date dintr-o tabela .DBF īn alt fisier. Clauza TYPE are aceleasi valori ca la comanda APPEND FROM.

2.3.IMPORT FROM <fisier> TYPE PDOX/RPD/WKS/WRK/XLS - realizeaza conversia unui fisier de alt tip īntr-un fisier de tip .DBF

2.4.EXPORT TO <fisier> FIELDS<lista-campuri>[<domeniu>][FOR<cond>] [WHILE <cond>][TYPE] DIF/MOD/WKS/WRK/XLS

Se copie īnregistrarile selectate cu clauzele FOR, while <domeniu> īn fisierul <fisier> de tipul specificat. Se va putea indica si lista cāmpurilor care vor fi copiate īn clauza FIELDS.

Exemplu: fie tabela ELEVI.bdf cu urmatorul continut

nume

dn

cls

absm

Absn

M1

M2

M3

An

Bi

Popescu

11a

Ionescu

11a

Zaharescu

11b

Fictiv

11b

Albu

11a

copy to xxx delimited && operatie de copiere īntr-un fisier text

type xxx.txt

copy to xxx delimited blank

type xxx.txt

copy to xxx delimited with blank

type xxx.txt

copy to xxx delimited with tab

type xxx.txt

copy to xxx delimited

type xxx.txt

append from xxx delimited && se adauga datele din xxx.txt

go 6    && ne pozitionam pe īnregistrarea nr 6

delete rest

pack

copy to zzz type sdf    && realizam exportul bazei de date sub forma standard

type zzz.txt

2.5. Realizarea interactiva a operatiei de copiere

Indiferent de tipul fisierului destinatie, fie tot un fisier tabela Xbase, fie un alt tip de fisier utilizat īn aplicatiile de gestiune a foilor de calcul sau baze de date, se deschide fereastra File Export. Optiunile asociate operatiei de exportare vizeaza filtrarea articolelor (clauzele Scope, For, While) si selectarea cāmpurilor care vor fi copiate (clauza Fields).

O fereastra asemanatoare se dechide pentru operatia de importare/ adaugare de date din fisier baza de date sau alt tip de fisier.


Document Info


Accesari: 1730
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )