26
SQL SQL

SQL - achmadyasid.files.wordpress.com · database. Seperti tabel, index, view Seperti : CREATE TABLE, CREATE INDEX, CREATE VIEW. 5 LATAR BELAKANG ... yang di ”scan” dalam

Embed Size (px)

Citation preview

SQLSQL

22

LATAR BELAKANGLATAR BELAKANG

SQL merupakan bahasa basis data SQL merupakan bahasa basis data relasional standard. Terdapat relasional standard. Terdapat macam-macam versi SQL.macam-macam versi SQL.

Versi aslinya pertama kali Versi aslinya pertama kali dikembangkan oleh dikembangkan oleh IBM San Jose IBM San Jose Research Laboratory.Research Laboratory.

33

LATAR BELAKANGLATAR BELAKANG

Bahasa SQL mempunyai beberapa Bahasa SQL mempunyai beberapa bagian yaitu:bagian yaitu:

Data Definition Language Data Definition Language ((DDLDDL))DDL memberikan perintah untuk DDL memberikan perintah untuk

mendefinisikan skema relasi, mendefinisikan skema relasi, penghapusan relasi, membuat penghapusan relasi, membuat indeks dan modifikasi skema relasi.indeks dan modifikasi skema relasi.

44

DDLDDL

Mempengaruhi struktur objek Mempengaruhi struktur objek database. Seperti tabel, index, viewdatabase. Seperti tabel, index, view

Seperti : CREATE TABLE, CREATE Seperti : CREATE TABLE, CREATE INDEX, CREATE VIEWINDEX, CREATE VIEW

55

LATAR BELAKANGLATAR BELAKANG

Bahasa SQL mempunyai beberapa Bahasa SQL mempunyai beberapa bagian yaitu:bagian yaitu:

Interactive Data-Manipulation Interactive Data-Manipulation Language Language ((DMLDML))

DML merupakan bahasa DML merupakan bahasa query query yang yang berdasarkan pada aljabar relasi dan berdasarkan pada aljabar relasi dan kalkulus relasi tuple. kalkulus relasi tuple.

Termasuk didalamnya adalah perintah Termasuk didalamnya adalah perintah untuk penyisipan, penghapusan dan untuk penyisipan, penghapusan dan modifikasi.modifikasi.

66

DMLDML

Biasanya digunakan untuk query, Biasanya digunakan untuk query, update data.update data.

Contoh : SELECT, UPDATE, Contoh : SELECT, UPDATE, DELETE, INSERT, DELETE, INSERT,

77

DCL (Data Control )DCL (Data Control )

Berkaitan dengan Keamanan data Berkaitan dengan Keamanan data dan pemberian privilegesdan pemberian privileges

Contoh : GrantContoh : Grant

88

DDLDDL

99

DMLDML

1010

DCLDCL

1111

LATAR BELAKANGLATAR BELAKANG

Bahasa SQL mempunyai beberapa Bahasa SQL mempunyai beberapa bagian yaitu:bagian yaitu:

Embedded Embedded DMLDML Bentuk Bentuk embedded embedded SQL biasanya SQL biasanya

terdapat dalam bahasa terdapat dalam bahasa pemrograman multi guna seperti pemrograman multi guna seperti PL/I, Cobol , Pascal dan Fortran.PL/I, Cobol , Pascal dan Fortran.

1212

LATAR BELAKANGLATAR BELAKANG

Bahasa SQL mempunyai beberapa Bahasa SQL mempunyai beberapa bagian yaitu:bagian yaitu:

View DefinitionView DefinitionDDL SQL memasukkan perintah DDL SQL memasukkan perintah

untuk mendefinisikan untuk mendefinisikan viewview..

1313

LATAR BELAKANGLATAR BELAKANG

Bahasa SQL mempunyai beberapa Bahasa SQL mempunyai beberapa bagian yaitu:bagian yaitu:

AuthorizationAuthorizationDDL SQL memasukkan perintah DDL SQL memasukkan perintah

untuk menentukan hak-hak akses untuk menentukan hak-hak akses ke relasi dan ke relasi dan viewview..

1414

LATAR BELAKANGLATAR BELAKANG

Bahasa SQL mempunyai beberapa Bahasa SQL mempunyai beberapa bagian yaitu:bagian yaitu:

IntegrityIntegrityDDL SQL memasukkan perintah DDL SQL memasukkan perintah

untuk menentukan konstrain untuk menentukan konstrain integritas yang harus dipenuhi oleh integritas yang harus dipenuhi oleh data yang tersimpan dalam basis data yang tersimpan dalam basis data.data.

1515

LATAR BELAKANGLATAR BELAKANG

Bahasa SQL mempunyai beberapa Bahasa SQL mempunyai beberapa bagian yaitu:bagian yaitu:

Transaction controlTransaction controlSQL memasukkan perintah-perintah SQL memasukkan perintah-perintah

untuk menentukan awal dan akhir untuk menentukan awal dan akhir transaksi.transaksi.

Beberapa implementasi juga Beberapa implementasi juga memungkinkan memungkinkan locking data locking data untuk untuk concurrency controlconcurrency control..

