Sil və Kəsilmə
Hər iki SQL (Struktur Sorğu Dili) əmrləri, Sil və Kəsmə verilənlər bazasındakı cədvəllərdə saxlanılan məlumatlardan xilas olmaq üçün istifadə olunur. Sil DML (Data Manipulation Language) ifadəsidir və cədvəlin bəzi və ya bütün sətirlərini silir. Silinməsi tələb olunan sətirləri təyin etmək üçün 'Harada bəndi' istifadə olunur və harada bəndi Delete ifadəsi ilə istifadə edilmirsə, cədvəldəki bütün məlumatları silir. Kəsmə DDL (Data Definition Language) ifadəsidir və bütün məlumatları cədvəldən silir. Bu əmrlərin hər ikisi cədvəl strukturunu və cədvələ istinadları məhv etmir və lazım olduqda yalnız məlumatlar silinir.
Bəyanatı Sil
Delete bəyanatı istifadəçiyə verilənlər bazasındakı mövcud cədvəldən verilənləri müəyyən edilmiş şərt əsasında silməyə imkan verir və bu şərti müəyyən etmək üçün 'Harada bəndi' istifadə olunur. Sil əmri daxil edilmiş icra kimi istinad edilir, çünki o, bir anda yalnız bir sıra silir və əməliyyat jurnalında hər bir sıra silinməsi üçün qeyd saxlayır. Beləliklə, bu, əməliyyatın daha yavaş olmasına səbəb olur. Sil DML ifadəsidir və buna görə də əmri yerinə yetirərkən avtomatik olaraq yerinə yetirilmir. Buna görə də, tələb olunarsa, məlumatlara yenidən daxil olmaq üçün Sil əməliyyatı geri qaytarıla bilər. Sil əmri yerinə yetirildikdən sonra dəyişiklikləri həmişəlik saxlamaq üçün onu yerinə yetirmək və ya geri qaytarmaq lazımdır. Sil bəyanatı cədvəlin cədvəl strukturunu verilənlər bazasından silmir. Həmçinin o, cədvəlin istifadə etdiyi yaddaş yerini ayırmır.
Sil əmri üçün tipik sintaksis aşağıda göstərilmişdir.
DAN SİLİN
və ya
HARADAN SİLİN
Kəsmə Bəyanatı
Truncate ifadəsi verilənlər bazasındakı mövcud cədvəldən bütün məlumatları silir, lakin o, eyni cədvəl strukturunu, həmçinin bütövlüyün məhdudiyyətlərini, giriş imtiyazlarını və digər cədvəllərlə əlaqələri qoruyur. Beləliklə, cədvəli yenidən təyin etmək tələb olunmur və istifadəçi cədvəldən yenidən istifadə etmək istəsə, köhnə cədvəl strukturundan istifadə edilə bilər. Kəsmə, məlumatları saxlamaq üçün istifadə edilən məlumat səhifələrini ayırmaqla bütün məlumatları silir və yalnız bu səhifə boşalmaları əməliyyat jurnalında saxlanılır. Buna görə də, truncate əmri əməliyyat üçün yalnız daha az sistem və əməliyyat jurnalı resurslarından istifadə edir, ona görə də digər əlaqəli əmrlərdən daha sürətlidir. Kəsmək DDL əmridir, ona görə də bəyanatın icrasından əvvəl və sonra avtomatik öhdəliklərdən istifadə edir. Beləliklə, kəsmə heç bir şəkildə məlumatları yenidən geri qaytara bilməz. O, icradan sonra cədvəlin istifadə etdiyi yaddaş boşluğunu buraxır. Lakin Kəsmə ifadəsi xarici açar məhdudiyyətləri ilə istinad edilən cədvəllərdə tətbiq edilə bilməz.
Aşağıdakılar Kəsmə ifadəsi üçün ümumi sintaksisdir.
CƏDVƏLİ KESİN
Sil və Kəsilmə arasındakı fərq nədir?
1. Sil və Kəsmə əmrləri cədvəl strukturuna və ya cədvəlin digər istinadlarına zərər vermədən verilənlər bazasındakı mövcud cədvəllərdən məlumatları silir.
2. Bununla belə, Sil əmri müvafiq şərtdən istifadə etməklə yalnız cədvəldəki xüsusi sətirləri silmək və ya heç bir şərt olmadan bütün sətirləri silmək üçün istifadə oluna bilər, Kəsmə əmri isə yalnız cədvəldəki bütün məlumatları silmək üçün istifadə edilə bilər.
3. Sil DML əmridir və lazım olduqda əməliyyatı geri qaytara bilər, lakin Kəsmə DDL əmridir, ona görə də o, avtomatik icra bəyanatıdır və heç bir şəkildə geri qaytarıla bilməz. Buna görə də verilənlər bazası idarəetməsində bu əmrdən diqqətlə istifadə etmək vacibdir.
4. Kəsmə əməliyyatı Silinmə əməliyyatından daha az sistem resursları və tranzaksiya jurnalı resursları sərf edir, buna görə də Kəsmə Silməkdən daha sürətli hesab olunur.
5. Həmçinin, Silinmə cədvəlin istifadə etdiyi məkanı boş altmır, Kəsmə isə icradan sonra istifadə olunan yeri boşaldır, beləliklə, verilənlər bazası cədvəlindən bütün verilənlərin silinməsi halında Silin effektiv deyil.
6. Bununla belə, Cədvəl xarici açar məhdudiyyəti ilə istinad edildikdə Kəsmədən istifadə etməyə icazə verilmir və bu halda Kəsmə əvəzinə Sil əmri istifadə edilə bilər.
7. Nəhayət, bu əmrlərin hər ikisinin Verilənlər Bazasının İdarəetmə Sistemlərində tətbiqində üstünlükləri və çatışmazlıqları var və istifadəçi yaxşı nəticələr əldə etmək üçün bu əmrlərdən düzgün istifadə etməyi bilməlidir.