Düşdürmək və Kəsmək Arasındakı Fərq

Düşdürmək və Kəsmək Arasındakı Fərq
Düşdürmək və Kəsmək Arasındakı Fərq

Video: Düşdürmək və Kəsmək Arasındakı Fərq

Video: Düşdürmək və Kəsmək Arasındakı Fərq
Video: GÖZÜ ZƏİF OLANLARI APARIRLARMI?| NAMAZA İCAZƏ VARMI?| SUAL CAVAB #1| AZƏRBAYCANDA ƏSGƏRLİK 2024, Noyabr
Anonim

Düşmək və Kəsmək

Drop və Kəsmə verilənlər bazası İdarəetmə Sistemlərində istifadə olunan iki SQL (Strukturlaşdırılmış Sorğu Dili) ifadələridir, burada verilənlər bazasından məlumat qeydlərini silmək istəyirik. Həm Drop, həm də Kəsmə ifadələri cədvəldəki bütün məlumatları və əlaqəli SQL ifadəsini silir. Silinmə əməliyyatı bu halda effektiv deyil, çünki o, Düşdürmək və Kəsməkdən daha çox yaddaşdan istifadə edir.

Əgər verilənlər bazasındakı cədvəli bütün məlumatları ilə birlikdə silmək istəsək, SQL Drop ifadəsindən istifadə edərək bunu asanlıqla yerinə yetirməyə imkan verir. Drop əmri DDL (Data Definition Language) əmridir və o, mövcud verilənlər bazasını, cədvəli, indeksi və ya görünüşü məhv etmək üçün istifadə edilə bilər. Cədvəldəki bütün məlumatları, həmçinin cədvəl strukturunu verilənlər bazasından silir. Həmçinin, cədvəldəki bütün məlumatlardan sadəcə olaraq, lakin cədvəl olmadan xilas olmaq istəyə bilərik və belə bir ssenaridə SQL-də Truncate ifadəsindən istifadə edə bilərik. Kəsmə həm də DDL əmridir və o, cədvəldəki bütün sətirləri aradan qaldırır, lakin gələcək istifadə üçün cədvəl tərifini eyni şəkildə saxlayır.

Düşdürmə əmri

Əvvəlcə qeyd edildiyi kimi, Düşdürmə əmri cədvəlin tərifini və onun bütün məlumatlarını, tamlıq məhdudiyyətlərini, indeksləri, tetikleyicileri və həmin cədvəldə yaradılmış giriş imtiyazlarını silir. Beləliklə, o, mövcud obyekti verilənlər bazasından tamamilə çıxarır və digər cədvəllərlə əlaqələr də əmri yerinə yetirdikdən sonra artıq etibarlı olmayacaq. Həmçinin məlumat lüğətindən cədvəl haqqında bütün məlumatları silir. Aşağıda cədvəldə Drop ifadəsindən istifadə üçün tipik sintaksis verilmişdir.

YÜKLƏN CƏDVƏL

Biz sadəcə Drop əmrinin yuxarıdakı nümunəsində verilənlər bazasından silmək istədiyimiz cədvəl adını əvəz etməliyik.

Qeyd etmək vacibdir ki, Drop ifadəsi artıq xarici açar məhdudiyyəti ilə istinad edilmiş cədvəli silmək üçün istifadə edilə bilməz. Bu halda, istinad edən xarici açar məhdudiyyəti və ya həmin xüsusi cədvəl əvvəlcə atılmalıdır. Həmçinin, Drop bəyanatı verilənlər bazasındakı sistem cədvəllərində tətbiq edilə bilməz.

Düşdürmə əmri avtomatik icra bəyanatı olduğundan, işə salındıqdan sonra əməliyyat geri qaytarıla bilməz və heç bir tetikleyici işə salınmayacaq. Cədvəl atıldıqda, cədvələ edilən bütün istinadlar etibarlı olmayacaq və buna görə də, cədvəldən yenidən istifadə etmək istəsək, bütün bütövlük məhdudiyyətləri və giriş imtiyazları ilə yenidən yaradılmalıdır. Digər cədvəllərlə bütün əlaqələr də yenidən yerləşdirilməlidir.

