Google Translator

English French German Spain Italian Dutch

Russian Portuguese Japanese Korean Arabic Chinese Simplified
by : BTF

Kamis, 15 November 2012

Pertemuan ke-6 : Bahasa Query


Dalam sistem basis data, ada suatu kondisi kita harus mendapat informasi tertentu dari basis data tersebut. Hal yang bisa kita lakukan adalah dengan melakukan suatu command atau perintah melalui bahasa tertentu yakni kita sebut bahasa query. Bahasa query sendiri dikelompokkan lagi menjadi 2, yakni :
  1.  Bahasa prosedural => user menginstruksikan sistem dalam serangkaian perintah ke dalam basis data untuk mendapatkan informasi yang diinginkan.
  2.  Bahasa non-prosedural => user tidak perlu menginstruksikan perintah apapun untuk mendapatkan informasi. 
Selain bahasa di atas, ada 2 bahasa lagi dimana bahasa ini digunakan untuk mengkonversi SQL menjadi bahasa relasional formal atau disebut dengan Bahasa query Formal (Formal Query Languages),antara lain :  
  • Aljabar relasional  
Sebenarnya aljabar relasional sendiri adalah salah satu jenis bahasa query prosedural, dimana user menginstruksikan sistem untuk melakukan sederetan perintah untuk mendapatkan informasi yang diinginkan. Bahasa aljabar relasional ini diekspresikan dalam bentuk operator-operator relasi yang levelnya tinggi, seperti spÈ-.  Operator-operator inilah yang nantinya menjadi instruksi bagi sistem dan juga menghubungkan beberapa tabel/relasi sebagai input dan menghasilkan sebuah tabel/relasi baru sebagai output. Terdapat lima operasi dasar di aljabar relasional yakni :
  1.  Select (s)
  2.   Project (p)
  3. Union (È)
  4. Set-difference (-)
  5. Cartesian-product(X, disebut juga sebagai cross product)
 Operasi tambahan/turunan dari operasi operasi dasar tersebut adalah :
  1. Set intersection
  2.  Theta join
  3. Natural join
  4. Division
Berdasarkan banyaknya tabel/relasi basis data yang terlibat dalam operasi, maka operasi aljabar relasional dibagi menjadi 2 :
  • Operasi unary => beroperasi pada sebuah tabel untuk mendapatkan informasi yang diinginkan. Contoh operasinya : select, project, rename
  • Operasi binary => beroperasi pada beberapa tabel untuk mendapatkan informasi yang diinginkan. Contoh operasinya : Cartesian-product, union, set-difference

  1.  Operasi Select (s)

Merupakan operasi query yang paling umum, dimana operasi ini digunakan untuk mengambil data dari satu atau lebih tabel, selain itu juga digunakan untuk mengelompokkan sejumlah record dan menghitung total, banyak data, serta rata-ratanya. Beberapa operasi dapat dikombinasikan menggunakan operator Ú (OR) dan Ù (AND).
Untuk melihat hasil operasi dari selection ini, saya menggunakan relasi-relasi berikut :

Contoh 1.1 :
Query : Tampilkan dosen yang lahir di Banyumas
Ekspresi aljabar relasional : s tLahir=”Banyumas” (Dosen)

Contoh 1.2 :
Query : Tampilkan dosen yang lahir di Banyumas atau Bandung
Ekspresi Aljabar Relasional : s tLahir=”Banyumas” Ú tLahir “Bandung” (Dosen)


2. Projection (p)

Adalah operasi untuk menampilkan attribute atau kolom tertentu. Operasi ini adalah salah satu jenis operasi unary dimana hanya mengirim satu relasi argument dengan kolom tertentu pula. Karena relasi merupakan suatu himpunan, maka duplikasi data dihilangkan.
Contoh 2.1 :
Query : Tampilkan NIP, nama, tLahir, tglLahir,alamat dari relasi Dosen
Ekspresi aljabar relasional : p NIP,nam, tLahir, tglLahir, alamat (Dosen)



Contoh 2.2 :
Query : Tampilkan NIP, nama, tLahir, tglLahir, alamat, gPokok dimana tLahir dosen adalah Banyumas dan gaji pokok lebih dari 2000000
Ekspresi aljabar relasional : p NIP,nam, tLahir, tglLahir, alamat (s alamat=”Bali” Ù gPokok >2000000) (Dosen)

3. Operasi Cartesian-product(X)
Adalah operasi yang melakukan perkalian kartesian, dengan output adalah tabel baru hasil perkalian tersebut. Kegunaan operasi ini adalah untuk mengkombinasikan informasi dari beberapa tabel sehingga operasi ini juga termasuk operasi binary.
Contoh 3.1 :
Query : Cartesian-product (X) relasi Jurusan dan TugasJurusan
Ekspresi Aljabar Relasional : Jurusan X TugasJurusan

Contoh 3.2 :
Query : Tampilkan NIP, nama (dari relasi Dosen), idJurusan, tglMulai (dari relasi TugasJurusan) dimana tglMulai adalah 11 Agstustus 1980.
Ekspresi aljabar relasional : p NIP,nama, idJurusan, tglMulai, (s tglMulai=11-Agst-1980ÙDosen.NIP=TugasJurusan.NIP) (Dosen, TugasJurusan)
Atau
p (TugasJurusan.NIP=Dosen.NIP) Ù tglMulai=11-Agst-1980 ((p NIP,nama  (Dosen) X (pidJurusan, tglMulai (TugasJurusan)))


4.  Operasi Union (È)
Adalah operasi untuk menggabungkan tabel dengan ketentuan bahwa masing-masing tabel yang akan digabungkan harus memiliki atribut yang sama. 



Contoh 4.1 :
Query : Tampilkan NIP (dari relasi Dosen) union dari NIP (dari relasi TugasJurusan).
Ekspresi aljabar relasional : p NIP (Dosen) È NIP (TugasJurusan)



5. Operasi Set-Difference (-)
Operasi untuk memperoleh informasi dari suatu relasi, tapi informasi tersebut tidak ada pada relasi lainnya. Operasi hanya bisa dilakukan untuk tabel-tabel tertentu dengan atribut yang dimiliki masing-masing table ada yang tidak sama.
Contoh 5.1 :
Query : Tampilkan NIP (dari relasi Dosen) set-difference dari NIP (dari relasi TugasJurusan).
Ekspresi aljabar relasional : p NIP (Dosen) - NIP (TugasJurusan)

6. Operasi Rename (r)
Adalah operasi untuk mengcopy tabel lama ke dalam tabel baru.
Contoh 6.1 :
Query : Salinlah tabel baru dengan nama DosenNew dari tabel Dosen, dimana jenis kelaminnya adalah ‘Pria’.
Ekspresi aljabar relasional : r DosenNew (s jKelamin=”Pria”) (Dosen)


7.  Operasi Set-Intersection (Ç)
Operasi ini dapat diturunkan dari operasi dasar menjadi seperti berikut :
Oleh karena itu operasi ini termasuk ke dalam operasi tambahan atau operasi turunan. Operasi ini juga merupakan opersi binary, karena menghubungkan antara dua relasi untuk membentuk suatu relasi yang baru. 

0 komentar:

Posting Komentar

 
 

© Bluberry Template Copyright by Cendana_Site's

Template by Blogger Templates | Blog-HowToTricks