Structure Query Language

Apa Itu SQL?
Structure Query Language (SQL) adalah bahasa pemrograman untuk menyimpan dan memproses informasi dalam basis data relasional. Sebuah basis data relasional menyimpan informasi dalam bentuk tabel, dengan baris dan kolom yang mewakili atribut data yang berbeda serta berbagai hubungan antara nilai data. Anda dapat menggunakan pernyataan SQL untuk menyimpan, memperbarui, menghapus, mencari, dan mengambil informasi dari basis data. Anda juga dapat menggunakan SQL untuk memelihara dan mengoptimalkan performa basis data.
SQL memiliki berbagai fitur dan kemampuan yang memungkinkan pengguna untuk mengelola basis data relasional dengan beragam operasi. Berikut adalah beberapa fitur utama dari SQL:
Fitur SQL
-
Query Language: SQL adalah bahasa khusus yang memungkinkan pengguna untuk mengambil data dari basis data dengan menggunakan perintah SELECT. Perintah ini dapat dilengkapi dengan klausa WHERE untuk melakukan filter data dan klausa JOIN untuk menggabungkan data dari beberapa tabel.
-
Data Manipulation: SQL memungkinkan pengguna untuk menyisipkan data baru ke dalam tabel (INSERT), memperbarui data yang sudah ada (UPDATE), dan menghapus data (DELETE).
-
Data Definition: SQL juga memiliki perintah untuk membuat tabel baru (CREATE TABLE), mengubah struktur tabel (ALTER TABLE), dan menghapus tabel (DROP TABLE).
-
Constraint: SQL mendukung penggunaan constraint untuk memastikan integritas data, seperti PRIMARY KEY (kunci utama), FOREIGN KEY (kunci asing), UNIQUE (unik), NOT NULL (tidak boleh NULL), dan lain-lain.
-
Indexing: SQL mendukung pembuatan indeks untuk mempercepat operasi pencarian data dan meningkatkan kinerja basis data.
-
Transaction Management: SQL mendukung transaksi yang memungkinkan pengguna untuk menjalankan beberapa perintah sebagai satu kelompok aksi yang atomik, yaitu entah semuanya berhasil dilakukan atau semua diabaikan.
-
View: SQL memungkinkan pengguna untuk membuat tampilan virtual (VIEW) yang merupakan hasil dari kueri yang dapat diakses seperti tabel.
-
Function dan Procedure: SQL mendukung pembuatan fungsi (FUNCTION) dan prosedur (PROCEDURE) yang dapat digunakan untuk melakukan tugas tertentu dan digunakan dalam kueri.
-
Aggregate Functions: SQL memiliki fungsi agregat, seperti SUM, COUNT, AVG, MIN, dan MAX, yang digunakan untuk melakukan perhitungan statistik pada data dalam tabel.
-
Data Control Language (DCL): SQL memiliki perintah untuk mengontrol hak akses ke basis data, seperti GRANT (memberikan hak akses) dan REVOKE (mencabut hak akses).
Ini hanyalah beberapa contoh fitur utama dari SQL. SQL memiliki banyak fitur lainnya yang memungkinkan pengguna untuk melakukan berbagai operasi yang kompleks dan efisien pada basis data relasional.
DDL (DATA DEFINITION LANGUAGE)
Berikut beberapa contoh penggunaan DDL (Data Definition Language) dalam bahasa SQL:
- Membuat database baru:
CREATE DATABASE nama_database;
- Membuat tabel baru untuk menyimpan informasi produk:
CREATE TABLE produk ( id INT PRIMARY KEY, nama VARCHAR(50) NOT NULL, harga DECIMAL(10, 2), stok INT );
- Menambahkan kolom baru kedalam tabel produk untuk menyimpan kategori produk:
ALTER TABLE produk ADD kategori VARCHAR(50);
- Membuat constraint (batasan) PRIMARY KEY pada tabel:
ALTER TABLE produk ADD CONSTRAINT pk_produk_id PRIMARY KEY (id);
- Membuat Constraint UNIQUE untuk memastikan tidak ada duplikasi pada kolom tertentu:
ALTER TABLE produk ADD CONSTRAINT uk_nama_produk UNIQUE (nama);
- Menghapus kolom yang tidak diperlukan tabel:
ALTER TABLE produk DROP COLUMN stok;
- Menghapus constraint yang sudah ada pada tabel:
ALTER TABLE produk DROP CONSTRAINT uk_nama_produk;
- Membuat tabel baru untuk menyimpan data pelanggan dan mengatur constraint FOREIGN KEY:
CREATE TABLE pelanggan ( id INT PRIMARY KEY, nama VARCHAR(50) NOT NULL, alamat VARCHAR(100), produk_id INT, FOREIGN KEY (produk_id) REFERENCES produk(id));
- Membuat index untuk mempercepat pencarian data:
CREATE INDEX idx_nama_produk ON produk (nama);
- Menghapus tabel yang tidak diperlukan dari database:
DROP TABLE pelanggan;
DML (DATA MANIPULATION LANGUAGE)
Perintah-perintah DDL ini digunakan untuk membuat, mengubah, dan menghapus struktur database, tabel, kolom, dan constraint. Ingatlah bahwa perintah DDL memiliki dampak permanen pada struktur database, jadi pastikan untuk menggunakan perintah dengan hati-hati dan pastikan untuk memiliki salinan cadangan data penting sebelum melakukan perubahan.
- Membuat tabel baru:
CREATE TABLE employees ( employee_id INT PRIMARY KEY, first_name VARCHAR(50), last_name VARCHAR(50), department VARCHAR(50), hire_date DATE );
- Mengubah tabel dengan menambahkan kolom baru:
ALTER TABLE employees ADD salary DECIMAL(10, 2);
- Mengubah tabel dengan menghapus kolom:
ALTER TABLE employees DROP COLUMN department;
- Membuat indeks pada tabel untuk meningkatkan performa pencarian:
CREATE INDEX idx_employee_lastname ON employees (last_name);
- Membuat constraint UNIQUE pada kolom untuk mencegah duplikasi data:
ALTER TABLE employees ADD CONSTRAINT uk_employee_email UNIQUE (email);
- Membuat constraint FOREIGN KEY untuk menghubungkan dua tabel:
CREATE TABLE departments ( department_id INT PRIMARY KEY, department_name VARCHAR(100) ); ALTER TABLE employees ADD department_id INT; ALTER TABLE employees ADD CONSTRAINT fk_department_id FOREIGN KEY (department_id) REFERENCES departments (department_id);
- Menghapus constraint dari tabel:
ALTER TABLE employees DROP CONSTRAINT fk_department_id;
- Menghapus tabel dari database:
DROP TABLE employees;
- Menghapus indeks dari tabel:
DROP INDEX idx_employee_lastname;
- Menghapus database:
DROP DATABASE my_database;
- Mengisi data tabel:
INSERT INTO pelanggan (nama, alamat)
VALUES ('John Doe', '123 Main Street');