Csepp vagy csonkolás

A Drop és a Truncate két SQL (Structured Query Language) utasítás, amelyeket az adatbázis-kezelő rendszerekben használnak, ahol az adatrekordokat szeretnénk eltávolítani az adatbázisból. Mind a Drop, mind a Truncate utasítások eltávolítják a teljes adatokat egy táblázatból és a kapcsolódó SQL utasításból. A törlés művelet ebben az esetben nem hatékony, mivel több tárhelyet használ, mint a Leesés és a Csonkítás.

Abban az esetben, ha az adatbázis összes tábláját el akarjuk dobni az összes adatával, az SQL lehetővé teszi, hogy ezt könnyen elvégezzük a Drop utasítás segítségével. A drop parancs egy DDL (Data Definition Language) parancs, amely felhasználható egy meglévő adatbázis, táblázat, index vagy nézet megsemmisítésére. Törli a teljes információt egy táblázatban, valamint a táblázat szerkezetét az adatbázisból. Előfordulhat, hogy egyszerűen, de a táblázat nélkül megszabadulunk a táblázat összes adatától, és ilyen forgatókönyv esetén használhatjuk a Truncate utasítást az SQL-ben. A csonkítás szintén DDL parancs, és kiküszöböli a táblázat összes sorát, de a tábladefiníciót megtartja a későbbi felhasználáshoz.

Dobás parancs

Mint korábban említettük, a Drop parancs eltávolítja a tábladefiníciót és minden adatát, integritási korlátozását, indexeit, triggereit és hozzáférési jogosultságait, amelyeket az adott táblában hoztak létre. Így a meglévő objektumot teljes mértékben eltávolítja az adatbázisból, és a többi táblához fűződő kapcsolatok szintén nem lesznek érvényben a parancs végrehajtása után. Emellett eltávolítja a táblával kapcsolatos összes információt az adatszótárból. Az alábbiakban bemutatjuk a tipikus szintaxist a Drop utasítás tábla használatához.

Csepp tábla

Egyszerűen ki kell cserélnünk azt a táblanevet, amelyet eltávolítani akarunk az adatbázisból a Drop parancs fenti példájában.

Fontos kiemelni, hogy a Drop utasítás nem használható egy táblázat törlésére, amelyre már hivatkoztak egy idegen kulcs korlátozással. Ebben az esetben a referencia idegen kulcsra vonatkozó korlátozást vagy az adott táblát előbb le kell dobni. A Drop utasítás nem alkalmazható az adatbázis rendszerszintű tábláin sem.

Mivel a Drop parancs egy automatikus átadási nyilatkozat, a riasztás után a műveletet nem lehet visszavonni, és nem indítanak el kiváltó eseményeket. Ha egy táblát eldobnak, az összes táblára való hivatkozás nem lesz érvényes, és tehát, ha ismét használni szeretnénk a táblát, azt újra kell létrehozni minden integritási korlátozással és hozzáférési jogosultsággal. A többi táblához fűződő összes kapcsolatot szintén újra meg kell találni.

Csonkolja a parancsot

A csonkítás parancs egy DDL parancs, amely eltávolítja a táblázat összes sorát a felhasználó által megadott feltételek nélkül, és felszabadítja a tábla által használt helyet, de a táblázat felépítése oszlopokkal, indexekkel és korlátozásokkal változatlan marad. A Truncate kiküszöböli az adatokat a táblából azáltal, hogy elosztja a táblázati adatok tárolására használt adatlapokat, és csak ezeket az oldalak foglalkozik a tranzakciónaplóban. Tehát kevesebb tranzakciónapló-erőforrást és rendszer erőforrást használ fel, összehasonlítva más kapcsolódó SQL parancsokkal, például a Törlés. Tehát a Truncate egy kicsit gyorsabb nyilatkozat, mint mások. Az alábbiakban bemutatjuk a Truncate parancs tipikus szintaxisát.

LÁTÁSI TÁBLÁZAT

A fenti szintaxisban ki kell cserélnünk a tábla nevét, amelyből el akarjuk távolítani az összes adatot.

A csonkot nem lehet olyan asztalon használni, amelyre idegen kulcs-korlátozás hivatkozik. Automatikusan egy kötelezettségvállalást használ, mielőtt cselekszik, és egy másik kötelezettségvállalást, utána tehát a tranzakció visszavonása lehetetlen, és nem aktiválódnak eseményindítók. Ha újra szeretnénk használni a táblát, akkor csak az adatbázis meglévő tábladefinícióját kell elérnünk.

Mi a különbség a csepp és a csonkolás között?

Mind a Drop, mind a Truncate parancsok DDL parancsok, és automatikus átadási utasításokat is tartalmaznak, így az ezekkel a parancsokkal végrehajtott tranzakciókat nem lehet visszavonni.

Az elsődleges különbség a csepp és a csonkolás között az, hogy a csepp parancs nemcsak a táblában szereplő összes adatot eltávolítja, hanem a táblázat szerkezetét véglegesen eltávolítja az adatbázisból minden hivatkozással együtt, míg a csonkítás parancs csak a táblázat összes sorát eltávolítja. , és megőrzi a táblázat szerkezetét és hivatkozásait.

Táblázat elhagyása esetén a többi táblához fűződő kapcsolatok már nem lesznek érvényesek, az integritási korlátozások és a hozzáférési jogosultságok szintén megszűnnek. Tehát ha a táblát újrafelhasználni kell, akkor azt a kapcsolatokkal, az integritási korlátozásokkal és a hozzáférési jogosultságokkal együtt rekonstruálni kell. De ha egy asztal le van csonkítva, akkor az asztal felépítése és korlátozásai továbbra is felhasználhatók a jövőbeni felhasználásra, és így az újbóli felhasználáshoz a fenti rekreativitások nem szükségesek.

Amikor ezeket a parancsokat alkalmazzák, óvatosnak kell lennünk azok használatához. Ezenkívül jobb megértést kell kapnunk ezeknek a parancsoknak a természetéről, működéséről, valamint gondos tervezésre van szükségük, mielőtt felhasználnánk őket, hogy megakadályozzuk az alapvető elemek hiányát. Végül, mindkét parancs felhasználható az adatbázisok gyors és egyszerű tisztítására, kevesebb erőforrás felhasználásával.