Жою және кесу

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

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

Тарату пәрмені

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

ҮСТІН ТАБЫҢЫЗ

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

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

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

Кесу командасы

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

НҰСҚАУЛЫ КЕСТЕ

Біз бүкіл деректерді жойғымыз келетін кесте атауын жоғарыдағы синтаксиске ауыстыруымыз керек.

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

Drop және Truncate арасындағы айырмашылық неде?

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

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

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

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