1616

STRUKTUR DASARSTRUKTUR DASAR

Struktur dasar dari ekspresi SQL Struktur dasar dari ekspresi SQL terdiri dari tiga klausa yaitu : terdiri dari tiga klausa yaitu : selectselect, , from from dan dan wherewhere..

1717

SelectSelect

Klausa Klausa Select Select berhubungan berhubungan dengan operasi proyeksi dari dengan operasi proyeksi dari aljabar relasional.aljabar relasional.

Operasi ini digunakan untuk Operasi ini digunakan untuk mendaftar semua atribut yang mendaftar semua atribut yang diinginkan sebagai hasil suatu diinginkan sebagai hasil suatu queryquery..

1818

FromFrom

Klausa Klausa From From berhubungan dengan berhubungan dengan operasi operasi Cartesian-product Cartesian-product dari dari aljabar relasional.aljabar relasional.

Operasi ini mencatat semua relasi Operasi ini mencatat semua relasi yang di”yang di”scanscan” dalam evaluasi suatu ” dalam evaluasi suatu queryquery..

1919

WhereWhere

Klausa Klausa Where Where berhubungan berhubungan dengan operasi predikat seleksi dengan operasi predikat seleksi dari aljabar relasional. dari aljabar relasional.

Operasi ini terdiri dari sebuah Operasi ini terdiri dari sebuah predikat yang menyangkut atribut-predikat yang menyangkut atribut-atribut dari relasi yang muncul atribut dari relasi yang muncul dalam klausa dalam klausa fromfrom..

2020

query SQLquery SQL

Sebuah query SQL biasanya Sebuah query SQL biasanya mempunyai bentuk :mempunyai bentuk :

Select Select A1,A2,…..AnA1,A2,…..An From From r1,r2,….rnr1,r2,….rn Where Where PP

2121

Klausa Klausa SelectSelect

Contoh : “ Tentukan nama-nama Contoh : “ Tentukan nama-nama dari semua cabang bank dalam dari semua cabang bank dalam relasi loan “ Query-nya :relasi loan “ Query-nya :

select select branch-name branch-name from from loanloan Hasil dari Hasil dari query query tersebut adalah tersebut adalah

sebuah relasi yang berisi sebuah sebuah relasi yang berisi sebuah atribut tunggal dengan nama atribut tunggal dengan nama branch-namebranch-name..

2222

Klausa Klausa SelectSelect

Bahasa Bahasa query query formal bersifat formal bersifat matematis dimana relasi adalah matematis dimana relasi adalah sebuah himpunan sehingga sebuah himpunan sehingga tuple-tuple-tuple tuple yang telah muncul tidak akan yang telah muncul tidak akan muncul lagi (tidak akan terjadi muncul lagi (tidak akan terjadi duplikasi duplikasi tupletuple).).

Tapi dalam prakteknya untuk Tapi dalam prakteknya untuk menghilangkan duplikasi tuple menghilangkan duplikasi tuple sangat memakan waktu.sangat memakan waktu.

2323

Klausa Klausa SelectSelect

Oleh karenanya SQL Oleh karenanya SQL memungkinkan terjadinya duplikasi memungkinkan terjadinya duplikasi tersebut. tersebut.

Dari contoh di atas, maka Dari contoh di atas, maka queryquery--nya akan mencatat setiap nya akan mencatat setiap branch-branch-name name setiap kali setiap kali branch-name branch-name tersebut ditemukan dalam relasi tersebut ditemukan dalam relasi loanloan..

2424

Klausa Klausa SelectSelect

Untuk kasus di atas jika diinginkan Untuk kasus di atas jika diinginkan untuk menghilangkan duplikasi untuk menghilangkan duplikasi maka dapat disisipkan maka dapat disisipkan distinct distinct setelah setelah selectselect. .

Query Query di atas ditulis ulang sebagai di atas ditulis ulang sebagai berikut :berikut :

Select distinct Select distinct branch-name branch-name from from loanloan

2525

Klausa Klausa SelectSelect

Klausa selest dapat juga Klausa selest dapat juga mengandung operasi aritmatika mengandung operasi aritmatika yaitu operator : +, -, *, / dan operasi yaitu operator : +, -, *, / dan operasi terhadap konstanta atau atribut dari terhadap konstanta atau atribut dari tupletuple. Contoh query berikut :. Contoh query berikut :

Select Select branch-namebranch-name, , loan-numberloan-number, , amount amount * 100 * 100 From From loanloan

2626

Klausa Klausa SelectSelect

Akan menghasilkan sebuah relasi Akan menghasilkan sebuah relasi yang sama dengan relasi yang sama dengan relasi loanloan, , kecuali bahwa atribut kecuali bahwa atribut amount amount dikalikan dengan 100. dikalikan dengan 100.

SQL-92 juga menyediakan tipe SQL-92 juga menyediakan tipe data spesial seperti tipe data spesial seperti tipe datedate, dan , dan memungkinkan beberapa fungsi memungkinkan beberapa fungsi aritmatika untuk beroperasi pada aritmatika untuk beroperasi pada tipe-tipe ini.tipe-tipe ini.