Ispuštanje vs skraćivanje
Drop and Truncate dva su SQL (strukturirani jezik upita) izraza koji se koriste u sustavima za upravljanje bazama podataka, gdje želimo ukloniti zapise podataka iz baze podataka. Izjave Drop i Truncate uklanjaju cijele podatke u tablici i povezani SQL izraz. Operacija brisanja u ovom slučaju nije učinkovita jer koristi više prostora za pohranu od Drop and Truncate.
U slučaju da ako želimo odbaciti tablicu u bazi podataka zajedno sa svim njezinim podacima, SQL nam omogućuje da to lako izvedemo pomoću izraza Drop. Naredba ispuštanja je naredba DDL (jezik definicije podataka) i može se koristiti za uništavanje postojeće baze podataka, tablice, indeksa ili pogleda. Iz baze podataka briše cjelokupne podatke u tablici, kao i strukturu tablice. Također, možda bismo se željeli riješiti svih podataka u tablici jednostavno, ali bez tablice, a u takvom scenariju možemo koristiti izraz Truncate u SQL-u. Izrezivanje je također DDL naredba i uklanja sve retke u tablici, ali zadržava istu definiciju tablice za buduću upotrebu.
Naredba ispuštanja
Kao što je ranije spomenuto, naredba Drop uklanja definiciju tablice i sve podatke, ograničenja integriteta, indekse, okidače i privilegije pristupa, koja je stvorena na toj određenoj tablici. Dakle, on u potpunosti ispušta postojeći objekt iz baze podataka, a odnosi s drugim tablicama također više neće biti valjani nakon izvršavanja naredbe. Također uklanja sve podatke o tablici iz rječnika podataka. Slijedi tipična sintaksa za upotrebu izraza Drop na tablici.
TAPELA ZA KAPANJE
Moramo jednostavno zamijeniti naziv tablice koji želimo ukloniti iz baze podataka u gornjem primjeru naredbe Drop.
Važno je istaknuti da se iskaz Drop ne može koristiti za brisanje tablice na koju je već upućeno ograničenje stranog ključa. U tom bi slučaju prvo trebalo ispustiti ograničenje stranog ključa koji upućuje ili tu određenu tablicu. Također, iskaz Drop ne može se primijeniti na sistemske tablice u bazi podataka.
Kako je naredba Drop izjava automatskog urezivanja, operacija jednom aktivirana ne može se vratiti i neće se aktivirati okidači. Kad se tablica ispusti, sve reference na tablicu neće biti valjane, pa je, ako želimo ponovno koristiti tablicu, potrebno ponovno stvoriti sa svim ograničenjima integriteta i privilegijama pristupa. Svi odnosi s ostalim tablicama, također se moraju ponovno pronaći.
Naredba za skraćivanje
Naredba truncate je DDL naredba i uklanja sve retke u tablici bez ikakvih uvjeta koje je odredio korisnik i oslobađa prostor koji koristi tablica, ali struktura tablice sa svojim stupcima, indeksima i ograničenjima ostaje ista. Truncate eliminira podatke iz tablice uklanjanjem stranica podataka koje se koriste za pohranu podataka tablice, a u evidenciji transakcija čuvaju se samo te oslobađanja stranica. Dakle, koristi manje resursa dnevnika transakcija i sistemskih resursa u usporedbi s drugim povezanim SQL naredbama poput Delete. Tako je Truncate malo brža izjava od ostalih. Slijedi tipična sintaksa naredbe Truncate.
TRAJNI STOL
Naziv tablice, iz kojeg želimo ukloniti cjelokupne podatke, trebali bismo zamijeniti u gornjoj sintaksi.
Skraćivanje se ne može koristiti na tablici na koju se poziva ograničenje stranog ključa. Koristi predavanje automatski prije nego što djeluje, a nakon toga još jedno urezivanje, pa je vraćanje transakcije nemoguće i ne aktiviraju se okidači. Ako želimo ponovno koristiti tablicu, trebamo samo pristupiti postojećoj definiciji tablice u bazi podataka.
Koja je razlika između Drop i Truncate?
I naredbe Drop i Truncate su DDL naredbe i također naredbe automatskog predavanja, tako da se transakcije izvršene pomoću ovih naredbi ne mogu vratiti.
Primarna razlika između Drop i Truncate je u tome što naredba Drop uklanja ne samo sve podatke u tablici, već trajno uklanja strukturu tablice iz baze podataka sa svim referencama, dok naredba Truncate uklanja samo sve retke u tablici, i čuva strukturu tablice i njene reference.
Ako se tablica ispusti, odnosi s drugim tablicama više neće biti valjani, a ograničenja integriteta i privilegije pristupa također će se ukloniti. Dakle, ako je tablica potrebna za ponovnu upotrebu, ona mora biti rekonstruirana s odnosima, ograničenjima integriteta, kao i privilegijama pristupa. Ali ako je tablica skraćena, struktura tablice i njena ograničenja ostaju za buduću upotrebu, pa tako, bilo koja od gore navedenih rekreacija nije potrebna za ponovnu upotrebu.
Kada se primijene ove naredbe, moramo biti oprezni pri njihovoj uporabi. Također, trebali bismo bolje razumjeti prirodu ovih naredbi, njihov rad, kao i pažljivo planiranje prije njihove upotrebe kako bismo spriječili propuštanje bitnih stvari. Konačno, obje ove naredbe mogu se koristiti za brzo i jednostavno čišćenje baza podataka, trošeći manje resursa.