Falla á móti niðurskurði

Drop og Truncate eru tvær SQL (Structured Query Language) yfirlýsingar sem eru notaðar í gagnagrunnsstjórnunarkerfi, þar sem við viljum fjarlægja gagnaskrár úr gagnagrunni. Bæði falla og styttu fullyrðingar fjarlægja öll gögnin í töflu og tengda SQL staðhæfingu. Aðgerð til að eyða er ekki árangursrík í þessu tilfelli vegna þess að hún notar fleiri geymslurými en slepptu og styttu.

Ef við viljum fleygja töflu í gagnagrunni með öllum gögnum þess, gerir SQL okkur kleift að framkvæma þetta auðveldlega með því að nota Drop-yfirlýsingu. Sendu skipun er DDL (Data Definition Language) skipun, og það er hægt að nota til að eyða núverandi gagnagrunni, töflu, vísitölu eða útsýni. Það eyðir öllum upplýsingum í töflu, svo og töfluuppbyggingu úr gagnagrunninum. Einnig gætum við viljað losa okkur við öll gögnin í töflu einfaldlega, en án töflunnar, og við getum notað styttu staðhæfingu í SQL í slíkri atburðarás. Truncate er einnig DDL skipun og það útrýma öllum línum í töflu en varðveitir skilgreininguna á töflunni sömu til notkunar í framtíðinni.

Sendu skipunina

Eins og áður segir fjarlægir Drop skipun töfluskilgreininguna og öll gögn hennar, heiðarleiki takmarkanir, vísitölur, kallar og aðgangsréttindi, sem voru búin til á því tiltekna borði. Svo það sleppir núverandi hlut úr gagnagrunninum og samböndin við aðrar töflur munu ekki lengur gilda eftir að skipunin hefur verið framkvæmd. Einnig fjarlægir það allar upplýsingar um töfluna úr gagnabókinni. Eftirfarandi er dæmigerð setningafræði fyrir að nota Drop-yfirlýsinguna á töflu.

DROP Töflu

Við verðum einfaldlega að skipta um töfluheiti sem við viljum fjarlægja úr gagnagrunni í ofangreindu fyrirmynd Drop-skipunar.

Það er mikilvægt að benda á að ekki er hægt að nota Drop-yfirlýsingu til að eyða töflu, sem þegar hefur verið vísað til með erlendum lykilþröng. Í því tilfelli ætti fyrst að sleppa tilvísun erlendra lykilþvingana, eða þá tilteknu töflu. Einnig er ekki hægt að nota Drop-yfirlýsingu á kerfistöflunum í gagnagrunninum.

Þar sem Drop skipun er sjálfvirk skuldbindingar yfirlýsing er ekki hægt að rúlla aðgerðinni þegar henni hefur verið rekið aftur og engir kallar verða reknir. Þegar töflu er sleppt gilda ekki allar tilvísanir í töfluna og því, ef við viljum nota töfluna aftur, verður að endurskapa hana með öllum heilindum og takmörkunum. Öll tengsl við hinar töflurnar verða einnig að vera staðsett aftur.

Styttu skipunina

Styttu skipunin er DDL skipun og hún fjarlægir allar línur í töflu án þess að notandi hafi tilgreint skilyrði og sleppir plássinu sem taflan notar en töfluuppbyggingin með dálkum sínum, vísitölum og þvingunum er sú sama. Úrskurður útrýmir gögnum úr töflu með því að samnýta gagnasíðurnar sem notaðar eru til að geyma töflugögnin, og aðeins þessar síðusamsetningar eru hafðar í viðskiptaskránni. Þannig að það nýtir færri færslur í viðskiptaskrám og kerfisauðlindum samanborið við aðrar skyldar SQL skipanir eins og Delete. Svo að Truncate er svolítið hraðari fullyrðing en aðrir. Eftirfarandi er dæmigerð setningafræði fyrir Truncate skipun.

SKRÁÐ TAFLE

Við ættum að skipta um heiti töflunnar, þaðan sem við viljum fjarlægja öll gögnin, í ofangreindum setningafræði.

Ekki er hægt að nota styttu á töflu sem er vísað til með erlendum lykilþröng. Það notar skuldbindingu sjálfkrafa áður en það virkar og annar skuldbinding eftir það svo að afturköllun viðskiptanna er ómöguleg og engir kallar eru reknir. Ef við viljum endurnýta töfluna þurfum við aðeins að fá aðgang að núverandi töfluskilgreiningu í gagnagrunninum.

Hver er munurinn á milli Drop og Truncate?

Bæði falla og styttu skipanir eru DDL skipanir og einnig sjálfgefnar skuldbindingar yfirlýsingar þannig að ekki er hægt að rúlla viðskiptunum sem eru framkvæmd með þessum skipunum.

Aðalmunurinn á milli Drop og Truncate er að Drop skipunin fjarlægir, ekki aðeins öll gögnin í töflu, heldur einnig að hún fjarlægir töfluuppbygginguna varanlega úr gagnagrunninum með öllum tilvísunum, meðan Truncate skipunin fjarlægir aðeins allar línurnar í töflu , og það varðveitir töfluuppbygginguna og tilvísanir þess.

Ef töflu er sleppt gilda tengslin við aðrar töflur ekki lengur og heiðarleiki þvingun og aðgangsréttindi verða einnig fjarlægð. Svo ef taflan þarf að endurnýta, verður að endurgera það með samskiptum, heiðarleika takmörkunum og einnig aðgangsréttindum. En ef borð er stytt, þá er borðbyggingin og þvingun þess áfram til notkunar í framtíðinni og því er ekki krafist neins af ofangreindum afþreyingum til endurnotkunar.

Þegar þessum skipunum er beitt verðum við að vera varkár með að nota þær. Við ættum einnig að hafa betri skilning á eðli þessara skipana, hvernig þær vinna og einnig vandlega skipulagningu áður en þær eru notaðar til að koma í veg fyrir að það vanti nauðsynleg atriði. Að lokum er hægt að nota báðar þessar skipanir til að hreinsa gagnagrunna fljótt og auðveldlega og neyta færri auðlinda.