Perbedaan Antara Jatuhkan dan Terpotong

Perbedaan Antara Jatuhkan dan Terpotong
Perbedaan Antara Jatuhkan dan Terpotong

Video: Perbedaan Antara Jatuhkan dan Terpotong

Video: Perbedaan Antara Jatuhkan dan Terpotong
Video: Difference Between B.Tech and B.E | Bachelor of Technology Versus Bachelor of Engineering | 2020-21 2024, November
Anonim

Menjatuhkan vs Memotong

Drop dan Truncate adalah dua pernyataan SQL (Structured Query Language) yang digunakan dalam Sistem Manajemen Basis Data, di mana kita ingin menghapus catatan data dari basis data. Baik pernyataan Drop dan Truncate menghapus seluruh data dalam tabel dan pernyataan SQL terkait. Operasi penghapusan tidak efektif dalam kasus ini karena menggunakan lebih banyak ruang penyimpanan daripada Drop dan Truncate.

Dalam kasus, jika kita ingin membuang tabel dalam database bersama dengan semua datanya, SQL memungkinkan kita untuk melakukan ini dengan mudah menggunakan pernyataan Drop. Perintah drop adalah perintah DDL (Data Definition Language), dan dapat digunakan untuk menghancurkan database, tabel, indeks, atau tampilan yang ada. Ini menghapus seluruh informasi dalam tabel, serta struktur tabel dari database. Juga, kita mungkin ingin menyingkirkan semua data dalam tabel secara sederhana, tetapi tanpa tabel, dan kita dapat menggunakan pernyataan Truncate dalam SQL dalam skenario seperti itu. Truncate juga merupakan perintah DDL dan menghilangkan semua baris dalam tabel tetapi mempertahankan definisi tabel yang sama untuk penggunaan di masa mendatang.

Jatuhkan perintah

Seperti yang disebutkan sebelumnya, perintah Drop menghapus definisi tabel dan semua datanya, batasan integritas, indeks, pemicu, dan hak akses, yang dibuat pada tabel tersebut. Jadi itu menjatuhkan objek yang ada dari database sepenuhnya, dan hubungan ke tabel lain juga tidak akan valid lagi setelah menjalankan perintah. Juga menghapus semua informasi tentang tabel dari kamus data. Berikut ini adalah sintaks khas untuk menggunakan pernyataan Drop pada tabel.

TABEL DROP

Kita cukup mengganti nama tabel yang ingin kita hapus dari database pada contoh perintah Drop di atas.

Penting untuk menunjukkan bahwa pernyataan Drop tidak dapat digunakan untuk menghapus tabel, yang telah direferensikan oleh batasan kunci asing. Dalam hal ini, batasan kunci asing referensi, atau tabel tertentu harus dihilangkan terlebih dahulu. Juga, pernyataan Drop tidak dapat diterapkan pada tabel sistem di database.

Karena perintah Drop adalah pernyataan komit otomatis, operasi setelah diaktifkan tidak dapat dibatalkan dan tidak ada pemicu yang akan diaktifkan. Ketika sebuah tabel dijatuhkan, semua referensi ke tabel tersebut tidak akan valid, dan oleh karena itu, jika kita ingin menggunakan tabel tersebut lagi, tabel tersebut harus dibuat ulang dengan semua batasan integritas dan hak akses. Semua hubungan ke tabel lain, juga harus ditemukan lagi.

Memotong perintah

Perintah Truncate adalah perintah DDL, dan menghapus semua baris dalam tabel tanpa kondisi yang ditentukan pengguna, dan melepaskan ruang yang digunakan oleh tabel, tetapi struktur tabel dengan kolom, indeks, dan batasannya tetap sama. Truncate menghilangkan data dari tabel dengan membatalkan alokasi halaman data yang digunakan untuk menyimpan data tabel, dan hanya alokasi halaman ini yang disimpan dalam log transaksi. Jadi ini menggunakan lebih sedikit sumber daya log transaksi dan sumber daya sistem dibandingkan dengan perintah SQL terkait lainnya seperti Hapus. Jadi Truncate adalah pernyataan yang sedikit lebih cepat daripada yang lain. Berikut ini adalah sintaks khas untuk perintah Truncate.

TRUNCATE TABEL

Kita harus mengganti nama tabel, dari mana kita ingin menghapus seluruh data, dalam sintaks di atas.

Truncate tidak dapat digunakan pada tabel yang telah direferensikan oleh batasan kunci asing. Ini menggunakan komit secara otomatis sebelum bertindak dan komit lain sesudahnya sehingga pengembalian transaksi tidak mungkin, dan tidak ada pemicu yang dipecat. Jika kita ingin menggunakan kembali tabel kita hanya perlu mengakses definisi tabel yang ada di database.

Apa perbedaan antara Drop dan Truncate?

Baik perintah Drop dan Truncate adalah perintah DDL dan juga pernyataan auto commit sehingga transaksi yang dilakukan menggunakan perintah ini tidak dapat dibatalkan.

Perbedaan utama antara Drop dan Truncate adalah bahwa perintah Drop menghapus, tidak hanya semua data dalam tabel, tetapi juga menghapus struktur tabel secara permanen dari database dengan semua referensi, sedangkan perintah Truncate hanya menghapus semua baris dalam tabel, dan mempertahankan struktur tabel dan referensinya.

Jika sebuah tabel dijatuhkan, hubungan ke tabel lain tidak lagi valid, dan batasan integritas dan hak akses juga akan dihapus. Jadi jika tabel diperlukan untuk digunakan kembali, tabel tersebut harus direkonstruksi dengan hubungan, batasan integritas, dan juga hak akses. Tetapi jika sebuah tabel terpotong, struktur tabel dan batasannya tetap untuk digunakan di masa mendatang, dan oleh karena itu, salah satu rekreasi di atas tidak diperlukan untuk digunakan kembali.

Saat perintah ini diterapkan, kita harus berhati-hati dalam menggunakannya. Juga, kita harus memiliki pemahaman yang lebih baik tentang sifat perintah ini, cara kerjanya, dan juga beberapa perencanaan yang cermat sebelum menggunakannya untuk mencegah hal-hal penting yang hilang. Terakhir, kedua perintah ini dapat digunakan untuk membersihkan database dengan cepat dan mudah, dengan menggunakan lebih sedikit sumber daya.

Direkomendasikan: