DBMS Query Translation Practice (Kasus Relasi Tabel Kepegawaian)
Assalamu'alaikum
Selamat siang, jumpa lagi bersama saya di pembahasan mengenai query translation. Setelah kita sudah membahas beberapa jenis dari query translation seperti aljabar dan kalkulus relational. Di kesempatan kali ini saya ingin membahas mengenai beberapa contoh case yang bisa kita gunakan sebagai latihan mengenai query translation aljabar maupun kalkulus. Kita akan mulai dengan beberapa tabel sebagai berikut.
Cek juga artikel aljabar relational, kalkulus relational tuple dan kalkulus relational domain.
Cek juga artikel aljabar relational, kalkulus relational tuple dan kalkulus relational domain.
Telihat dari ketiga tabel di atas terhubung dengan primary dan foreign key yang melibatkan relasi JABATAN dan relasi DIVISI masuk kedalam relasi utama yaitu relasi PEGAWAI. Untuk menampilkan beberapa kondisi yang di inginkan dengan menggunakan ketiga query translation yang sudah dibahas sebelumnya, kita akan mencoba dari beberapa contoh berikut.
- Tampilkan semua pegawai yang ada
- Tampilkan KodePegawai, NamaPegawai, Jabatan, Divisi yang jabatannya manager dan direktur
- Tampilkan KodePegawai, NamaPegawai, Jabatan, Divisi
- Tampilkan KodePegawai, NamaPegawai, Jabatan, NamaDivisi dari pegawai bagian penjualan
- Tampilkan pegawai yang merupakan manager keuangan
- Tampilkan kodePegawai, Nama Pegawai, NamaDivisi, Jabatan dan gaji pokok dari seluruh pegawai divisi System.
Aljabar Relational (AR)
- πNamaPegawai (PEGAWAI)
- σ PEGAWAI.KodeJabatan = JABATAN.KodeJabatan π PEGAWAI.KodeDivisi = DIVISI.KodeDivisi π (Jabatan=’Manager’ V Jabatan=’Direktur’ (π KodePegawai, NamaPegawai (PEGAWAI)) x (π Jabatan (JABATAN)) x (π NamaDivisi (DIVISI))
- σ PEGAWAI.KodeJabatan = JABATAN.KodeJabatan π PEGAWAI.KodeDivisi = DIVISI.KodeDivisi (π KodePegawai, NamaPegawai (PEGAWAI)) x (π Jabatan (JABATAN)) x (π NamaDivisi (DIVISI))
- σ (PEGAWAI.KodeDivisi = DIVISI.KodeDivisi π NamaDivisi=’Penjualan’ (π KodePegawai, NamaPegawai (PEGAWAI)) x (π NamaDivisi (DIVISI))
- σ (PEGAWAI.KodeJabatan = JABATAN.KodeJabatan) π (PEGAWAI.KodeDivisi = DIVISI.KodeDivisi) π (Jabatan=’Manager’) π (NamaDivisi=’Keuangan’ (π KodePegawai, NamaPegawai (PEGAWAI)) x (π Jabatan (JABATAN)) x (π NamaDivisi (DIVISI))
- σ (PEGAWAI.KodeJabatan = JABATAN.KodeJabatan) π (PEGAWAI.KodeDivisi = DIVISI.KodeDivisi) π (NamaDivisi=’System’ (π KodePegawai, NamaPegawai (PEGAWAI)) x (π NamaDivisi (DIVISI)) x (π Jabatan, GajiPokok (JABATAN))
Kalkulus Relational Tuple (TRC)
- {T | ∃ P ∈ PEGAWAI (T.NamaPegawai = P.NamaPegawai)}
- {T | ∃ P ∈ PEGAWAI ∃ J ∈ JABATAN ∃ D ∈ DIVISI (P.KodeJabatan = J.KodeJabatan ⋀ P.KodeDivisi = D.KodeDivisi ⋀ T.KodePegawai = P.KodePegawai ⋀ T.NamaPegawai = P.NamaPegawai ⋀ T.Jabatan = J.Jabatan ⋀ T.Divisi = D.Divisi ⋀ (J.Jabatan = ‘Manager’ V J.Jabatan = ‘Direktur’))}
- {T | ∃ P ∈ PEGAWAI ∃ J ∈ JABATAN ∃ D ∈ DIVISI (P.KodeJabatan = J.KodeJabatan ⋀ P.KodeDivisi = D.KodeDivisi ⋀ T.KodePegawai = P.KodePegawai ⋀ T.NamaPegawai = P.NamaPegawai ⋀ T.Jabatan = J.Jabatan ⋀ T.Divisi = D.Divisi)}
- {T | ∃ P ∈ PEGAWAI ∃ D ∈ DIVISI (P.KodeDivisi = D.KodeDivisi ⋀ T.KodePegawai = P.KodePegawai ⋀ T.NamaPegawai = P.NamaPegawai ⋀ T.Divisi = D.Divisi ⋀ D.Divisi = ‘Penjualan’)}
- {T | ∃ P ∈ PEGAWAI ∃ J ∈ JABATAN ∃ D ∈ DIVISI (P.KodeJabatan = J.KodeJabatan ⋀ P.KodeDivisi = D.KodeDivisi ⋀ T.KodePegawai = P.KodePegawai ⋀ T.NamaPegawai = P.NamaPegawai ⋀ T.TngLahir = P.TngLahir ⋀ T.Alamat = P.Alamat ⋀ T.KodeJabatan = P.KodeJabatan ⋀ T.KodeDivisi = P.KodeDivisi ⋀ J.Jabatan = ‘Manager’ ⋀ D.Divisi = ‘Keuangan’)}
- {T | ∃ P ∈ PEGAWAI ∃ J ∈ JABATAN ∃ D ∈ DIVISI (P.KodeJabatan = J.KodeJabatan ⋀ P.KodeDivisi = D.KodeDivisi ⋀ T.KodePegawai = P.KodePegawai ⋀ T.NamaPegawai = P.NamaPegawai ⋀ T.Jabatan = J.Jabatan ⋀ T.GajiPokok = J.GajiPokok ⋀ T.Divisi = D.Divisi ⋀ D.Divisi = ‘System’)}
Kalkulus Relational Domain (DRC)
- {<NP> | ∃ <KP,NP,TL,A,KJ,KD> ∈ PEGAWAI}
- {<KP,NP,J,D> | ∃ (<KP,NP,TL,A,KJ,KD> ∈ PEGAWAI ⋀ (<KJ,J,GP> ∈ JABATAN ⋀ (J = “Manager” V J = “Direktur”)) ⋀ <KD,D> ∈ DIVISI)}
- {< KP,NP,J,D> | ∃ (<KP,NP,TL,A,KJ,KD> ∈ PEGAWAI ⋀ <KJ,J,GP> ∈ JABATAN ⋀ <KD,D> ∈ DIVISI)}
- {< KP,NP,D> | ∃ (<KP,NP,TL,A,KJ,KD> ∈ PEGAWAI ⋀ (<KD,D> ∈ DIVISI ⋀ D = “Penjualan”))}
- {<KP,NP,TL,A,KJ,KD> | ∃ (<KP,NP,TL,A,KJ,KD> ∈ PEGAWAI ⋀ (<KJ,J,GP> ∈ JABATAN ⋀ J = “Manager”) ⋀ (<KD,D> ∈ DIVISI ⋀ D = “Keuangan”))}
- {< KP,NP,J,GP,D> | ∃ (<KP,NP,TL,A,KJ,KD> ∈ PEGAWAI ⋀ <KJ,J,GP> ∈ JABATAN ⋀ (<KD,D> ∈ DIVISI ⋀ D = “System”))}
0 komentar:
Post a Comment