Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Foxpro


Qdidactic » stiinta & tehnica » informatica » foxpro
Stergerea articolelor din baza de date



Stergerea articolelor din baza de date



Punerea la zi a bazei de date este de nerealizat fara posibilitatea stergerii articolelor care, fie au fost introduse eronat de operator, fie nu mai sunt valabile pentru colectia de date respectiva. De exemplu, intr-o evidenta BIBLIOTECA, necesara prelucrarilor curente relativ la carti si cititori, ce rost ar avea sa retinem informatii despre cartile pierdute, sau scoase din uz, sau informatii despre cititorii bibliotecii care si-au retras legitimatiile de intrare si nu mai au acces la biblioteca?

Desigur, astfel de date sunt uneori interesante dar, sa nu uitam ca viteza de raspuns la interogari este direct dependenta de marimea fisierului. Pentru situatiile in care, eventual, „cineva” ar cere date despre cartile sau persoanele care au fost in evidentele bibliotecii si nu mai sunt, se pot crea arhive (istorice), eliberand spatiul fisierelor de lucru.

Stergerea articolelor se poate face logic, folosind o marcare vizibila la afisare prin caracterul “*” inaintea primului camp. Marcarea pentru stergere poate fi anulata sau, daca s-a considerat oportuna stergerea articolului, atunci acesta se poate sterge fizic din baza de date.

Comanda de marcare pentru stergere este DELETE:


DELETE[<domeniu>][FOR<cond>] [WHILE<cond>]


Comanda marcheaza pentru stergere articolele din domeniul precizat in clauza <domeniu> care indeplinesc conditiile puse in clauzele FOR si WHILE.

Implicit comanda actioneaza pe articolul curent.


Exemplu

USE mijloacef

CLEAR

SET DELETED OFF

DELETE FOR MOD ( RECNO ( ), 2) = 0

NOTE se sterg inregistrarile cu numar de ordine par

LIST

NOTE toate inregistrarile din baza de date sunt afisate, cele sterse avand un asterisc;

in dreptul lor

GO TO 2

DISPLAY && anregistrarea este afisata chiar daca este marcata pentru stergere;

Display avand ca domeniu implicit inregistrarea curenta

USE


Observatie: Starea de articol marcat pentru stergere nu influenteaza in mod obisnuit nici comanda de afisare (observam „*” inaintea primului camp!), nici o eventuala cautare prin LOCATE, o copiere (COPY), o sortare (SORT), etc.

Acest lucru se datoreaza valorii OFF pe care este pozitionata implicit comanda comutator SET DELETED ON/OFF.

Valoarea ON determina ignorarea articolelor marcate pentru stergere.




Stergerea fizica a articolelor se poate face prin doua comenzi: PACK si ZAP.


PACK               ZAP


Comanda PACK permite stergerea fizica din fisier a tuturor articolelor marcate anterior. Nu mai este nici o posibilitate de recuperare a acestor date.

Exemplu:  se sterge inregistrarea a 5-a din baza de date mijloacef.

USE mijloacef

LIST

DELETE RECORD 5 && se marcheaza pentru stergere a 5-a inregistrare

PACK && se sterge fizic a 5-a inregistrare

LIST

USE


Comanda ZAP permite stergerea definitiva din fisier a tuturor articolelor, fara ca in prealabil sa fi avut loc o operatie de marcare. Este similara secventei de comenzi:


delete all

pack


Observatie Trebuie sa fim atenti la pozitionarea comutatorului SET SAFETY ON/OFF care, pe valoarea ON cere acordul la stergere.


Anularea marcajelor de stergere se face prin comanda RECALL:

RECALL [<domeniu>] [FOR <cond>] [WHILE<cond>]         


Comanda RECALL permite revenirea unui articol la starea anterioara operatiei de stergere numai daca stergerea a fost logica (prin comanda DELETE).

Actiunea comenzii are ca domeniu implicit articolul curent. Prin specificarea clauzelor [<domeniu>], FOR si WHILE putem selecta articolele sterse prin comanda DELETE, a caror marcaje dorim sa le anulam.


Exemplu:

USE mijloacef

DELETE FOR RECNO ( ) <=3

&& se sterg primele 3 inregistrari

LIST && se observa efectul stergerii

RECALL ALL && sunt refacute toate inregistrarile. Cele care nu erau;

marcate pentru stergere nu sunt afectate

LIST

USE





Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright