Anda di halaman 1dari 5

Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari

basisdata. Sebelum basis data relasional, query terhadap basis data merupakan tugas yang
sulit karena pemrogram harus mengetahui skema fisik internal dari basisdata.
Bahasa query resional seperti SQL berbeda dengan bahasa pemrograman konvensional, SQL
menspesifikasikan properti informasi yang akan diambil tetapi tidak mencantumkan rincian
alogaritma pengambilan. SQL adalah deklaratif, maksudnya adalah pada query
dideklarasikan informasi yang merupakan jawaban yang dikehendaki bukan cara komputasi.
I.

ALJABAR RELASIONAL
kumpulan operasi relasi dimana setiap operasi menggunanakn satu atau lebih relasi untuk
menghasilkan satu relasi yang baru, dan termasuk kategori prosedural dan juga menyediakan
seperangkat operator untuk memanipulasi data.
Terdapat enam operasi dasar dalam aljabar relasional :
1. Selection
2. Projection
3. Cartesian product
4. Union
5. Set difference
6. Rename
Operasi-operasi turunan dari operasi dasar tersebut adalah
1. Set Intersection
2. Theta join
3. Natural join
4. Outer join
5. Division
Semua operasi tersebut menghasilkan relasi baru.
Pemrogram menggunakan query SQL, DBMS menggunakan aljabar relasional sebagai
bahasa antara dalam spesifikasi alogaritma query.
Langkah-langkah
dalam
DBMS
untuk
pengolahan
query
adalah
:
1. DBMS melakukan parsing pada string query SQL, dan diterjemahkan kedalam ekspresi
aljabar relasional yang dapat menuntun kedalam alogaritma sederhana yang tidak efisien.
2. Lalu bagian optimizer akan mengkonversi akspresi aljabar relasional ini menjadi ekspresi
lain yang ekivalen namun lebih efisien untuk dieksekusi.
3. Query optimizer akan mempersiapkan rencana eksekusi yang kemudian ditransformasikan
menjadi kode yang dapat dieksekusi pembangkit kode di DBMS.
4. Karena ekspresi aljabar mempunyai semantik matematis yang presisi, maka sistem dapat
memferifikasi ekivalensi ekspresi yang dioptimasi yang dihasilkan dari manipulasi ekspresi

asal. Semantik ini juga memungkinkan perbandingan rencana-rencana evaluasi query yang
berbeda.

OPERASI ALJABAR RELASIONAL


1. Operasi Selection
adalah operasi untuk menyeleksi tupel-tupel yang memenuhi suatu predikat, dapat digunakan
operator perbandingan (<,>,<=,>=,=,!=) pada predikat. Beberapa predikat dapat
dikombinasikan menjadi predikat majemuk dengan operator penghubung and (V) atau or (V).
2. Operasi projection
adalah operasi untuk memperoleh kolom-kolom tertentu. Operasi project merupakan operasi
unary yang mengirim relasi argumen dengan kolom-kolom tertentu. Dikarenakan relasi
adalah himpunan, maka baris-baris duplikasi dihilangkan.
3. Operasi Cartesian-product(x)
adalah operasi untuk menghasilkan tabel hasil perkalian kartesian
4. Operasi Union
adalah operasi untuk menghasilkan gabungan tabel dengan syarat kedua tabel memiliki
atribut yang sama, yaitu domain atribut ke-i masing-masing tabel harus sama.
5. Operasi Set Difference
adalah operasi untuk mendapatkan tabel pada suatu relasi, tapi tidak ada pada relasi yang lain.
R-S = {x|x ER dan X !E S}
Operasi ini dapat dilaksanankan apabila R dan S mempunyai atribut yang tidak sama yang
akan ditampilkan, artinya adalah atribut R yang tidak ada di S akan ditampilkan, sedangkan
yang sama tidak ditampilkan.
6. Operasi Rename
adalah operasi untuk menyalin tabel lama ke dalam tabel yang baru.
7. Operasi Set-Intersection
adalah termasuk kedalam operator tambahan, karena operator ini dapat diverifikasi dari
operator dasar seperti berikut :
A n B = A ( A B ), atau A n B = B ( B A )
8. Operasi Theta join
adalah operasi untuk menggabungkan operasi selection dan cartesian product dengan suatu
kriteria\syarat.
9. Operasi Natural Join
adalah operasi untuk menggabungkan operasi selection dan cartesian product dengan suatu
kriteria pada kolom yang sama.

