Bahasa Query Komersial

Structure Query Language (SQL) dibuat oleh IBM pada tahun 1970 untuk digunakan untuk mengakses dan mengolah database.
JENIS SQL:

1. Interactive, langsung dapat dioperasikan
2. Embedded, disisipkan ke dalam sebuah program

PENGELOMPOKAN STATEMEN SQL

  1. Data Definition Language (DDL): Create Database, Create Table, Create Index (untuk membuat primary key), Create View (untuk mengambil sebagian kolom), Alter Table (untuk memodifikasi table), Drop Database, Drop Table, Drop Index, Drop View
  2. Data Manipulation Language (DML): Insert, Select, Update, Delete
  3. Data Access: Grant, Revoke
  4. Data Integrity: Recover Table
  5. Auxiliary: Unload, Load, Rename Column
KASUS DATA DEFINITION LANGUAGE (DDL)
1. Pembuatan Database

Sintaks : CREATE DATABASE (nama_db)
Contoh : Buat database dengan nama organisasi PT. ABC
Caranya : CREATE DATABASE PT_ABC
2. Pembuatan Table
Sintaks : CREATE TABLE nama_table (nama_kolom1 jenis kolom1,nama_kolom2 jenis_kolom2)
Contoh : Buat table dengan struktur database MHS (NPM char(8), NAMA char(25), ALAMAT char(30))
Caranya : CREATE TABLE MHS (NPM char(8) notnull, NAMA char(25)notnull, ALAMAT char(30) notnull)
Keterangan: notnull artinya data tidak boleh kosong
3. Pembuatan Index
Sintaks : CREATE UNIQUE INDEX nama_index ON nama_table (nama_kolom)
Contoh : Buat index mahasiswa berdasarkan NPM dengan nama MHSIN dimana NPM tidak boleh sama
Caranya : CREATE UNIQUE INDEX MHSIN ON MHS(NPM)
4. Pembuatan View
Sintaks : CREATE VIEW nama_view[(nama_kolom1,…)]
AS SELECT statement [WITH CHECK OPTION]
Contoh : Buat view dengan nama MHSVIEW yang berisi semua data mahasiwa
Caranya : CREATE VIEW MHSVIEW
AS SELECT * FROM MHS
5. Menghapus Database, Table, Index dan View
Sintaks : DROP DATABASE nama_db;
DROP TABLE nama_table; Contoh: DROP TABLE MHS
DROP INDEX nama_index;
DROP VIEW nama_view:
6. Merubah Struktur Table
Sintaks : ALTER TABLE nama_table
ADD (nama_kolom, jenis_kolom)
BEFORE (nama_kolom)
MODIFY (nama_kolom, jenis_kolom)
DROP (nama_kolom, jenis_kolom)
Contoh : - Tambahkan kolom JKEL dengan panjang 1 char pada table MHS
- Ubah panjang kolom MTKULIAH menjadi 30 char
- Hapus kolom JKEL dari data table MHS
Caranya : - ALTER TABLE MHS ADD (JKEL char(1));
- ALTER TABLE MKUL MODIFY (MTKULIAH char(30));
- ALTER TABLE MHS DROP (JKEL char(1));
KASUS DATA MANIPULATION LANGUAGE (DML)
1. INSERT

