Bahasa dalam Model Relational - dinus.ac.· Operasi Dasar Aljabar Relasional 3. Union • Operasi

Embed Size (px)

Text of Bahasa dalam Model Relational - dinus.ac.· Operasi Dasar Aljabar Relasional 3. Union • Operasi

  • Bahasa dalam Model Relational

    Bahasa Query adalah bahasa yang digunakan untuk model

    relasional

    Bahasa Query merupakan suatu bahasa yang menyediakan

    fasilitas bagi user untuk mengakses informasi dari basis data.

    Pada umumnya level bahasa ini lebih tinggi dari bahasa

    pemrograman standar.

    Bahasa query dapat dikategorikan menjadi 2 :

    1. Prosedural

    2. Non-Prosedural.

    11/06/2014 1

  • Bahasa Prosedural dan Non Prosedural

    1. Bahasa Prosedural : user menginstruksikan ke sistem agarmembentuk serangkaian operasi dalam basis data untukmengeluarkan hasil yang diinginkan. Yg termasuk bahasa query prosedural :

    1. Aljabar Relasional

    2. Bahasa Non-Prosedural: user mendeskripsikan informasi yangdiinginkan tanpa memberikan prosedur detail untukmenghasilkan informasi.Yang termasuk bahasa non-prosedural :

    1. Kalkulus relasional tupel2. Kalkulus relasional domain

    11/06/2014 2

  • Bahasa Prosedural

    1. Aljabar Relasional adalah sebuah bahasa query prosedural yangterdiri dari sekumpulan operasi dimana masukkannya adalah satuatau dua relasi dan keluarannya adalah sebuah relasi baru sebagaihasil dari operasi tersebut.

    Operasi-operasi dasar dalam aljabar relasional adalah :1.Select2. Projection3.Union4. Set difference5. Cartesian product, selain itu ada beberapa operasi tambahan

    Yaitu set intersection, natural join, division dan theta join.

    11/06/2014 3

  • Operasi Dasar Aljabar Relasional

    1. Select Operasi select dapat didefiniskan sebagai Kumpulan semua

    tuple-tuple/record-record dalam suatu tabel yang memenuhikondisi seleksi tertentu.

    Operasi select berfungsi untuk menyeleksi tuple-tuple yangmemenuhi predikat yang diberikan dari sebuah tabel relasi.

    Simbol sigma digunakan untuk menunjukkanoperasi select.

    Argumen diberikan dalam tanda kurung yang mengikuti dan berisi tabel relasi yang dimaksud.

    11/06/2014 4

  • Contoh penggunaan operasi select

    Misalkan ada 3 tabel, yaitu tabel dosen, tabel matakuliah dan tabel mengajar seperti berikut:

    NIP Nama_dosen Jenis_kelamin Alamat Kota

    95001 Bambang Pria Jl. Mawar Jakarta Selatan

    95002 Asri Wanita Jl. Anggrek Jakarta Selatan

    95003 Hesti Wanita Jl. Bungur Jakarta Timur

    95004 Dimas Pria Jl. Kemuning Cikarang

    Kd_mk Nama_mk SksMPK1 PKN 2MKB3 BDT 3MKB4 ASD 3

    MKB2 SBD 2MKB5 PTI 4

    NIP Kd_mk Kelas95002 MKB3 A95002 MKB4 A95003 MPK1 A95003 MPK1 B95004 MKB4 B

    Tabel Dosen

    Tabel Matakuliah Tabel Mengajar

    11/06/2014 5

  • Contoh penggunaan operasi select

    NIP Nama_dosen Jenis_kelamin Alamat Kota95001 Bambang Pria Jl. Mawar Jakarta Selatan95004 Dimas Pria Jl. Kemuning Cikarang

    Hasil:

    Contoh 1. Tampilkan daftar dosen yang berjenis kelamin pria dari tabel

    Dosen.Aljabar relasional : Jenis_kelamin=Pria(Dosen)

    2. Tampilkan daftar dosen yang kota asalnya Jakarta SelatanAljabar relasional : kota=Jakarta Selatan(Dosen)

    NIP Nama_dosen Jenis_kelamin Alamat Kota95001 Bambang Pria Jl. Mawar Jakarta Selatan95002 Asri Wanita Jl. Anggrek Jakarta Selatan

    11/06/2014 6

  • Contoh penggunaan operasi select

    Hasil:

    Contoh 1. Tampilkan daftar matakuliah yg sksnya lebih dari atau sama

    dengan 32. Aljabar relasional : (sks>=3)(Matakuliah)

    Kd_mk Nama_mk SksMKB3 BDT 3MKB4 ASD 3MKB5 PTI 4

    11/06/2014 7

  • Operasi Dasar Aljabar Relasional

    2. Project

    Operasi project berfungsi untuk memilih nilai atribut-atribut

    tertentu saja dari sebuah tabel relasi.

    Simbol phi digunakan untuk menunjukkan

    operasi projection.

    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 project1. Tampilkan NIP dan Nama_dosen dari tabel Dosen

    Aljabar relasional : NIP,Nama_dosen(Dosen)

    NIP Nama_dosen95001 Bambang95002 Asri95003 Hesti95004 Dimas

    2. Tampilkan NIP, Nama_dosen, dan kota dari tabel Dosen, dari dosen-dosen yang bertempat tinggal di kota Jakarta Selatan.Aljabar relasional : NIP,Nama_dosen,Kota(Kota=Jakarta Selatan(Dosen)

    IP Nama_dosen Jenis_kelamin Kota95001 Bambang Pria Jakarta Selatan95002 Asri Wanita Jakarta Selatan

    Hasil

  • Operasi Dasar Aljabar Relasional

    3. 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

  • Operasi Dasar Aljabar Relasional

    NIP

    95002

    95003

    95004

    Hasil

    NIP Nama_dosen Jenis_kelamin Alamat Kota95001 Bambang Pria Jl. Mawar Jakarta Selatan95002 Asri Wanita Jl. Anggrek Jakarta Selatan95003 Hesti Wanita Jl. Bungur Jakarta Timur95004 Dimas Pria Jl. Kemuning Cikarang

    NIP Kd_mk Kelas95002 MKB3 A95002 MKB4 A95003 MPK1 A95003 MPK1 B95004 MKB4 B

    Tabel mengajar

    Tabel dosen

    Contoh penggunaan operasi union : Tampilkan NIP( dari relasi Dosen) Union dari NIP (dari tabel Mengajar)

    Aljabar Relasional: NIP (Dosen) NIP (Mengajar)

  • Bahasa dalam Model Relational

    4. Set Difference

    Operasi set difference berfungsi untuk mendapatkan nilai yang

    ada disebuah tabel relasi, tapi tidak ada dalam tabel relasi

    lainnya.

    Simbol - digunakan untuk menunjukkan perasi set difference.

  • Contoh penggunaan operasi set difference

    NIP

    95001

    NIP Nama_dosen Jenis_kelamin Alamat Kota

    95001 Bambang Pria Jl. Mawar Jakarta Selatan

    95002 Asri Wanita Jl. Anggrek Jakarta Selatan

    95003 Hesti Wanita Jl. Bungur Jakarta Timur

    95004 Dimas Pria Jl. Kemuning Cikarang

    Tabel Dosen

    NIP Kd_mk Kelas95002 MKB3 A95002 MKB4 A95003 MPK1 A95003 MPK1 B95004 MKB4 B

    Tabel MengajarHasil

    Tampilkan NIP (dari tabel Dosen) Set-difference dari NIP (dari tabel Mengajar).

    Aljabar relasional: NIP (Dosen) - NIP (Mengajar)

  • 5. Cartesian Product

    5. Cartesian Product Operasi cartesian product berfungsi untuk mengkombinasikan

    informasi yang ada dalam 2 tabel relasi dan menghasilkan sebuahtabel relasi yang baru.

    Simbol x digunakan untuk menunjukkan operasi cartesianproduct.

    Contoh penggunaan operasi cartesian product :Tampilkan Kode_mk, Nama_mk, Sks (dari tabel Matakuliah), Kelas(dari tabel Mengajar) dimana kelas yang diajar adalah kelas A.Aljabar relasional: Kode_mk,Nama_mk,Sks,Kelas (Kelas=A ^Mengajar.Kode_mk=Matakuliah.Kode_mk(Mengajar x Matakuliah))atau

    Mengajar.Kode_mk=Matakuliah.Kode_mkKelas=A ((Kode_mk,Nama_mk,Sks (Matakuliah)) x Kelas(Mengajar))

  • Contoh penggunaan operasi cartesian product

    Kd_mk Nama_mk Sks KelasMPK1 PKN 2 AMKB3 BDT 3 AMKB4 ASD 3 A

    hasil

    Kd_mk Nama_mk SksMPK1 PKN 2MKB3 BDT 3MKB4 ASD 3

    MKB2 SBD 2MKB5 PTI 4

    NIP Kd_mk Kelas95002 MKB3 A95002 MKB4 A95003 MPK1 A95003 MPK1 B95004 MKB4 B

    Tabel Matakuliah Tabel Mengajar

  • 6. Intersection

    6. Intersection Set intersection / Intersection () termasuk ke dalam operator

    tambahan, karena operator ini dapat diderivikasi dari operatordasar seperti berikut:

    A B = A - ( A B ), atau A B = B - ( B A ) Operasi set intersection berfungsi untuk mendapatkan nilai yang

    ada dalam sebuah tabel relasi dan juga ada dalam tabel relasilainnya.

    Simbol digunakan untuk menunjukkanoperasi set intersection.

  • Contoh penggunaan operasi set intersection

    NIP950029500395004

    Hasil

    Tampilkan NIP (dari tabel Dosen) Set Intersection dengan NIP (dari tabel Mengajar).Aljabar relasional: NIP (Dosen) NIP (Mengajar)

    NIP Nama_dosen Jenis_kelamin Alamat Kota

    95001 Bambang Pria Jl. Mawar Jakarta Selatan

    95002 Asri Wanita Jl. Anggrek Jakarta Selatan

    95003 Hesti Wanita Jl. Bungur Jakarta Timur

    95004 Dimas Pria Jl. Kemuning Cikarang

    NIP Kd_mk Kelas95002 MKB3 A95002 MKB4 A95003 MPK1 A95003 MPK1 B95004 MKB4 B

    Tabel Dosen

    Tabel Mengajar

  • 7. Natural Join

    Operasi natural join berfungsi untuk menggabungkan

    operasi selection dan cartesian product menjadi 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.

  • 7. Natural Join7. Natural Join

    Kd_mk Nama_mk Sks NIP KelasMKB3 BDT 3 95002 AMKB4 ASD 3 95002 AMPK1 PKN 2 95003 AMPK1 PKN 2 95003 BMKB4 ASD 3 95004 B

    hasil

    Contoh penggunaan operasi natural joinTampilkan seluruh data yang ada pada tabel Matakuliah dan tabel Mengajar.Aljabar relasional : Matakuliah Mengajar.Kode_mk=Matakuliah.Kode_mk Mengajar

    Kd_mk Nama_mk SksMPK1 PKN 2MKB3 BDT 3MKB4 ASD 3

    MKB2 SBD 2MKB5 PTI 4

    NIP Kd_mk Kelas95002 MKB3 A95002 MKB4 A95003 MPK1 A95003 MPK1 B95004 MKB4 B

    Tabel MatakuliahTabel Mengajar

  • 7. Theta Join

    Operasi theta join berfungsi untuk mengkombinasikan tupel

    dari 2 tabel relasi dimana kondisi dari kombinasi tersebut tidak

    hanya nilai dari 2 atribut bernama sama, tetapi kondisi yang

    diinginkan juga bisa menggunakan operator relasional (, , ). Operasi theta join merupakan ekstensi dari natural join.

  • 7. Theta Join

    Contoh penggunaan operasi theta join:Tampilkan seluruh data yang ada pada tabe