Kəsdir əmri

Kəsdir əmri DDL əmridir və o, heç bir istifadəçi tərəfindən müəyyən edilmiş şərtlər olmadan cədvəldəki bütün sətirləri silir və cədvəlin istifadə etdiyi boşluğu buraxır, lakin sütunları, indeksləri və məhdudiyyətləri ilə cədvəl strukturu eyni qalır. Kəsmə cədvəl məlumatlarını saxlamaq üçün istifadə edilən məlumat səhifələrini ayırmaqla məlumatları cədvəldən silir və yalnız bu səhifə boşalmaları əməliyyat jurnalında saxlanılır. Beləliklə, o, Sil kimi digər əlaqəli SQL əmrləri ilə müqayisədə daha az əməliyyat jurnalı resurslarından və sistem resurslarından istifadə edir. Beləliklə, Truncate digərlərindən bir az daha sürətli ifadədir. Aşağıda Kəsmə əmri üçün tipik sintaksis verilmişdir.

CƏDVƏLİ KESİN

Bütün datanı silmək istədiyimiz cədvəl adını yuxarıdakı sintaksisdə əvəz etməliyik.

Kəsmək xarici açar məhdudiyyəti ilə istinad edilmiş cədvəldə istifadə edilə bilməz. O, hərəkət etməzdən əvvəl avtomatik olaraq öhdəliyi, sonra isə başqa bir öhdəliyi istifadə edir, beləliklə, əməliyyatın geri qaytarılması mümkün deyil və heç bir tetikleyici işə salınmır. Cədvəldən yenidən istifadə etmək istəyiriksə, yalnız verilənlər bazasındakı mövcud cədvəl tərifinə daxil olmalıyıq.

Düşdürmək və Kəsmək arasındakı fərq nədir?

Həm Düşdür, həm də Kəsmə əmrləri DDL əmrləri və həmçinin avtomatik icra bəyanatlarıdır, ona görə də bu əmrlərdən istifadə etməklə həyata keçirilən əməliyyatlar geri qaytarıla bilməz.

Düşdürmə və Kəsmə arasındakı əsas fərq ondan ibarətdir ki, Düşdürmə əmri yalnız cədvəldəki bütün məlumatları deyil, həm də cədvəl strukturunu bütün istinadlarla verilənlər bazasından daimi olaraq silir, Kəsmə əmri isə yalnız bütün məlumatları silir. cədvəldəki sətirləri və o, cədvəl strukturunu və onun istinadlarını qoruyur.

Cədvəl yıxılarsa, digər cədvəllərlə əlaqələr artıq etibarlı olmayacaq və bütövlük məhdudiyyətləri və giriş imtiyazları da silinəcək. Beləliklə, cədvəlin təkrar istifadəsi tələb olunarsa, o, əlaqələr, bütövlük məhdudiyyətləri və həmçinin giriş imtiyazları ilə yenidən qurulmalıdır. Lakin cədvəl kəsilərsə, cədvəl strukturu və onun məhdudiyyətləri gələcək istifadə üçün qalır və beləliklə, təkrar istifadə üçün yuxarıdakı rekreasiyalardan heç biri tələb olunmur.

Bu əmrlər tətbiq edildikdə, onlardan istifadə etmək üçün ehtiyatlı olmalıyıq. Həmçinin, biz bu əmrlərin mahiyyətini, necə işlədiyini daha yaxşı başa düşməliyik, həmçinin əsas şeyləri itirməmək üçün istifadə etməzdən əvvəl bəzi diqqətli planlaşdırma aparmalıyıq. Nəhayət, bu əmrlərin hər ikisi daha az resurs sərf etməklə verilənlər bazalarını tez və asanlıqla təmizləmək üçün istifadə edilə bilər.

Tövsiyə: