SQL
LATAR BELAKANG
SQL merupakan bahasa basis data relasional standard. Terdapat macam-macam versi SQL. Versi aslinya pertama kali dikembangkan oleh IBM San Jose Research Laboratory.
2
LATAR BELAKANG Bahasa SQL mempunyai beberapa bagian yaitu: Data Definition Language (DDL) DDL memberikan perintah untuk mendefinisikan skema relasi, penghapusan relasi, membuat indeks dan modifikasi skema relasi.
3
DDL Mempengaruhi struktur objek database. Seperti tabel, index, view Seperti : CREATE TABLE, CREATE INDEX, CREATE VIEW
4
LATAR BELAKANG
Bahasa SQL mempunyai beberapa bagian yaitu: Interactive Data-Manipulation Language (DML) DML merupakan bahasa query yang berdasarkan pada aljabar relasi dan kalkulus relasi tuple. Termasuk didalamnya adalah perintah untuk penyisipan, penghapusan dan modifikasi. 5
DML
Biasanya digunakan untuk query, update data. Contoh : SELECT, UPDATE, DELETE, INSERT,
6
DCL (Data Control )
Berkaitan dengan Keamanan data dan pemberian privileges Contoh : Grant
7
DDL
8
DML
9
DCL
10
LATAR BELAKANG
Bahasa SQL mempunyai beberapa bagian yaitu: Embedded DML Bentuk embedded SQL biasanya terdapat dalam bahasa pemrograman multi guna seperti PL/I, Cobol , Pascal dan Fortran.
11
LATAR BELAKANG Bahasa SQL mempunyai beberapa bagian yaitu: View Definition DDL SQL memasukkan perintah untuk mendefinisikan view.
12
LATAR BELAKANG Bahasa SQL mempunyai beberapa bagian yaitu: Authorization DDL SQL memasukkan perintah untuk menentukan hak-hak akses ke relasi dan view.
13
LATAR BELAKANG Bahasa SQL mempunyai beberapa bagian yaitu: Integrity DDL SQL memasukkan perintah untuk menentukan konstrain integritas yang harus dipenuhi oleh data yang tersimpan dalam basis data.
14
LATAR BELAKANG Bahasa SQL mempunyai beberapa bagian yaitu: Transaction control SQL memasukkan perintah-perintah untuk menentukan awal dan akhir transaksi. Beberapa implementasi juga memungkinkan locking data untuk concurrency control.
15
STRUKTUR DASAR
Struktur dasar dari ekspresi SQL terdiri dari tiga klausa yaitu : select, from dan where.
16
Select
Klausa Select berhubungan dengan operasi proyeksi dari aljabar relasional. Operasi ini digunakan untuk mendaftar semua atribut yang diinginkan sebagai hasil suatu query.
17
From
Klausa From berhubungan dengan operasi Cartesian-product dari aljabar relasional. Operasi ini mencatat semua relasi yang di”scan” dalam evaluasi suatu query.
18
Where
Klausa Where berhubungan dengan operasi predikat seleksi dari aljabar relasional. Operasi ini terdiri dari sebuah predikat yang menyangkut atributatribut dari relasi yang muncul dalam klausa from.
19
query SQL
Sebuah query SQL biasanya mempunyai bentuk : Select A1,A2,…..An From r1,r2,….rn Where P
20
Klausa Select
Contoh : “ Tentukan nama-nama dari semua cabang bank dalam relasi loan “ Query-nya : select branch-name from loan Hasil dari query tersebut adalah sebuah relasi yang berisi sebuah atribut tunggal dengan nama branch-name. 21
Klausa Select
Bahasa query formal bersifat matematis dimana relasi adalah sebuah himpunan sehingga tupletuple yang telah muncul tidak akan muncul lagi (tidak akan terjadi duplikasi tuple). Tapi dalam prakteknya untuk menghilangkan duplikasi tuple sangat memakan waktu. 22
Klausa Select
Oleh karenanya SQL memungkinkan terjadinya duplikasi tersebut. Dari contoh di atas, maka querynya akan mencatat setiap branchname setiap kali branch-name tersebut ditemukan dalam relasi loan. 23
Klausa Select
Untuk kasus di atas jika diinginkan untuk menghilangkan duplikasi maka dapat disisipkan distinct setelah select. Query di atas ditulis ulang sebagai berikut : Select distinct branch-name from loan 24
Klausa Select
Klausa selest dapat juga mengandung operasi aritmatika yaitu operator : +, -, *, / dan operasi terhadap konstanta atau atribut dari tuple. Contoh query berikut : Select branch-name, loan-number, amount * 100 From loan
25
Klausa Select
Akan menghasilkan sebuah relasi yang sama dengan relasi loan, kecuali bahwa atribut amount dikalikan dengan 100. SQL-92 juga menyediakan tipe data spesial seperti tipe date, dan memungkinkan beberapa fungsi aritmatika untuk beroperasi pada tipe-tipe ini. 26