P. 1
Bahasa Query Formal

Bahasa Query Formal

|Views: 27|Likes:
Published by Ari Larsson

More info:

Published by: Ari Larsson on Jul 15, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/13/2012

pdf

text

original

BAHASA QUERY

FORMAL
Harsiti, ST
Fakultas Teknologi Informasi
Universitas Serang Raya
2009
BAHASA QUERY FORMAL
 Bahasa query formal basis data relasional adalah
bahasa untuk meminta informasi dari basis data.
 Bahasa query relasional formal merupakan
bahasa antara yang digunakan basis data, yaitu
SQL dikonversi menjadi bahasa rlasional formal
sehingga dapa diterapkan sekumpulan informasi
untuk memperoleh query paling efisien
BAHAS QUERY FORMAL…..LANJUTAN
 Terdapat dua jenis bahasa query relasional
formal yang utama, yaitu:
1. Aljabar relasional.
2. Kalkulus relasional.
ALJABAR RELATIONAL
 Relational Algebra (aljabar relasional)
merupakan kumpulan operasi terhadap relasi
dimana setiap operasi menggunakan satu atau
lebih relasi untuk menghasilkan satu relasi yang
baru dan termasuk kategori prosedural dan juga
menyediakan seperangkat operator untuk
memanipulasi data.
ALJABAR RELATIONAL
 Terdapat lima operasi dasar dalam aljabar
relasional, yaitu:
1. Selection ( o )
2. Projection ( t )
3. Cartesian – product ( X, juga disebut
sebagai cross product )
4. Union ( )
5. Set – difference ( - )
6. Rename ( µ )
ALJABAR RELATIONAL
 Operasi – operasi turunan dari operasi – operasi
dasar tersebut adalah:
1. Set intersection ( · )
2. Theta join ( u )
3. Natural-join ( )
4. Outer-join ( )
5. Division ( ÷ )
OPERASI SELEKSI ( SELECT )
 Selection / Select (o ), 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 ( v ).
OPERASI SELEKSI ( SELECT )
 Sintaks yang digunakan untuk menyatakan
operasi adalah :
op (E1)
 Contoh :
Tampilkan data mahasiswa yang tempat
tinggalnya di Bogor.
okota = ‘Bogor’ (mahasiswa)
OPERASI SELEKSI ( SELECT )
 Tampilkan daftar dosen yang tempat lahirnya di ‘Bekasi
otempat_lhr=’Bekasi’
(Dosen)
 Tampilkan daftar dosen yang tempat lahirnya di ‘Jakarta’
atau ‘Bogor’
otempat_lhr=’Jakarta’ v tempat_lhr=’Bogor’
(Dosen)
 Tampilkan daftar dosen yang tempat lahirnya di
‘Bogor’ dan jenis kelaminnya ‘Pria’
otempat_lhr=’Bogor’ . jkelamin=’Pria’
(Dosen)
OPERASI PROJECTION (PROJECT)
 Projection / Project ( t ), adalah operasi untuk
memperoleh kolom – kolom tertentu.
 Operasi project adalah operasi unary yang
mengirim relasi argumen dengan kolom – kolom
tertentu.
 Sintaks yang digunakan dalam operasi proyeksi
ini adalah sebagai berikut :
 t colum1,…,column
( tabel)
CONTOH OPERASI PROJECTION (PROJECT)
 Tampilkan nid,nama_d,alamat,kota dari relasi
Dosen
t nid,nama_d,alamat,kota
(Dosen)
 Tampilkan nid,nama_d,alamat,kota,gajipokok
dari relasi Dosen, dimana gaji pokoknya lebih
besar dari Rp.1200000
t nid,nama_d,alamat,kota,gajipokok(
ogajipokok>1200000
(Dosen)
)
OPERASI CARTESIAN PRODUCT
 Cartesian-product ( X ), adalah operasi untuk
menghasilkan table hasil perkalian kartesian.
 Sintaks yang digunakan dalam operasi proyeksi
ini adalah sebagai berikut :
R X S = {(x,y) | xeR dan yeS}
OPERASI CARTESIAN PRODUCT
 Operasi cartesian-product memungkinkan kita
mengkombinasikan informasi beberapa relasi,
operasi ini adalah operasi biner. Sebagaimana
telah dinyatakan bahwa relasi adalah subset
hasil cartesian-product dan himpunan domain
relasi – relasi tersebut. Kita harus memilih
atribut – atribut untuk relasi yang dihasilkan
dari cartesian-product.
CONTOH OPERASI CARTESIAN PRODUCT
 Tampilkan nid,nama_d (dari relasi Dosen), nama_mk
(dari relasi Matakuliah),
thn_akademik,smt,hari,jam_ke,waktu,kelas (dari relasi
Mengajar) dimana semester mengajar adalah pada
semester ‘1’.
t nid,nama_d,nama_mk,
thn_akademik,smt,hari,jam_ke,waktu,kel
as ( o smt=1 . Dosen.nid=Mengajar.nid .
Mengajar.kdmk=Matakuliah.kdmk
(DosenxM
atakuliahxMengajar)
)
CONTOH OPERASI CARTESIAN PRODUCT
 Tampilkan nama_d (dari relasi Dosen), nama_mk,sks
(dari relasi Matakuliah), hari,jam_ke,waktu (dari
relasi Mengajar) dimana sks matakuliah >3 atau hari
mengajar = ‘Jumat’.
tnama_d,nama_mk,sks,hari,jam_ke,waktu
( o sks>3 v hari=’Jumat’ .
Mengajar.nid=Dosen.nid .
Mengajar.kdmk=Matakuliah.kdmk
(Mengajar
xDosenxMatakuliah)
)
OPERASI UNION
 Union ( ), adalah operasi untuk menghasilkan
gabungan table degan syarat kedua table
memiliki atribut yangsama, yaitu domain atribut
ke-i masing – masing table harus sama.
 Sintaks yang digunakan dalam operasi union ini
adalah sebagai berikut :
R S = {x | xeR atau X eS}
OPERASI UNION
 Operasi ini dapat dilaksanakan apabila R dan S
mempunyai atribut yang sama sehingga jumlah
komponennya sama.
 Tabel Mahasiswa
NIM NAMA_MHS ALAMAT_MHS KOTA TGL_LHR
980001 Ali Akbar Jl. Merdeka Bogor 02-01-1979
980002 Budi Haryanto Jl. Gajah Mada Jakarta 06-10-1978
 Tabel Dosen
KODE_DOS NAMA_DOS ALAMAT_DOS KOTA
SY Syamsudin, S.Si Jl. Suci Bekasi
FS Farida Syarif, Ir Jl. Tenteram Jakarta
CONTOH OPERASI UNION
 Jila dilakukan operasi union :
t kota
(mahasiswa)
tkota
(Dosen)
 Maka hasilnya :
KOTA
Bogor
Jakarta
Bekasi
Jakarta
OPERASI SET DIFFERENCE
 Set-difference ( -- ), adalah operasi untuk
mendapatkan table pada suatu relasi, tapi tidak
ada pada relasi yang lainnya.
 Sintaks yang digunakan dalam operasi union ini
adalah sebagai berikut :
R – S = { x | xeR dan X e S}
 Operasi ini dapat dilaksanakan apabila R dan S
mempunyai atribut yang tidak sama yang akan
ditampilkan, artinya adalah atribut R yang tidak
ada di S akan ditampilkan, sedangkan atribut
yang sama tidak ditampilkan.
CONTOH OPERASI SET DIFFERENCE
 Jika tabel Kuliah_S1 dan Tabel Kuliah_D3 berisi
data sebagai berikut :
 Tabel Kuliah_S1
Kode_kul Nama_kul Sks semester
IF-110 Pemrograman I 3 1
IF-221 Struktur Data 3 2
IF-310 Basis Data 4 3
IF-320 Pemrograman II 3 3
IF-411 Sistem Basis Sata 3 4
IF-423 Sistem Pakar 2 4
CONTOH OPERASI SET DIFFERENCE
 Tabel Kuliah_D3
Kode_kul Nama_kul Sks semester
IF-110 Pemrograman I 3 1
IF-120 Aplikasi Akuntansi 2 1
IF-221 Struktur Data 3 2
IF-310 Basis Data 4 3
CONTOH OPERASI SET DIFFERENCE
 Maka hasil operasi :
 tnama_kul (Kuliah_S1) - tnama_kul
(Kuliah_D3)
Nama_kul
Pemrograman II
Sistem Basis Data
Sistem Pakar
OPERASI RENAME
• Rename ( µ ), adalah operasi untuk
menyalin table lama kedalam table yang
baru.
Sintaks yang digunakan dalam operasi
union ini adalah sebagai berikut :
µ [nama_table]
(table_lama)
CONTOH OPERASI RENAME
Salinlah table baru dengan nama DosenNew
dari table Dosen, dimana jenis kelaminnya
adalah ‘Pria’.
µ DosenNew ( o jkelamin=’Pria’)
(Dosen)
)

BAHASA QUERY FORMAL
Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari basis data.  Bahasa query relasional formal merupakan bahasa antara yang digunakan basis data, yaitu SQL dikonversi menjadi bahasa rlasional formal sehingga dapa diterapkan sekumpulan informasi untuk memperoleh query paling efisien

. yaitu: 1.LANJUTAN  Terdapat dua jenis bahasa query relasional formal yang utama. Aljabar relasional.BAHAS QUERY FORMAL…. 2. Kalkulus relasional..

.ALJABAR RELATIONAL  Relational Algebra (aljabar relasional) merupakan kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.

Selection (  ) 2. Set – difference ( . Rename (  ) . juga disebut sebagai cross product ) 4. Union (  ) 5.ALJABAR RELATIONAL  Terdapat lima operasi dasar dalam aljabar relasional. Projection (  ) 3. yaitu: 1.) 6. Cartesian – product ( X.

Set intersection (  ) 2.ALJABAR RELATIONAL  Operasi – operasi turunan dari operasi – operasi dasar tersebut adalah: 1. Natural-join ( ) 4. Division (  ) . Outer-join ( ) 5. Theta join (  ) 3.

>=. Beberapa predikat dapat dikombinasikan menjadi predikat manjemuk menggunakan penghubung AND (  ) dan OR (  ).<=.#) pada predikat. kita dapat menggunakan operator perbandingan (<.OPERASI SELEKSI ( SELECT )  Selection / Select ( ). adalah operasi untuk menyeleksi tupel – tupel yang memenuhi suatu predikat.>.=. .

OPERASI SELEKSI ( SELECT )  Sintaks yang digunakan untuk menyatakan operasi adalah : p (E1)  Contoh : Tampilkan data mahasiswa yang tempat tinggalnya di Bogor. kota = ‘Bogor’ (mahasiswa) .

OPERASI SELEKSI ( SELECT )  Tampilkan daftar dosen yang tempat lahirnya di ‘Bekasi tempat_lhr=’Bekasi’ (Dosen) Tampilkan daftar dosen yang tempat lahirnya di ‘Jakarta’ atau ‘Bogor’ tempat_lhr=’Jakarta’  tempat_lhr=’Bogor’ (Dosen)  .

 Tampilkan daftar dosen yang tempat lahirnya di ‘Bogor’ dan jenis kelaminnya ‘Pria’ tempat_lhr=’Bogor’  jkelamin=’Pria’ (Dosen) .

 Operasi project adalah operasi unary yang mengirim relasi argumen dengan kolom – kolom tertentu.  Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut :   colum1.…. adalah operasi untuk memperoleh kolom – kolom tertentu.column ( tabel)  .OPERASI PROJECTION (PROJECT) Projection / Project (  ).

kota.1200000  nid.alamat.alamat.CONTOH OPERASI PROJECTION (PROJECT) Tampilkan nid.nama_d.gajipokok( gajipokok>1200000 (Dosen))  .kota dari relasi Dosen  nid. dimana gaji pokoknya lebih besar dari Rp.kota(Dosen)  Tampilkan nid.alamat.alamat.kota.nama_d.nama_d.nama_d.gajipokok dari relasi Dosen.

OPERASI CARTESIAN PRODUCT Cartesian-product ( X ).  Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut :  R X S = {(x.y) | xR dan yS} . adalah operasi untuk menghasilkan table hasil perkalian kartesian.

OPERASI CARTESIAN PRODUCT  Operasi cartesian-product memungkinkan kita mengkombinasikan informasi beberapa relasi. Kita harus memilih atribut – atribut untuk relasi yang dihasilkan dari cartesian-product. operasi ini adalah operasi biner. Sebagaimana telah dinyatakan bahwa relasi adalah subset hasil cartesian-product dan himpunan domain relasi – relasi tersebut. .

waktu. thn_akademik.  nid.kelas (dari relasi Mengajar) dimana semester mengajar adalah pada semester ‘1’.kdmk=Matakuliah.kel as (  smt=1  Dosen.CONTOH OPERASI CARTESIAN PRODUCT  Tampilkan nid. thn_akademik.jam_ke. nama_mk (dari relasi Matakuliah).nid=Mengajar.nama_mk.kdmk(DosenxM atakuliahxMengajar)) .hari.waktu.smt.nama_d.smt.jam_ke.hari.nama_d (dari relasi Dosen).nid  Mengajar.

nama_mk.jam_ke.hari.sks.waktu (dari relasi Mengajar) dimana sks matakuliah >3 atau hari mengajar = ‘Jumat’. nama_mk.CONTOH OPERASI CARTESIAN PRODUCT  Tampilkan nama_d (dari relasi Dosen).sks (dari relasi Matakuliah).kdmk(Mengajar xDosenxMatakuliah)) .jam_ke. hari.waktu (  sks>3  hari=’Jumat’  Mengajar.nid=Dosen. nama_d.kdmk=Matakuliah.nid  Mengajar.

 Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut : R  S = {x | xR atau X S}  . yaitu domain atribut ke-i masing – masing table harus sama.OPERASI UNION Union (  ). adalah operasi untuk menghasilkan gabungan table degan syarat kedua table memiliki atribut yangsama.

Gajah Mada KOTA Bogor Jakarta TGL_LHR 02-01-1979 06-10-1978 . Merdeka Jl.  Tabel Mahasiswa  NIM 980001 980002 NAMA_MHS Ali Akbar Budi Haryanto ALAMAT_MHS Jl.OPERASI UNION Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang sama sehingga jumlah komponennya sama.

Ir . Tabel Dosen ALAMAT_DOS Jl. S. Tenteram KOTA Bekasi Jakarta KODE_DOS NAMA_DOS SY FS Syamsudin.Si Farida Syarif. Suci Jl.

CONTOH OPERASI UNION  Jila dilakukan operasi union :  kota (mahasiswa)  kota (Dosen) Maka hasilnya : KOTA Bogor Jakarta Bekasi Jakarta  .

tapi tidak ada pada relasi yang lainnya. artinya adalah atribut R yang tidak ada di S akan ditampilkan.  Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut : R – S = { x | xR dan X  S}  Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang tidak sama yang akan ditampilkan.).OPERASI SET DIFFERENCE Set-difference ( -. sedangkan atribut yang sama tidak ditampilkan. adalah operasi untuk mendapatkan table pada suatu relasi.  .

CONTOH OPERASI SET DIFFERENCE  Jika tabel Kuliah_S1 dan Tabel Kuliah_D3 berisi data sebagai berikut : Tabel Kuliah_S1 Kode_kul Nama_kul Sks semester  IF-110 IF-221 IF-310 IF-320 IF-411 IF-423 Pemrograman I Struktur Data Basis Data Pemrograman II Sistem Basis Sata Sistem Pakar 3 3 4 3 3 2 1 2 3 3 4 4 .

CONTOH OPERASI SET DIFFERENCE  Tabel Kuliah_D3 Kode_kul IF-110 IF-120 Nama_kul Pemrograman I Aplikasi Akuntansi Sks semester 3 2 1 1 IF-221 IF-310 Struktur Data Basis Data 3 4 2 3 .

nama_kul (Kuliah_D3) Nama_kul Pemrograman II Sistem Basis Data Sistem Pakar .CONTOH OPERASI SET DIFFERENCE  Maka hasil operasi :  nama_kul (Kuliah_S1) .

OPERASI RENAME • Rename (  ).  Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut :  [nama_table] (table_lama) . adalah operasi untuk menyalin table lama kedalam table yang baru.

CONTOH OPERASI RENAME  Salinlah table baru dengan nama DosenNew dari table Dosen. dimana jenis kelaminnya adalah ‘Pria’.  DosenNew (  jkelamin=’Pria’) (Dosen)) .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->