10. Operasi Outer join


adalah operasi untuk menggabungkan operasi selection dan cartesian product dengan suatu
kriteria pada kolom yang sama.
11. Operasi Devision
adalah operasi yang banyak digunakan dalam query yang mencakup frase setiap atau
untuk semua, operasi ini juga merupakan pembagian atas tupel-tupel dari dua relasi

II.

KALKULUS RELASIONAL
Pengguna mendeskripsikan informasi yang dikehendaki tanpa memberitahu prosedur spesifik
untuk memperolah informasi. Pada model relasional, bahasa formal non prosedural adalah
bahasa kalkulus, predikat relasional yang diekspresikan dengan menspesifikasikan predikan
terhadap tupe atau domain yang harus dipenuhi. Kalkulus relasional dibagi menjadi 2 :
1. Kalkulus relasional Tupel
2. Kalkulus relasional Domain
Kalkulus Relasional Tupel mendeskripsikan informasi tanpa perlu memberikan prosedur
spesifik untuk memperoleh informasi tersebut. Konsep dasar kalkulus relasional tupel adalah
konsep variabel tupel. Variabel ini merepresentasikan tupel-tupel pada relasi dan digunakan
untuk mengekstrak data dari relasi. Komponen komponen lain rumus kalkulus tupel adalah
kulifikasi data dengan membatasi nilai-nilai dari atribut yang dispesifikasikan.
Contoh kalkulus relasional tupel yang diterapkan pada SQl :
Select Dosen_id, Dosen_nama from Dosen where Dosen_kelamin=pria'
Kalkulus Relasional Domain menggunakan variabel-variabel pada nilai-nilai domain atribut,
bukan nilai-nilai untuk sebuah tupel. Ekspresi pada kalkulus relasional domain berbentuk :
{<X1,X2,.,Xn> | P(X1, X2, ., Xn)}
Dimana X1, X2, X, Xn menyatakan variabel-variabel domain.

III.

SQL (Structured Query Language) adalah bahasa pemrograman khusus yang


digunakan untuk memanajemen data dalam RDBMS. SQL biasanya berupa perintah
sederhana yang berisi instruksi-instruksi untuk manipulasi data. Perintah SQL ini sering
juga disingkat dengan sebutan query.

Sejarah SQL
Bersamaan dengan paper Dr. Edgar F. Codd pada tahun 1969 tentang Teori Database
Relational, ia pun mengajukan sebuah bahasa yang disebut DSL/Alpha untuk
memanajemen data dalam relational database. Berdasarkan ide Dr.Codd ini, beberapa
saat setelah itu IBM mencoba merancang bahasa prototipe sederhana DSL/Alpha yang
disebut SQUARE.
Pada tahun 1970, team yang beranggotakan peneliti IBM Donald D. Chamberlin dan
Raymond F. Boyce, mengembangkan SQUARE lebih lanjut menjadi SEQUEL

(Structured English Query Language). SEQUEL digunakan untuk


mengoperasikan prototipe RDBMS pertama IBM, System R. Dikemudian hari, SEQUEL
berubah nama menjadi SQL karena permasalahan merk dagang (trademark) dengan
sebuah perusahaan pesawat di inggris yang terlebih dahulu telah memakai
nama SEQUEL.
Pada akhir 1970an, perusahaan Relational Software, Inc. (sekarang Oracle
Corporation) melihat potensi bahasa SQL dan mengembangkan sendiri versi SQL
untuk RDBMS mereka. Oracle V2 (versi 2) yang dirilis Juni 1979 adalah RDBMS
komersial pertama yang mengimplementasikan SQL.

