05 Database Language
05 Database Language
Language)
Cempaka Ananggadipa Swastyastu S.Kom MT
Bahasa basis data umumnya dapat ditempelkan
(embbeded) ke bahasa pemrogarman lain, misalkan
ditempelkan kedalam bahasa Java,C/C++, Pascal, Basic,
Fortran, Ada dan lainnya.
ALTER TABLE
nama_table_lama RENAME
TO nama_table_baru;
Perubahan
pada Tabel
Untuk menambah Primary Key pada table, perintahnya
adalah:
Rumus :
DROP
DROP TABLE nama_tabel;
DROP DATABASE nama_database;
SELECT COUNT(*) AS
kolom_baru_hasil_hitung_data
FROM nama_tabel
WHERE ketentuan;
Fungsi SUM
Fungsi Aggregat SELECT SUM(kolom_yang_dihitung) AS
kolom_baru_hasil_hitung
FROM nama_tabel
WHERE ketentuan;
Fungsi MAX
SELECT MAX(kolom_yang_dihitung)
AS kolom_baru_hasil
FROM nama_tabel
WHERE ketentuan;
Fungsi Aggregat Fungsi MIN
SELECT MIN(kolom_yang_dihitung)
AS kolom_baru_hasil
FROM nama_tabel
WHERE ketentuan;
Fungsi AVG
Keterangan :
INSERT Kolom Pertama berisikan (1), tidak menggunakan petik
karena tipe datanya adalah integer.
Kolom Kedua dan Kelima (choir dan programmer), karena
tipe datanya varchar maka tanda petik diperlukan.
Kolom Ketiga (1994-04-25), tipe data date dianggap
sebagai string, jadi menggunakan petik
Kolom Keempat (false), tipe data kolom Boolean, hanya
berisi True / False.
Perintah UPDATE digunakan untuk mengubah data
pada suatu tabel dengan kriteria tertentu
Keterangan :
Menghapus data siswa yang memiliki nama “IRAWAN
SUJADMIKO”
Advanced SQL
Relational Set Operators menggunakan aljabar relasi
untuk memanipulasi konten dalam basis data.
Terdiri atas :
Relational Set UNION
Operators UNION ALL
INTERSECT
MINUS
Tujuan dari UNION adalah menggabungkan hasil dari
dua query sekaligus menghapus duplikasi. Dengan
kata lain, ketika menggunakan UNION, hanya nilai unik
yang digunakan. (serupa dengan SELECT DISTINCT)
Sintaks :
[SQL Statement 1]
UNION UNION
[SQL Statement 2];
Kolom yang dipilih pada [SQL Statement 1] dan [SQL
Statement 2] harus memiliki tipe data yang sama agar
UNION dapat berjalan.
Contoh :
Sintaks :
[SQL Statement 1]
UNION ALL UNION ALL
[SQL Statement 2];
Intersect bagus untuk menunjukkan nilai spesifik yang
sedang diduplikasi.
Perintah intersect berlaku seperti operator AND (Nilai
INTERSECT hanya dipilih jika terdapat di kedua statemen).
[SQL Statement 1]
INTERSECT
[SQL Statement 2];
Contoh :
MINUS Basically it takes all the results from the first SQL
statement, and then subtracts out the ones that are
present in the second SQL statement to get the final
answer.
If the second SQL statement includes results not present
in the first SQL statement, such results are ignored
Sintaks :
[SQL Statement 1]
MINUS
[SQL Statement 2];
MINUS
Contoh :
Terdiri atas :
SQL Join Inner
Outer
Operators Full
Left
Right
Menampilkan record/data yang memiliki nilai yang
sama pada dua buah tabel.
Dengan inner join, tabel akan digabungkan dua arah,
sehingga tidak ada data yang NULL di satu sisi.
Penggambaran :
Inner Join
Sintaks INNER JOIN menentukan record/data yang
memiliki nilai yang sama pada kedua tabel.
Penulisan Sintaks :
SELECT column_name(s)
FROM table1
INNER JOIN table2 ON table1.column_name =
table2.column_name;
Inner Join
Menampilkan record atau data ketika terdapat
persamaan pada salah satu table maupun keduanya.
Terbagi atas 3, yaitu
Outer Join Full
Right
Left
Menampilkan record atau data ketika terdapat
persamaan pada salah satu table maupun keduanya.
Penggambaran :
Full Join
Sintaks :
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2 ON
table1.column_name = table2.column_name;
Catatan :
Full Join FULL OUTER JOIN dapat menampilkan hasil yang sangat
besar.
Menampilkan record atau data ketika terdapat
kecocokan pada table kiri dan cocok dengan record
atau data di sebelah kanan.
Hasil akan menjadi NULL pada sisi kanan, bila tidak ada
kondisi yang cocok.
Left Join
Sintaks :
SELECT column_name(s)
FROM table1
LEFT JOIN table2 ON table1.column_name =
table2.column_name;
Left Join
Menampilkan record atau data ketika terdapat kondisi
yang sesuai pada table kanan dan cocok dengan record
di sebelah kiri.
Hasil akan menjadi NULL pada sisi kiri, bila tidak ada
kondisi yang cocok.
Right Join
Sintaks :
SELECT column_name(s)
FROM table1
RIGHT JOIN table2 ON table1.column_name =
table2.column_name;
Right Join
Subquery merupakan statemen SQL yang memiliki SQL
Subqueries and query lain tertampung di dalamnya.
Sintax yang digunakan biasanya WHERE atau HAVING
Correlated clause.
Queries
Karakteristik subquery :
Subquery merupakan query di dalam query (untuk
statemen SELECT)
Biasanya dituliskan di dalam kurung
Query pertama pada pernyataan SQL dikenal dengan
SELECT "column_name1"
FROM "table_name1"
WHERE "column_name2" [Comparison Operator]
(SELECT "column_name3"
FROM "table_name2"
WHERE "condition");
WHERE
Subqueries
[Comparison Operator] dapat berupa operator persamaan
dan pertidaksamaan seperti =, >, <, >=, <=. Dapat juga
berupa operator kata seperti "LIKE".
Penulisan berwarna orange merupakan "inner query,"
sementara penulisan berwarna putih merupakan"outer
query."
Trigger adalah sebuah objek database yang di
asosiasikan dengan sebuah tabel dan akan aktif
(terpicu/trigger) ketika sebuah event terjadi pada tabel
tersebut
Database trigger
Jenis Trigger Terjadi pada saat terjadi sebuah perubahan data seperti
DML pada table (INSERT, UPDATE atau DELETE)
Standarisasi (penyeragaman) proses.
Trigger dibuat satu kali dan tersimpan dalam database,
Keuntungan sehingga semua client yang menggunakan database
Trigger
Daftar event
untuk aktifasi
trigger
Sintaks :
Syntax :
Syntax :
Contoh Trigger
(Inserting default CREATE TRIGGER Clients_Insert
expressions) BEFORE INSERT ON Clients
REFERENCING NEW ROW AS New
FOR EACH ROW SET New.home_telephone =
COALESCE(New.home_telephone,New.work_telephone);
Stored Procedure adalah sebuah kelompok kode SQL
yang di simpan di katalog database dan dapat di
panggil kemudian oleh program, trigger atau bahkan
stored procedure.
Stored Sebuah Stored Procedure yang memanggil diri nya
Procedure sendiri di sebut rekursif stored procedure.
Mysql sendiri mendukung penggunaan Stored
Procedure sejak MySQL versi 5.x ke atas.
Meningkatkan performance aplikasi.
Sebuah Stored Procedure di simpan dan di compile di
katalog database yang mana dapat di eksekusi lebih
cepat di bandingkan SQL yang tidak di compile dari
kode aplikasi.
Keuntungan Mengurangi traffic antara aplikasi dan database server.
Stored Aplikasi hanya mengirim nama stored procedure untuk
mengeksekusi SQL.
Procedure Dapat di gunakan kembali dan transparent ke aplikasi
yang ingin menggunakan nya.
Aman.
Dapat mengakibatkan Database server membutuhkan
memory dan prosessor lebih tinggi.
Stored procedure hanya berisi SQL deklaratif, sehingga
sangat sulit untuk menulis sebuah procedure dengan
kompleksitas logika, seperti bahasa pemrograman
yang di gunakan untuk memprogram aplikasi.
Kerugian Stored Stored procedure tidak dapat di debug di hampir
Procedure RDBMS, termasuk MySQL.
Procedure
mysql> delimiter //
mysql> create procedure pMhsIlkom(OUT x
varchar(25))
begin
select nama into x from mahasiswa where
kode_prodi='P01';
end
//
mysql> call pMhsIlkom(@Nama);
Contoh select @Nama;
/
Procedure
Hasil Tampilan :
Dari contoh diatas terlihat bahwa parameter “x”
(sebagai OUT) digunakan untuk menampung hasil dari
perintah routine_body. Pernyataan “into x”, inilah yang
mengakibatkan “x” menyimpan informasi nama
(sebagai kolom yang ter-select).
Contoh
Untuk menjalankan procedure digunakan statemen call.
Procedure Pernyataan “call pMhsIlkom(@Nama)” menghasilkan
informasi yang kemudian disimpan pada parameter
“@Nama”. Kemudian untuk menampilkan informasi ke
layar digunakan pernyataan “select @Nama”.