Drop vs Cruncate
Drop dhe Truncate janë dy deklarata SQL (Structured Query Language) që përdoren në Sistemet e Menaxhimit të Bazave të të Dhënave, ku dëshirojmë të heqim regjistrimet e të dhënave nga një bazë të dhënash. Të dy deklaratat Drop dhe Truncate heqin të gjitha të dhënat në një tabelë dhe deklaratën përkatëse SQL. Operacioni i fshirjes nuk është efektiv në këtë rast sepse përdor më shumë hapësira ruajtëse sesa Drop dhe Cruncate.
Në rast se duam të heqim një tabelë në një bazë të dhënash së bashku me të gjitha të dhënat e saj, SQL na lejon ta kryejmë lehtësisht këtë duke përdorur deklaratën Drop. Komanda Drop është një komandë DDL (Data Definition Language) dhe mund të përdoret për të shkatërruar një bazë të dhënash, tabelë, indeks ose pamje ekzistuese. Ai fshin të gjithë informacionin në një tabelë, si dhe strukturën e tabelës nga baza e të dhënave. Gjithashtu, ne mund të dëshirojmë të heqim qafe të gjitha të dhënat në një tabelë thjesht, por pa tabelë, dhe ne mund të përdorim deklaratën Truncate në SQL në një skenar të tillë. Truncate është gjithashtu një komandë DDL dhe eliminon të gjitha rreshtat në një tabelë, por ruan përkufizimin e tabelës të njëjtë për përdorim në të ardhmen.
Drop komanda
Siç u përmend më herët, komanda Drop heq përkufizimin e tabelës dhe të gjitha të dhënat e saj, kufizimet e integritetit, indekset, nxitësit dhe privilegjet e aksesit, të cilat u krijuan në atë tabelë të veçantë. Pra, ai heq objektin ekzistues nga baza e të dhënave tërësisht, dhe marrëdhëniet me tabelat e tjera gjithashtu nuk do të jenë më të vlefshme pas ekzekutimit të komandës. Gjithashtu heq të gjithë informacionin rreth tabelës nga fjalori i të dhënave. Më poshtë është sintaksa tipike për përdorimin e deklaratës Drop në një tabelë.
REZI TABELA
Ne thjesht duhet të zëvendësojmë emrin e tabelës që duam të heqim nga baza e të dhënave në shembullin e mësipërm të komandës Drop.
Është e rëndësishme të theksohet se deklarata Drop nuk mund të përdoret për të fshirë një tabelë, e cila tashmë është referuar nga një kufizim i çelësit të huaj. Në atë rast, kufizimi i çelësit të huaj referues, ose ajo tabelë e veçantë duhet të hiqet së pari. Gjithashtu, deklarata Drop nuk mund të aplikohet në tabelat e sistemit në bazën e të dhënave.
Meqë komanda Drop është një deklaratë e kryerjes automatike, operacioni pasi të shkrehet nuk mund të rikthehet mbrapsht dhe asnjë shkas nuk do të aktivizohet. Kur një tabelë hiqet, të gjitha referencat në tabelë nuk do të jenë të vlefshme, dhe kështu, nëse duam ta përdorim përsëri tabelën, ajo duhet të rikrijohet me të gjitha kufizimet e integritetit dhe privilegjet e aksesit. Të gjitha marrëdhëniet me tabelat e tjera, gjithashtu duhet të vendosen përsëri.
Komanda e shkurtimit
Komanda Truncate është një komandë DDL dhe heq të gjitha rreshtat në një tabelë pa ndonjë kusht të specifikuar nga përdoruesi dhe liron hapësirën e përdorur nga tabela, por struktura e tabelës me kolonat, indekset dhe kufizimet e saj mbeten të njëjta. Truncate eliminon të dhënat nga një tabelë duke shpërndarë faqet e të dhënave të përdorura për të ruajtur të dhënat e tabelës, dhe vetëm këto ndarje të faqeve mbahen në regjistrin e transaksioneve. Pra, ai përdor më pak burime të regjistrit të transaksioneve dhe burime të sistemit në krahasim me komandat e tjera të lidhura SQL si Delete. Pra, "Truncate" është një deklaratë pak më e shpejtë se të tjerët. Më poshtë është sintaksa tipike për komandën Truncate.
TABELA E KURSEVE
Duhet të zëvendësojmë emrin e tabelës, nga e cila duam të heqim të gjitha të dhënat, në sintaksën e mësipërme.
Truncate nuk mund të përdoret në një tabelë që është referuar nga një kufizim i çelësit të huaj. Ai përdor një kryerje automatikisht përpara se të veprojë dhe një tjetër kryerje më pas, kështu që rikthimi i transaksionit është i pamundur dhe nuk aktivizohet asnjë shkas. Nëse duam të ripërdorim tabelën, na duhet vetëm të aksesojmë përkufizimin ekzistues të tabelës në bazën e të dhënave.
Cili është ndryshimi midis Drop dhe Truncate?
Të dy komandat Drop dhe Truncate janë komanda DDL dhe gjithashtu deklarata të kryerjes automatike, kështu që transaksionet e kryera duke përdorur këto komanda nuk mund të kthehen prapa.
Dallimi kryesor midis Drop dhe Truncate është se komanda Drop heq, jo vetëm të gjitha të dhënat në një tabelë, por gjithashtu heq strukturën e tabelës përgjithmonë nga baza e të dhënave me të gjitha referencat, ndërsa komanda Truncate heq vetëm të gjitha rreshtat në një tabelë dhe ruan strukturën e tabelës dhe referencat e saj.
Nëse një tabelë hiqet, marrëdhëniet me tabelat e tjera nuk do të jenë më të vlefshme dhe kufizimet e integritetit dhe privilegjet e aksesit gjithashtu do të hiqen. Pra, nëse tabela kërkohet të ripërdoret, ajo duhet të rindërtohet me marrëdhëniet, kufizimet e integritetit dhe gjithashtu privilegjet e aksesit. Por nëse një tabelë shkurtohet, struktura e tabelës dhe kufizimet e saj mbeten për përdorim në të ardhmen, dhe kështu, asnjë nga rekreacionet e mësipërme nuk kërkohet për ripërdorim.
Kur zbatohen këto komanda, duhet të jemi të kujdesshëm në përdorimin e tyre. Gjithashtu, ne duhet të kemi një kuptim më të mirë për natyrën e këtyre komandave, si funksionojnë ato, si dhe një planifikim të kujdesshëm përpara përdorimit të tyre në mënyrë që të parandalojmë mungesën e gjërave thelbësore. Së fundi, të dyja këto komanda mund të përdoren për të pastruar shpejt dhe me lehtësi bazat e të dhënave, duke konsumuar më pak burime.