Dengan kemudahan yang ditawarkan, SQL mulai diimplementasikan oleh berbagai RDBMS
dengan versi SQL mereka masing-masing. Namun hal ini menimbulkan permasalahan
karena perbedaan penerapan SQL dari satu aplikasi dengan aplikasi database lainnya yang
tidak seragam.Sehingga pada tahun 1986, badan standar amerika, ANSI (American National
Standards Institute) merancang sebuah standa
r untuk SQL. Satu tahun setelahnya, ISO (International Organization for
Standardization) juga mengeluarkan standar untuk SQL. Versi terakhir standar SQL dirilis
pada 2011, yang dinamakan SQL 2011. Dengan standar ini diharapkan ada keseragaman SQL
antar aplikasi RDBMS.
Akan tetapi walaupun sudah ada standar tentang SQL, banyak perusahaan RDBMS yang
menambahkan fitur SQL selain standar yang ada. MySQL juga memiliki SQL yang tidak
standar, yang tidak ada pada Oracle, begitu juga sebaliknya. Namun setidaknya bahasa SQL
hampir sama untuk perintah-perintah dasar antar RDBMS. Perintah SQL untuk membuat
tabel misalnya, dapat digunakan baik di Oracle maupun MySQL.

Jenis-jenis perintah SQL


Perintah atau instruksi SQL dapat dikelompokkan berdasarkan jenis dan fungsinya. Terdapat
3 jenis perintah dasar SQL : Data Definition Language, Data Manipulation
Language dan Data Control Language.
Data Definition Language (DDL) adalah jenis instruksi SQL yang berkaitan dengan
pembuatan struktur tabel maupun database. Termasuk diantaranya : CREATE, DROP,
ALTER, dan RENAME.
Data Manipulation Language (DML) adalah jenis instruksi SQL yang berkaitan dengan data
yang ada dalam tabel, tentang bagaiman menginput, menghapus, memperbaharui serta
membaca data yang tersimpan di dalam database. Contoh perintah SQL untuk DML :
SELECT, INSERT, DELETE, dan UPDATE.
Data Control Language (DCL) adalah jenis instruksi SQL yang berkaitan dengan manajemen
hak akses dan pengguna (user) yang dapat mengakses database maupun tabel. Termasuk
diantaranya : GRANT dan REVOKE.

Selain ketiga jenis perintah SQL, terdapat juga 2 jenis SQL tambahan : Transaction Control
Language, dan Programmatic SQL.
Transaction Control Language (TCL) adalah perintah SQL untuk proses transaksi. Proses
transaksi ini digunakan untuk perintah yang lebih dari 1, namun harus berjalan semua, atau
tidak sama sekali. Misalnya untuk aplikasi critical seperti transfer uang dalam sistem
database perbankan. Setidaknya akan ada 2 perintah, yaitu mengurangi uang nasabah A, dan
menambah uang nasabah B. Namun jika terjadi kesalahan sistem, kedua transaksi ini harus
dibatalkan. Tidak bisa hanya satu perintah saja. Termasuk ke dalam TCL adalah perintah :
COMMIT, ROLLCABK, dan SET TRANSACTION.
Programmatic SQL berkaitan dengan sub program (stored procedure) maupun penjelasan
mengenai struktur database. Contoh perintah seperti : DECLARE, EXPLAIN, PREPARE,
dan DESCRIBE.

Setelah memahami sekilas tentang bahasa pemograman database : SQL, dan teori-teori dasar
database dari beberapa tutorial sebelumnya, kita sudah siap untuk tutorial
selanjutnya, download dan install aplikasi MySQL.
Sumber:
http://en.wikipedia.org/wiki/Sql
James R. Groff : SQL The Complete Reference, 3rd Edition,McGraw-Hill, 2010

Anda mungkin juga menyukai