Apa itu SQL, DDL, DML, DCL, dan TCL

 SQL  (Structured Query Language)

SQL adalah bahasa pemrograman standar yang dirancang khusus untuk mengelola dan memanipulasi data dalam sistem manajemen basis data relasional (RDBMS). SQL pertama kali dikembangkan oleh IBM pada tahun 1970-an dan kemudian menjadi standar ANSI (American National Standards Institute) dan ISO (International Organization for Standardization).

Karakteristik SQL :

  • Bahasa deklaratif (menjelaskan apa yang diinginkan, bukan bagaimana melakukannya)
  • Mudah dipelajari dengan sintaks mirip bahasa Inggris
  • Dapat digunakan secara interaktif atau embedded dalam bahasa pemrograman lain
  • Mendukung berbagai operasi database seperti query, update, insert, dan delete
  • Platform-independent (dapat digunakan di berbagai RDBMS seperti MySQL, PostgreSQL, Oracle, SQL Server)

DDL (Data Definition Language)

DDL adalah bahasa yang digunakan untuk mendefinisikan struktur dan skema database. Perintah DDL bersifat auto-commit, artinya perubahan langsung tersimpan secara permanen.
Perintah-perintah DDL :
1. CREATE
Digunakan untuk membuat objek database baru.

2. ALTER
Digunakan untuk memodifikasi struktur objek database yang sudah ada.


3. DROP
Digunakan untuk menghapus objek database secara permanen.


4. TRUNCATE
Menghapus semua data dari tabel tetapi mempertahankan strukturnya. Lebih cepat dari DELETE karena tidak mencatat setiap baris yang dihapus.

5. RENAME
Mengubah nama objek database.


DML (Data Manipulation Language)

DML adalah bahasa yang digunakan untuk memanipulasi data dalam tabel. Perintah DML tidak auto-commit (kecuali dalam mode autocommit), sehingga perubahan dapat di-rollback sebelum di-commit.
Perintah-perintah DML:

1. SELECT
Mengambil data dari satu atau lebih tabel.
2. INSERT
Menambahkan data baru ke dalam tabel.

3. UPDATE
Mengubah data yang sudah ada dalam tabel.

4. DELETE
Menghapus data dari tabel.


DCL (Data Control Language)

DCL adalah bahasa yang digunakan untuk mengontrol hak akses dan keamanan database. Perintah DCL menentukan siapa yang dapat mengakses data dan apa yang dapat mereka lakukan.
Perintah-perintah DCL:

1. GRANT
Memberikan hak akses kepada user.

2. REVOKE
Mencabut hak akses dari user.

Tipe-tipe Privilege:

  • SELECT: membaca data
  • INSERT: menambah data
  • UPDATE: mengubah data
  • DELETE: menghapus data
  • CREATE: membuat objek database
  • DROP: menghapus objek database
  • ALTER: mengubah struktur
  • INDEX: membuat/menghapus index
  • EXECUTE: menjalankan stored procedure/function
  • ALL PRIVILEGES: semua hak akses

TCL (Transaction Control Language)

TCL adalah bahasa yang digunakan untuk mengelola transaksi dalam database. Transaksi adalah unit kerja yang harus dilakukan secara lengkap atau tidak sama sekali (konsep ACID: Atomicity, Consistency, Isolation, Durability).
Perintah-perintah TCL:

1. COMMIT
Menyimpan semua perubahan transaksi secara permanen ke database.


2. ROLLBACK
Membatalkan semua perubahan yang belum di-commit dan mengembalikan database ke state sebelum transaksi dimulai.


3. SAVEPOINT
Membuat titik penanda dalam transaksi yang memungkinkan rollback parsial.

4. RELEASE SAVEPOINT
Menghapus savepoint yang sudah dibuat.
5. SET TRANSACTION
Mengatur karakteristik transaksi.


Isolation Levels dalam Transaksi:

1. READ UNCOMMITTED: Level terendah, dapat membaca data yang belum di-commit
2. READ COMMITTED: Hanya membaca data yang sudah di-commit
3. REPEATABLE READ: Menjamin pembacaan data yang sama dalam satu transaksi
4. SERIALIZABLE: Level tertinggi, transaksi benar-benar terisolasi

Contoh Penggunaan Transaksi dalam Skenario Real:










Komentar