Sintaks : INSERT INTO nama_table[(nama_kolom1,…)]
Contoh : Masukkan data matakuliah berkas akses dengan kode KK222 & besarnya 2
Caranya : INSERT INTO MKUL VALUES (“KK222”,”Berkas Akses”,2);
2. UPDATE
Sintaks : UPDATE nama_table
SET nama_kolom = ekspresi
WHERE kondisi;
Contoh : Ubah alamat menjadi “Depok” untuk mahasiswa yang memiliki NPM “50096487”
Caranya : UPDATE MHS
SET ALAMAT=”Depok”
WHERE NPM=”50096487”
3. DELETE
Sintaks : DELETE FROM nama_table
WHERE kondisi
Contoh : Hapus data nilai matakuliah “KK021” bagi mahasiswa yang mempunyai NPM “10296832”
Caranya : DELETE FROM NILAI
WHERE NPM=”10296832” AND KDMK=”KK021”
4. SELECT
Menentukan informasi yang ingin dikeluarkan dari table-table untuk memberikan hasil table. Hasil yang dikeluarkan selalu berupa table relational.
Keterangan:
Select : memilih data yang akan ditampilkan berdasarkan atribut
Distinct : menghilangkan duplikasi
From : mendefinisikan seluruh table yang digunakan dalam query
Where : menentukan syarat data yang akan dipilih
Group by : mengelompokkan data yang mempunyai nila sama
Having : syarat data yang dikelompokkan digunakan bersama group by
Order by : mengurutkan data
Sintaks : SELECT [DISTINC] nama_kolom
FROM nama_table
[WHERE kondisi]
[GROUP BY nama_kolom]
[HAVING kondisi]
[ORDER BY nama_kolom [ASC/DESC]]
Contoh : tampilkan semua data mahasiswa
Caranya : SELECT NPM, NAMA, ALAMAT FROM MHS
atau bisa juga SELECT * FROM MHS
Contoh : Tampilkan Mata Kuliah yang SKSnya 2
Caranya : SELECT NAMA_MK FROM MATAKULIAH
WHERE SKS = 2
KASUS DATA ACCESS
1. GRANT

digunakan untuk memberikan hak akses, yang terdiri dari Insert, Update, Delete, Select.
Sintaks : GRANT hak_akses ON nama_db
[WITH GRANT OPTION]
[AS GRANTOR] atau
GRANT hak_akses ON nama_table
TO nama_pemakai
[WITH GRANT OPTION]
[AS GRANTOR]
Contoh : - Berikan hak akses kepada Adi untuk menampilkan nilai final tes
- Berikan hak akses atau baca dari table S pada user JIM
- Berikan hak baca dan ubah data untuk attribut status dan city pada user JIM dan Jack
Caranya : - GRANT SELECT (FINAL) ON NILAI TO ADI
- GRANT SELECT ON S TO JIM
- GRANT SELECT, Update(status,city) ON S TO JIM, JACK
2. REVOKE
digunakan untuk menarik hak akses pemakai.
Sintaks : REVOKE hak_akses ON nama_db
FROM nama_pemaikai; atau
REVOKE hak_akses ON nama_table
FROM nama_pemakai;
Contoh : - Tarik kembali dari Adi hak akses untuk menampilkan nilai final tes
- Menarik hak JIM untuk membaca pada table S
- Smith tidak boleh melakukan delete dan update untuk tabel P
- Joe tidak boleh melakukan apapun terhadap tabel S
Caranya : - REVOKE SELECT (FINAL) ON NILAI FROM ADI
- REVOKE SELECT ON S FROM JIM
- REVOKE DELETE, UPDATE ON P FROM SMITH
- REVOKE ALL ON S FROM JOE
KASUS DATA INTEGRITY
1. RECOVER TABE

Sintaks : RECOVER TABLE nama_table
Contoh : kembalikan keadaan data mahasiswa seperti pada saat sebelum terjadi kerusakan
Caranya : RECOVER TABLE MHS;
KASUS AUXILIARY
1. UNLOAD

Sintaks : UNLOAD TO “nama_path” DELIMETER “char_pemisah” SELECT statement;
Contoh : Ubah semua data mahasiswa ke bentuk ASCII dan disimpan ke file teks di directory /home/adi
Caranya : UNLOAD TO “/home/adi/teks” DELIMETER “|” SELECT FROM MHS;
2. LOAD
Sintaks : LOAD FROM “nama_path” DELIMETER “char_pemisah”
INSERT INTO nama_table [nama_kolom];
Contoh : merubah file teks ke table MHS_2 di directory /home/adi
Caranya : LOAD FROM “/home/adi/teks” DELIMETER “|” INSERT INTO MHS_2;
3. RENAME
Sintaks : RENAME_COLUMN nama_kolom_lama TO nama_kolom_baru
Contoh : Ganti nama kolom ALAMAT yang ada pada table MHS menjadi KOTA
Caranya : RENAME_COLUMN MHS ALAMAT TO KOTA

Tidak ada komentar:

Posting Komentar