Senin, 08 Mei 2017

BAHASA QUERY FORMAL



         Bahasa query formal basis data relasional adalah bahasa untuk meminta  informasidari basis data.

         Bahasa query  relasional formal merupakan  bahasa antara yang digunakan basis data, yaitu SQL dikonversi menjadi bahasa  relasional formal sehingga dapat diterapkan sekumpulan informasi untuk memperoleh query paling efisien



Aljabar Relasional

Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut. Operasi-operasi dasar dalam aljabar relasional adalah : select, project, union, set difference, dan cartesian product.

1.Operasi Selection ( σ )
Selection / Select (σ ), adalah operasi untuk menyeleksi tupel – tupel yang memenuhi suatu predikat, kita dapat menggunakan operator perbandingan(<,>,>=,<=,=,#) pada predikat. Beberapa predikat dapat dikombinasikan menjadi predikat manjemuk menggunakan penghubung AND () dan OR ().

 Contoh penggunaan operasi selection :
σNPM = 10296832(NILAI)
Perintah diatas berarti memilih tupel-tupel dari tabel NILAI yang memiliki atribut NPM bernilai di atas adalah :

10296832
KK021
60
75
10296832
KD132
40
30


2. Oprasi Projection
Operasi projection berfungsi untuk memilih nilai atribut-atribut tertentu saja dari sebuah tabel relasi. Simbol phi “Π” digunakan untuk menunjukkan operasi project. Predikat muncul sebagai subscript dari Π dan hanya nama atribut yang diinginkan yang ditulis dalam predikat. Argumen diberikan dalam tanda kurung yang mengikuti Π dan berisi tabel relasi yang dimaksud.
Contoh penggunaan operasi project :
Π KDMK,SKS(MKUL)
Perintah diatas berarti memilih nilai atribut KDMK dan SKS dari tabel MKUL. Hasil dari operasi diatas adalah :
KK021
2
KD132
3

3.Oprasi Himpunan

–     union
Operasi union berfungsi untuk mendapatkan gabungan nilai atribut dari sebuah tabel relasi dengan nilai atribut dari tabel relasi lainnya. Simbol “” digunakan untuk menunjukkan operasi union. Operasi union bernilai benar bila terpenuhi 2 kondisi, yaitu : Derajat dari 2 tabel relasi yang dioperasikan harus sama dan domain dari atribut yang dioperasikan juga harus sama.
Contoh penggunaan operasi union :
Misalkan terdapat 2 tabel relasi bernama ASLABSI dan ASLABTI seperti dibawah :
ASLABSI
NPM
Nama
Kelas
10107591
Eko Putra
3KA07
10107971
Keque Irfan
3KA07
18108012
Riza Rulham
3KA07
ASLABTI
NPM
Nama
Kelas
11107891
M. Ali Nurdin
3KA07
18108012
Riza Rulham
3KA07
11107611
Soli Kurniawan
3KA07
dan dari 2 tabel relasi diatas dilakukan operasi union sebagai berikut :
Π Nama(ASLABSI)  Π Nama(ASLABTI)
Perintah diatas berarti menggabungkan hasil dari operasi project terhadap tabel ASLABSI dengan hasil dari operasi project terhadap tabel ASLABTI. Hasil dari operasi diatas adalah :
Eko Putra
Keque Irfan
M. Ali Nurdin
Riza Rulham
Perhatikan bahwa nama Riza Rulham hanya muncul sekali pada hasil operasi, ini karena relasi adalah set sehingga nilai duplikat dihilangkan.
–       Set Difference
Operasi set difference berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi, tapi tidak ada dalam tabel relasi lainnya. Simbol “-“ digunakan untuk menunjukkan operasi set difference.
Contoh penggunaan operasi set difference :
Π Nama(ASLABSI) – Π Nama(ASLABTI)
Perintah diatas berarti mendapatkan nilai atribut Nama yang terdapat di tabel ASLABSI, tapi tidak terdapat di tabel ASLABTI. Hasil dari operasi diatas adalah :
Eko Putra
Keque Irfan
–       Cartesian Product
Operasi cartesian product berfungsi untuk mengkombinasikan informasi yang ada dalam 2 tabel relasi dan menghasilkan sebuah tabel relasi yang baru. Simbol “x“ digunakan untuk menunjukkan operasi set difference.
Contoh penggunaan operasi cartesian product :

11107891 M. Ali Nurdin 3KA07 KK021 P. Basis Data 2
11107891 M. Ali Nurdin 3KA07 KD132 SIM 3
11107891 M. Ali Nurdin 3KA07 KU122 Pancasila 2
18108012 Riza Rulham 3KA07 KK021 P. Basis Data 2
18108012 Riza Rulham 3KA07 KD132 SIM 3
18108012 Riza Rulham 3KA07 KU122 Pancasila 2
11107611 Soli Kurniawan 3KA07 KK021 P. Basis Data 2
11107611 Soli Kurniawan 3KA07 KD132 SIM 3
11107611 Soli Kurniawan 3KA07 KU122 Pancasila 2

ASLABTI x MKUL 
 tabel relasi baru 
Perintah diatas berarti mengkombinasikan seluruh tupel yang ada pada tabel ASLABTI dengan tabel MKUL. Hasil dari operasi diatas adalah :


Operasi-operasi Tambahan

–       Set Intersection
Operasi set intersection berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi dan juga ada dalam tabel relasi lainnya. Simbol “∩“ digunakan untuk menunjukkan operasi set intersection.
Contoh penggunaan operasi set intersection :
Π Nama(ASLABSI) ∩ Π Nama(ASLABTI)
Perintah diatas berarti mendapatkan nilai atribut Nama yang terdapat di tabel ASLABSI dan juga terdapat di tabel ASLABTI. Hasil dari operasi diatas adalah :
Riza Rulham
–       Natural Join
Operasi natural join memungkinkan kita untuk menggabungkan operasi select dan cartesian product menjadi hanya 1 operasi saja. Simbol ““ digunakan untuk menunjukkan operasi natural join. Operasi natural join hanya menghasilkan tupel yang mempunyai nilai yang sama pada 2 atribut yang bernama sama pada 2 tabel relasi yang berbeda.
Contoh penggunaan operasi natural join :
Π NPM,KDMK,MID(MHS  NILAI)
Perintah diatas berarti mendapatkan nilai dari operasi project dengan predikat NPM, KDMK, dan MID dan argumen hasil dari operasi natural join antara tabel MHS dengan tabel NILAI. Hasil dari operasi diatas adalah :
10296832
KK021
60
10296832
KD132
40
10296126
KD132
70
31296500
KK021
55
41296525
KU122
90
50096487
KD132
80
21196353
KU122
75
–       Division
Operasi division berfungsi untuk query yang memasukkan frase “untuk semua/seluruh”. Simbol “÷“ digunakan untuk menunjukkan operasi division.
Contoh penggunaan operasi division :
Misalkan terdapat 3 tabel relasi bernama ACCOUNT, BRANCH, dan DEPOSITOR seperti dibawah :

dan dari 3 tabel relasi diatas dilakukan operasi division sebagai berikut :
Π customer-name,branch-name(DEPOSITOR  ACCOUNT) ÷ Π branch-name(σbranch-city=”Brooklyn”(BRANCH))
Dengan asumsi operasi project awal adalah relasi r1 dan akhir adalah r2, perintah diatas berarti mendapatkan nama pelanggan yang muncul pada hasil relasi r2 untuk semua nama cabang hasil relasi r1. Hasil dari operasi diatas adalah :
Johnson
–       Theta Join
Operasi theta join berfungsi jika kita ingin mengkombinasikan tupel dari 2 tabel relasi dimana kondisi dari kombinasi tersebut tidak hanya kesamaan nilai dari 2 atribut bernama sama, tetapi kondisi yang diinginkan juga bisa menggunakan operator relasional (≤, <, =, >, ≥). Operasi theta join merupakan ekstensi dari natural join.








thanks for :

BAHASA QUERY FORMAL            Bahasa query formal basis data relasional adalah bahasa untuk meminta  informasidari basis data.  ...