Տարբերություն անկման և կրճատման միջև

Տարբերություն անկման և կրճատման միջև
Տարբերություն անկման և կրճատման միջև

Video: Տարբերություն անկման և կրճատման միջև

Video: Տարբերություն անկման և կրճատման միջև
Video: Can Bsc, MSc, Bcom, Mcom, BBA, BA, MA, BE, BTech CSE, ,ME, MTech IT Candidates eligible to enter SAP 2024, Նոյեմբեր
Anonim

Drop vs Truncate

Drop-ը և Truncate-ը երկու SQL (Structured Query Language) հայտարարություններ են, որոնք օգտագործվում են Տվյալների բազայի կառավարման համակարգերում, որտեղ մենք ցանկանում ենք տվյալների գրառումները հեռացնել տվյալների բազայից: Թե «Drop» և «Truncate» հայտարարությունները հեռացնում են աղյուսակի ամբողջ տվյալները և դրա հետ կապված SQL հայտարարությունը: Ջնջման գործողությունն այս դեպքում արդյունավետ չէ, քանի որ այն օգտագործում է ավելի շատ պահեստային տարածքներ, քան Drop-ը և Truncate-ը:

Այն դեպքում, եթե մենք ցանկանում ենք տվյալների բազայում աղյուսակը ամբողջությամբ հեռացնել իր բոլոր տվյալներով, SQL-ը թույլ է տալիս մեզ հեշտությամբ կատարել դա՝ օգտագործելով Drop հայտարարությունը: Drop հրամանը DDL (Տվյալների սահմանման լեզու) հրաման է, և այն կարող է օգտագործվել գոյություն ունեցող տվյալների բազան, աղյուսակը, ինդեքսը կամ տեսքը ոչնչացնելու համար:Այն ջնջում է աղյուսակի ամբողջ տեղեկատվությունը, ինչպես նաև աղյուսակի կառուցվածքը տվյալների բազայից: Բացի այդ, մենք կարող ենք ցանկանալ ազատվել աղյուսակի բոլոր տվյալներից պարզապես, բայց առանց աղյուսակի, և մենք կարող ենք օգտագործել Truncate հայտարարությունը SQL-ում նման սցենարում: Truncate-ը նաև DDL հրաման է և վերացնում է աղյուսակի բոլոր տողերը, բայց պահպանում է աղյուսակի սահմանումը ապագա օգտագործման համար:

թողնել հրաման

Ինչպես նշվեց ավելի վաղ, Drop հրամանը հեռացնում է աղյուսակի սահմանումը և դրա բոլոր տվյալները, ամբողջականության սահմանափակումները, ինդեքսները, գործարկիչները և մուտքի արտոնությունները, որոնք ստեղծվել են տվյալ աղյուսակում: Այսպիսով, այն ամբողջությամբ հանում է գոյություն ունեցող օբյեկտը տվյալների բազայից, և այլ աղյուսակների հետ հարաբերությունները նույնպես այլևս չեն վավերի հրամանը կատարելուց հետո: Նաև այն հեռացնում է աղյուսակի մասին բոլոր տեղեկությունները տվյալների բառարանից: Ստորև բերված է սեղանի վրա Drop հայտարարությունը օգտագործելու բնորոշ շարահյուսությունը:

ԿԱՏԵԼ ՍԵՂԱՆԱԿ

Մենք պարզապես պետք է փոխարինենք աղյուսակի անունը, որը ցանկանում ենք հեռացնել տվյալների բազայից, Drop հրամանի վերը նշված օրինակում:

Կարևոր է նշել, որ Drop հայտարարությունը չի կարող օգտագործվել աղյուսակը ջնջելու համար, որն արդեն հղում է արվել օտարերկրյա բանալիների սահմանափակումով: Այդ դեպքում, հղման օտարերկրյա բանալիների սահմանափակումը կամ այդ կոնկրետ աղյուսակը պետք է նախ հանվի: Բացի այդ, Drop հայտարարությունը չի կարող կիրառվել տվյալների բազայի համակարգի աղյուսակների վրա:

Քանի որ «Drop» հրամանը ավտոմատ հանձնման հայտարարություն է, գործարկվելուց հետո գործողությունը չի կարող հետ շրջվել, և ոչ մի ձգան չի գործարկվի: Երբ աղյուսակը հանվում է, աղյուսակի բոլոր հղումները վավեր չեն լինի, և, հետևաբար, եթե մենք ուզում ենք նորից օգտագործել աղյուսակը, այն պետք է վերստեղծվի ամբողջականության բոլոր սահմանափակումներով և մուտքի արտոնություններով: Բոլոր հարաբերությունները մյուս աղյուսակների հետ նույնպես պետք է նորից գտնվեն:

Կտրել հրաման

Truncate հրամանը DDL հրաման է, և այն հեռացնում է աղյուսակի բոլոր տողերը՝ առանց օգտագործողի կողմից սահմանված պայմանների, և ազատում է աղյուսակի օգտագործած տարածքը, սակայն աղյուսակի կառուցվածքն իր սյունակներով, ինդեքսներով և սահմանափակումներով մնում է նույնը:Truncate-ը վերացնում է տվյալները աղյուսակից՝ տեղաբաշխելով տվյալների էջերը, որոնք օգտագործվում են աղյուսակի տվյալները պահելու համար, և միայն այս էջերի տեղաբաշխումները պահվում են գործարքների մատյանում: Այսպիսով, այն օգտագործում է ավելի քիչ գործարքների մատյան ռեսուրսներ և համակարգի ռեսուրսներ՝ համեմատած այլ հարակից SQL հրամանների հետ, ինչպիսին է Delete-ը: Այսպիսով, Truncate-ը մի փոքր ավելի արագ հայտարարություն է, քան մյուսները: Ստորև ներկայացված է Truncate հրամանի տիպիկ շարահյուսությունը:

ԿՏՐՎԱԾ ՍԵՂԱՆԱԿ

Մենք պետք է փոխարինենք աղյուսակի անունը, որից ցանկանում ենք հեռացնել ամբողջ տվյալները, վերը նշված շարահյուսությամբ:

Truncate-ը չի կարող օգտագործվել աղյուսակի վրա, որը հղում է արվել օտարերկրյա բանալիների սահմանափակումով: Այն ավտոմատ կերպով օգտագործում է commit նախքան այն գործելը, և մեկ այլ commit դրանից հետո, այնպես որ գործարքի վերադարձն անհնար է, և ոչ մի ձգան չի գործարկվում: Եթե ցանկանում ենք նորից օգտագործել աղյուսակը, մեզ միայն անհրաժեշտ է մուտք գործել տվյալների բազայում առկա աղյուսակի սահմանումը:

Ո՞րն է տարբերությունը Drop-ի և Truncate-ի միջև:

Եվ «Drop» և «Truncate» հրամանները DDL հրամաններ են, ինչպես նաև ավտոմատ հանձնման հայտարարություններ, այնպես որ այս հրամանների միջոցով կատարված գործարքները չեն կարող հետ վերադարձվել:

Drop-ի և Truncate-ի միջև առաջնային տարբերությունն այն է, որ Drop հրամանը հեռացնում է ոչ միայն աղյուսակի բոլոր տվյալները, այլև այն մշտապես հեռացնում է աղյուսակի կառուցվածքը տվյալների բազայից բոլոր հղումներով, մինչդեռ Truncate հրամանը հեռացնում է միայն բոլորը: աղյուսակի տողերը, և այն պահպանում է աղյուսակի կառուցվածքը և դրա հղումները:

Եթե աղյուսակը հանվի, այլ աղյուսակների հետ հարաբերություններն այլևս վավեր չեն լինի, իսկ ամբողջականության սահմանափակումները և մուտքի արտոնությունները նույնպես կհեռացվեն: Այսպիսով, եթե աղյուսակը պահանջվում է նորից օգտագործելու համար, այն պետք է վերակառուցվի հարաբերություններով, ամբողջականության սահմանափակումներով, ինչպես նաև մուտքի արտոնություններով: Բայց եթե աղյուսակը կտրված է, աղյուսակի կառուցվածքը և դրա սահմանափակումները մնում են հետագա օգտագործման համար, և, հետևաբար, վերը նշված հանգստից որևէ մեկը չի պահանջվում նորից օգտագործելու համար:

Երբ այս հրամանները կիրառվում են, մենք պետք է զգույշ լինենք դրանք օգտագործելիս: Բացի այդ, մենք պետք է ավելի լավ պատկերացում ունենանք այս հրամանների բնույթի մասին, ինչպես են դրանք աշխատում, ինչպես նաև որոշ մանրակրկիտ պլանավորում նախքան դրանք օգտագործելը, որպեսզի կանխենք էական բաների բացակայությունը:Վերջապես, այս երկու հրամաններն էլ կարող են օգտագործվել տվյալների բազաները արագ և հեշտությամբ մաքրելու համար՝ սպառելով ավելի քիչ ռեսուրսներ:

Խորհուրդ ենք տալիս: