BAHASA QUERY FORMAL

34

Transcript of BAHASA QUERY FORMAL

Page 1: BAHASA QUERY FORMAL
Page 2: BAHASA QUERY FORMAL

Materi :

BahasaKueri

Formal

Aljabar Relasional

Kalkulus Relasional

Komersial SQL

Page 3: BAHASA QUERY FORMAL

Pemrosesan Kueri

• Sejumlah aktifitas yang dilakukan untuk pengambilan data

• Aktifitas meliputi transformasi dari berbagai kueri dari level logik ke level fisik

• Klasifikasi aktifitas meliputi : Parsing, optimasi, evaluasi kueri

Page 4: BAHASA QUERY FORMAL

Klasifikasi Aktifitas

Kueri Parser &

Transleter

Ekspresi Aljabar

Optimizer

Rencana Mesin Evaluasi

Hasil Kueri

Informasi

Data

Page 5: BAHASA QUERY FORMAL

Klasifikasi Aktifitas • Langkah-langkah yang mendasar : 1. Parsing dan Translasi 2. Optimasi 3. Evaluasi Query

• Sebelum pemrosesan query dimulai, sistem menterjemahkan query tersebut ke dalam bentuk yang cocok bagi sistem basis data.

• Proses translasi dilakukan oleh modul parser dalam sebuah sistem kompilator program.

• Parser memeriksa sintaks query dari pemakai juga melihat apakah nama tabel yang disebutkan memang benar merupakan nama tabel yang ada di dalam basis data.

Page 6: BAHASA QUERY FORMAL

o Kueri diterjemahkan(Parsing) oleh modul parser kedalam bahasa mesin (internal kueri) memeriksa sintak kueri, nama table menghasilkan representatif hirarkis yang memudahkan translasi ke model ekspresi aljabar relasional.

o Contoh :

select kdmk ,sks,semester

from matkul where semester>3

Kueri di translasikan pada salah satu ekspresi aljabar relasional :

1. σ semester>3 (π kdmk,sks,semester(matkul))

2. π kdmk,sks,semester (σ semester>3(matkul))

Menghasilkan output yang sama

Page 7: BAHASA QUERY FORMAL

• Ekspresi 1

σ semester>3 (π kdmk,sks,semester(matkul))

σ semester>3 ( urutan 1 )

( urutan 2 )

Sem,kdmk,sks disimpan dalam buffer

Page 8: BAHASA QUERY FORMAL

• Ekspresi 2

π kdmk,sks,semester (σ semester>3(matkul))

( urutan 1 )

( urutan 2 )

Semester,kdmk,sks disimpan dalam buffer

Page 9: BAHASA QUERY FORMAL

Bahasa Kueri Formal

• Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari basis data yang menggunakan notasi matematik

• Ada 2 dasar pembentukan dan selanjutnya menentukan cara query dalam Bahasa Query yaitu : Aljabar Relasional dan Kalkulus Relasional

Page 10: BAHASA QUERY FORMAL

Aljabar Relational

• Relational Algebra (aljabar relasional) 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.

Page 11: BAHASA QUERY FORMAL

Operasi dalan Aljabar Relasional

5 operasi dasar:

(UNARY OPERATION) : Selection () , Projection ()

(BINARY OPERATION): Cartesian – product (X), Union (), Set – difference (-),Rename ()

Operasi – operasi turunan : (BINARY OPERATION)

Set intersection (),Theta join (), Natural-join ( ), Outer-join ( ), Division ( )

Page 12: BAHASA QUERY FORMAL

SELECTION ()

Notasi : σp(r)

Operasi untuk menyeleksi tupel – tupel yang memenuhi suatu predikat

Ilustrasi :

Operator aritmatik (<,>,>=,<=,=,#)

Operator logika untuk predikat majemuk menggunakan penghubung AND ( ) dan OR ( ).

1 Bbb Ccc Ddd

2 Eee Fff Ggg

3 Hhh Iii Jjj

4 Kkk Lll Mmm

5 Nnn Ooo Ppp

6 Qqq Rrr Sss

7 Ttt Vvv Www

Page 13: BAHASA QUERY FORMAL

Latihan :

Relasi/Table : Dosen

1. Tampilkan daftar dosen yang berkota di ‘Bekasi

kota=’Bekasi’ (Dosen)

Page 14: BAHASA QUERY FORMAL

2. Tampilkan daftar dosen yang tinggal di Jakarta atau ‘Bogor

Kota=’Jakarta’ kota =’Bogor’ (Dosen)

Page 15: BAHASA QUERY FORMAL

3. Tampilkan daftar dosen Pria yang tinggal

di kota Bogor

4. Tampilkan daftar dosen yang memiliki gaji dibawah 1800000

5. Tampilkan dosen wanita yang lahir di Jakarta

Page 16: BAHASA QUERY FORMAL

Operasi Project ( )

operasi untuk memperoleh kolom – kolom tertentu.

Ilustrasi :

Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut :

colum1,…,column ( tabel)

1 Bbb Ccc Ddd

2 Eee Fff Ggg

3 Hhh Iii Jjj

4 Kkk Lll Mmm

5 Nnn Ooo Ppp

6 Qqq Rrr Sss

7 Ttt Vvv Www

Page 17: BAHASA QUERY FORMAL

Table/relasi dosen

1.Tampilkan kddos,nama_dos,jekel,kota dari relasi Dosen

kddos,namados,jekel,kota(Dosen)

Page 18: BAHASA QUERY FORMAL

2. Select dan Project

Tampilkan kddos,namados, alamat,kota untuk

dosen yang tinggal di Bogor

kddos,namados,alamat,kota(tkota=‘Bogor’ (Dosen))

Page 19: BAHASA QUERY FORMAL

3. Tampilkan nama dosen,kota lahir,tanggal lahir

untuk dosen wanita yang lahir di Jakarta

4. Tampilkan nama dosen, jenis kelamin, gaji

untuk dosen wanita atau pria dengan dengan gaji

diatas 1750000

Page 20: BAHASA QUERY FORMAL

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) | xR dan yS}

1 Xxx

6 Opo

1 Bbb Ccc Ddd

10 Eee Fff Ggg

3 Hhh Iii Jjj

2 Kkk Lll Mmm

R

S

R X S

1 Xxx 1 Bbb Ccc Ddd

1 Xxx 10 Eee Fff Ggg

1 Xxx 3 Hhh Iii Jjj

1 Xxx 2 Kkk Lll Mmm

6 Opo 1 Bbb Ccc Ddd

6 Opo 10 Eee Fff Ggg

6 Opo 3 Hhh Iii Jjj

6 Opo 2 Kkk Lll Mmm

Page 21: BAHASA QUERY FORMAL

KDDOS HARI JAM KDMK KELAS

0001 1 3 TI005 SM01

0020 1 3 TI005 SM03

0015 1 7 PP001 SM01

KDMK NAMAMK SKS

TI005 Pengantar WEB 3

TI001 Sistem Basis Data 3

PP001 Pancasila 2

AJAR MATAKULIAH alias MK

Contoh :

KDDOS HARI JAM ajar.KDMK KELAS Mk.KDMK NAMAMK SKS

0001 1 3 TI005 SM01 TI005 Pengantar WEB 3

0001 1 3 TI005 SM01 TI001 Sistem Basis Data 3

0001 1 3 TI005 SM01 PP001 Pancasila 2

0020 1 3 TI005 SM03 TI005 Pengantar WEB 3

0020 1 3 TI005 SM03 TI001 Sistem Basis Data 3

0020 1 3 TI005 SM03 PP001 Pancasila 2

0015 1 7 PP001 SM01 TI005 Pengantar WEB 3

0015 1 7 PP001 SM01 TI001 Sistem Basis Data 3

0015 1 7 PP001 SM01 PP001 Pancasila 2

AJAR X MK

Page 22: BAHASA QUERY FORMAL

Contoh

Tampilkan kddos, kdmk, namamk, kelas, hari,

jam untuk dosen yang mengajar pada jam ke 3

kddos,ajar.kdmk,namamk,kelas,hari,jam

(ajar.kdmk=mk.kdmk ^ jam =‘3’(ajar x mk))

KDDOS ajar.KDMK NAMAMK KELAS HARI JAM

0001 TI005 Pengantar WEB SM01 1 3

0020 TI005 Pengantar WEB SM03 1 3

Page 23: BAHASA QUERY FORMAL

Operasi Union( )

• Operasi untuk menghasilkan gabungan table dengan syarat kedua table memiliki atribut yang sama, yaitu domain atribut ke-i masing – masing table harus sama.

• Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut :

R S = {x | xR atau X S}

• Memiliki derajat yang sama

Page 24: BAHASA QUERY FORMAL

Contoh : 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

Mahasiswa Dosen

Page 25: BAHASA QUERY FORMAL

• Tampilkan kota tempat tinggal mahasiswa dan dosen

•Jila dilakukan operasi union :

kota (mahasiswa) kota (Dosen)

•Maka hasilnya :

KOTA

Bogor

Jakarta

Bekasi

KOTA

Bogor

Jakarta

KOTA

Bekasi

Jakarta

Page 26: BAHASA QUERY FORMAL

Operasi Set Difference

• Operasi untuk mendapatkan table pada relasi pertama, tapi tidak ada pada relasi yang lainnya.

• Sintaks sebagai berikut :

R – S = { x | xR dan X S}

• Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang tidak sama yang akan ditampilkan.

Page 27: BAHASA QUERY FORMAL

Contoh Operasi Set Difference • Jika tabel Kuliah_S1 dan Tabel Kuliah_D3 berisi data sebagai

berikut :

• Tabel Kuliah_S1

Kode_kul Nama_kul Sks sem

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

Tabel Kuliah_D3

Kode_kul Nama_kul Sks Sem

IF-110 Pemrograman I 3 1

IF-120 Aplikasi Akuntansi 2 1

IF-221 Struktur Data 3 2

IF-310 Basis Data 4 3

Page 28: BAHASA QUERY FORMAL

Contoh Operasi Set Difference

• Tampilkan matakuliah yang ditawarkan pada S1 tetapi tidak ada di D3

• Maka hasil operasi : • nama_kul (Kuliah_S1) - nama_kul (Kuliah_D3)

Nama_kul

Pemrograman II

Sistem Basis Data

Sistem Pakar

Nama_kul

Pemrograman I

Struktur Data

Basis Data

Pemrograman II

Sistem Basis Sata

Sistem Pakar

Nama_kul

Pemrograman I

Aplikasi Akuntansi

Struktur Data

Basis Data

Page 29: BAHASA QUERY FORMAL

Operasi rename( )

Operasi untuk menyalin table lama kedalam table yang baru

Sintaks sebagai berikut :

[nama_table] (table_lama)

Salinlah table baru dengan nama DosenNew dari

table Dosen, dimana jenis kelaminnya adalah ‘Pria’.

DosenNew ( jekel=’L’) (Dosen))

Page 30: BAHASA QUERY FORMAL

Natural Join

Menghasilkan tabel hasil kemungkinan kombinasi suatu relasi dengan relasi lain, dimana antar relasi memiliki atribut yang memiliki domain yang sama

Sintaks sebagai berikut : R S

Ilustrasi

R S

r1 r2

a 1

b 2

r2 r3

1 x

1 y

3 z

R

S

r1 r2 r3

a 1 x

a 1 y

Page 31: BAHASA QUERY FORMAL

Contoh

KDDOS HARI JAM KDMK KELAS

0001 1 3 TI005 SM01

0020 1 3 TI005 SM03

0015 1 7 PP001 SM01

KDMK NAMAMK SKS

TI005 Pengantar WEB 3

TI001 Sistem Basis Data 3

PP001 Pancasila 2

Ajar Matakuliah alias MK

KDDOS HARI JAM KDMK KELAS NAMAMK SKS

0001 1 3 TI005 SM01 Pengantar WEB 3

0020 1 3 TI005 SM03 Pengantar WEB 3

0015 1 7 PP001 SM01 Pancasila 2

Ajar MK

Page 32: BAHASA QUERY FORMAL

Set-Intersection ()

Sintaks adalah : A B = A – (A-B) atau B A = B – (B-A)

Ilustrasi :

A B

D H

A C

D F

R S R - S

T H

M N

S - R

D H

A C

A B

T H

D F

M N

R S = R - ( R - S )

A B

D H

A C

D F

D H

A C A B

D F

S R = S - ( S - R )

T H

M N

A B

D F

A B

T H

D F

M N

Page 33: BAHASA QUERY FORMAL

Jika diketahui Tabel matakuliah S1 dan D3 berikut :

Tabel Kuliah_S1

Kode_kul Nama_kul Sks sem

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

Kode_kul Nama_kul Sks Sem

IF-110 Pemrograman I 3 1

IF-120 Aplikasi Akuntansi 2 1

IF-221 Struktur Data 3 2

IF-310 Basis Data 4 3

Tabel

Kuliah_D3

Page 34: BAHASA QUERY FORMAL

Tampilkan matakuliah yang ditawarkan pada S1

dan D3

Maka hasil operasi :

nama_kul (Kuliah_S1) nama_kul (Kuliah_D3)

Nama_kul

Pemrograman I

Struktur Data

Basis Data

Nama_kul

Pemrograman I

Struktur Data

Basis Data

Pemrograman II

Sistem Basis Sata

Sistem Pakar

Nama_kul

Pemrograman I

Aplikasi Akuntansi

Struktur Data

Basis Data