Ашу және қысқарту арасындағы айырмашылық

Ашу және қысқарту арасындағы айырмашылық
Ашу және қысқарту арасындағы айырмашылық

Бейне: Ашу және қысқарту арасындағы айырмашылық

Бейне: Ашу және қысқарту арасындағы айырмашылық
Бейне: Павлодар облысында қала мен ауыл мектептері арасындағы айырмашылықты қысқартуға күш салынуда 2024, Шілде
Anonim

Қою және қысқарту

Қою және қысқарту - дерекқорды басқару жүйелерінде пайдаланылатын екі SQL (құрылымдық сұрау тілі) мәлімдемесі, мұнда дерекқордан деректер жазбаларын жойғымыз келеді. Drop және Truncate операторлары кестедегі барлық деректерді және қатысты SQL мәлімдемесін жояды. Бұл жағдайда жою әрекеті тиімді емес, себебі ол "Қою" және "Кесу" қарағанда көбірек сақтау орнын пайдаланады.

Егер дерекқордағы кестені оның барлық деректерімен бірге алып тастағымыз келсе, SQL оны Drop операторы арқылы оңай орындауға мүмкіндік береді. Drop пәрмені DDL (Деректерді анықтау тілі) пәрмені болып табылады және оны бар дерекқорды, кестені, индексті немесе көріністі жою үшін пайдалануға болады. Ол кестедегі барлық ақпаратты, сонымен қатар деректер қорынан кесте құрылымын жояды. Сондай-ақ, біз кестедегі барлық деректерден қарапайым, бірақ кестесіз құтылғымыз келуі мүмкін және мұндай сценарийде SQL-де Truncate операторын пайдалана аламыз. Кесу де DDL пәрмені болып табылады және ол кестедегі барлық жолдарды жояды, бірақ болашақта пайдалану үшін кесте анықтамасын бірдей сақтайды.

Ашу командасы

Бұған дейін айтылғандай, Drop пәрмені кесте анықтамасын және оның барлық деректерін, тұтастық шектеулерін, индекстерді, триггерлерді және сол кестеде жасалған кіру артықшылықтарын жояды. Осылайша ол бар нысанды дерекқордан толығымен алып тастайды және басқа кестелермен байланыстар да пәрменді орындағаннан кейін жарамсыз болады. Сондай-ақ ол деректер сөздігінен кесте туралы барлық ақпаратты жояды. Төменде кестеде Drop операторын қолдануға арналған әдеттегі синтаксис берілген.

КЕСТЕНДІ АЛУ

Бізге Drop пәрменінің жоғарыдағы мысалында дерекқордан өшіргіміз келетін кесте атауын жай ғана ауыстыруымыз керек.

Drop операторын шетелдік кілт шектеуімен сілтеме жасалған кестені жою үшін пайдалану мүмкін емес екенін атап өту маңызды. Бұл жағдайда, сілтеме жасайтын сыртқы кілт шектеуі немесе сол нақты кесте алдымен алынып тасталуы керек. Сондай-ақ, Drop операторын дерекқордағы жүйелік кестелерде қолдану мүмкін емес.

Ашу пәрмені автоматты түрде орындау мәлімдемесі болғандықтан, бір рет іске қосылған операцияны кері қайтару мүмкін емес және ешқандай триггерлер іске қосылмайды. Кестені тастаған кезде кестеге барлық сілтемелер жарамсыз болады, сондықтан кестені қайта пайдаланғымыз келсе, оны барлық тұтастық шектеулерімен және қол жеткізу артықшылықтарымен қайта жасау керек. Басқа кестелерге қатысты барлық байланыстар да қайта орналасуы керек.

Қысқарту командасы

Кесу пәрмені DDL пәрмені болып табылады және ол кестедегі барлық жолдарды пайдаланушы белгілеген шарттарсыз жояды және кесте пайдаланатын кеңістікті босатады, бірақ бағандары, индекстері және шектеулері бар кесте құрылымы өзгеріссіз қалады. Қысқарту кесте деректерін сақтау үшін пайдаланылатын деректер беттерін бөлу арқылы кестедегі деректерді жояды және тек осы беттерді бөлу транзакция журналында сақталады. Сондықтан ол Жою сияқты басқа қатысты SQL пәрмендерімен салыстырғанда транзакция журналының ресурстары мен жүйелік ресурстарды азырақ пайдаланады. Сондықтан Truncate басқаларға қарағанда сәл жылдамырақ мәлімдеме. Төменде "Кесу" пәрменінің әдеттегі синтаксисі берілген.

КЕСТЕНІ ҚЫСҚАРУ

Жоғарыдағы синтаксистегі деректерді толығымен алып тастағымыз келетін кесте атауын ауыстыруымыз керек.

Truncate сыртқы кілт шектеуі арқылы сілтеме жасалған кестеде қолданылмайды. Ол әрекет жасамас бұрын автоматты түрде міндеттемені, ал кейін басқа міндеттемені пайдаланады, сондықтан транзакцияны кері қайтару мүмкін емес және ешқандай триггерлер іске қосылмайды. Кестені қайта пайдаланғымыз келсе, дерекқордағы бар кесте анықтамасына ғана қол жеткізуіміз керек.

Ашу мен қиюдың айырмашылығы неде?

Қою және қию пәрмендерінің екеуі де DDL пәрмендері, сонымен қатар автоматты түрде орындау мәлімдемелері болып табылады, сондықтан осы пәрмендер арқылы орындалған транзакцияларды кері қайтару мүмкін емес.

Қою және Қиып тастау арасындағы негізгі айырмашылық мынада: Drop пәрмені кестедегі барлық деректерді ғана емес, сонымен қатар кесте құрылымын барлық сілтемелері бар дерекқордан біржола жояды, ал Қию пәрмені барлығын ғана жояды. кестедегі жолдарды және ол кесте құрылымын және оның сілтемелерін сақтайды.

Егер кесте жойылса, басқа кестелермен қарым-қатынастар жарамсыз болады және тұтастық шектеулері мен кіру артықшылықтары да жойылады. Сондықтан кестені қайта пайдалану қажет болса, оны қарым-қатынастармен, тұтастық шектеулерімен, сондай-ақ қол жеткізу артықшылықтарымен қайта құру керек. Бірақ кесте қысқартылса, кесте құрылымы мен оның шектеулері болашақта пайдалану үшін қалады, сондықтан қайта пайдалану үшін жоғарыдағы рекреациялардың ешқайсысы қажет емес.

Бұл пәрмендер қолданылғанда, біз оларды пайдалануда сақ болуымыз керек. Сондай-ақ, біз бұл пәрмендердің табиғатын, олардың қалай жұмыс істейтінін, сондай-ақ маңызды нәрселерді жоғалтпау үшін оларды қолданар алдында мұқият жоспарлауды жақсырақ түсінуіміз керек. Соңында, бұл пәрмендердің екеуін де дерекқорларды тез және оңай тазалау үшін пайдалануға болады, бұл аз ресурстарды тұтынады.

Ұсынылған: