Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Stergerea articolelor din baza de date

fox pro



+ Font mai mare | - Font mai mic



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



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 977
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved