16/12/2010
ALJABAR RELASIONAL – JOIN (Pert. 11) Oleh : Umi Laili Yuhana, S.Kom, M.Sc. Sarwosri, S.Kom, M.T. Dr. Ir. Siti Rochimah BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
1
Agenda • Review • Pembahasan Latihan Aljabar Relasional • Join – Join Condition – Equijoin – Natural Join
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
2
1
16/12/2010
Operasi dalam Aljabar Relasional • Operasi dalam aljabar relasional secara umum dibagi menjadi 2: – Operasi yang dikembangkan secara khusus untuk database relational. (SELECT, PROJECT dan JOIN) – Operasi himpunan (UNION, INTERSECTION, DIFFERENCE, dan CARTESIAN PRODUCT)
Review
Basis Data Teknik Informatika FTIf - ITS
• Operasi select (): untuk memilih baris tertentu dari sebuah himpunan baris data (record) yang memenuhi kondisi dan membuang baris yang lain – Contoh: DNO=4(PEGAWAI)
• Operasi Project(): untuk memilih attribut (kolom) tertentu dari himpunan / sub himpunan dan membuang yang lain – Contoh: JenisKel, Gaji (Pegawai)
Review
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
4
2
16/12/2010
DIAGRAM SKEMA : SKEMA DATABASE RELASIONAL PERUSAHAAN PEGAWAI NmDepan
Inisial
NmBelakang
NoKTP
Alamat
Gaji
JenisKelamin
NoKTPKepala
DNO
DEPARTEMEN Dname
Dnomor
NOKTP_MGR
TglMulai_MGR
LOKASI_DEPARTEMEN Dnomor
Dlokasi
PROYEK Pnama
Pnomor
Plokasi
Dnum
BEKERJA_PADA NoKTP
Pnomor
LamaJam
TANGGUNGAN NoKTP
Nama_Tanggungan
JenisKelamin
TglLahir
Hubungan
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
5
LATIHAN Tuliskan aljabar relasional beserta hasil-hasil dari soal berikut
1. Dapatkan nama, alamat dan gaji pegawai yang berada pada departemen research 2. Dapatkan nama, alamat dan no KTP pegawai yang menjadi menjadi supervisor dari pegawai lain 3. Dapatkan nama dan noKTP pegawai beserta nama dan noKTP supervisornya 4. dapatkan nama, alamat dan NoKTP dari pegawai yang menjadi manajer departemen 4 BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
6
3
16/12/2010
LATIHAN Tuliskan aljabar relasional beserta hasil-hasil dari soal berikut
5. Dapatkan nama, alamat beserta nama proyek dari pegawai yang terlibat di proyek ProductZ 6. Dapatkan nama proyek yang dikedalikan oleh departemen research 7. Dapatkan nama proyek yang berlokasi di houston atau di stafford 8. Dapatkan nama dan lokasi proyek tempat john bekerja BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
7
LATIHAN Tuliskan aljabar relasional beserta hasil-hasil dari soal berikut
9. Dapatkan nama dan alamat pegawai laki-laki yang memiliki gaji kurang dari 40000 10. Dapatkan nama dan gaji dari manajer departemen Administration
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
8
4
16/12/2010
LATIHAN Tuliskan aljabar relasional beserta hasil-hasil dari soal berikut
1. Dapatkan nama, alamat dan gaji pegawai yang berada pada departemen research DeptResearch Dname=‘research’(Departemen) PegDept DeptResearch x Pegawai PegRes Dnomor=DNO(PegDept)
Hasil NmDepan, Alamat, Gaji (PegRes)
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
9
2. Dapatkan nama, alamat dan no KTP pegawai yang menjadi supervisor dari pegawai lain KTPSupervisor NoKTPKepala(Pegawai) Temp1 KTPSupervisor x Pegawai Temp2 NoKTPKepala=NoKTP(Temp1) Hasil NmDepan, Alamat, NoKTPKepala(Temp2)
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
10
5
16/12/2010
3. Dapatkan nama dan noKTP pegawai beserta nama dan noKTP supervisornya Temp1 (NAMAPEG, KTPPEG, NOKTPKEPALA) NmDepan, NoKTP, NoKTPKepala(Pegawai) Temp2 (NAMASUPER, NoKTP) NmDepan, NoKTP (Pegawai) Temp3 Temp1 x Temp2 Temp4 NoKTPKepala=NoKTP(Temp3) Hasil NamaPeg, KTPPeg, NamaSuper, NoKTPKepala(Temp4) BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
11
4. dapatkan nama, alamat dan NoKTP dari pegawai yang menjadi manajer departemen 4 Manajer4 Dnomor=4(Departemen) PegMjr4 Manajer4 x Pegawai PegRes NoKTP_MGR=NoKTP(PegMjr4) Hasil NmDepan, Alamat, NoKTP (PegRes)
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
12
6
16/12/2010
5. Dapatkan nama, alamat beserta nama proyek dari pegawai yang terlibat di proyek ProductZ Temp1(NMPRO, NOPRO, LOKASI, DNUM) PNama=‘ProductZ’(Proyek) Temp2 Temp1 x Bekerja_Pada Temp3 NoPro=PNomor(Temp2) Temp4 (NMPRO, NOPRO, KTPPEG) NmPro, NoPro, NoKTP (Temp3) Temp5 Temp4 x Pegawai Temp6 NoKTP=KTPPeg(Temp5) Hasil NmDepan, Alamat, NmPro (Temp6) BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
13
6. Dapatkan nama proyek yang dikendalikan oleh departemen research Temp1 DNama=‘Research’(Departemen) Temp2 Temp1 x Proyek Temp3 Dnomor=DNum(Temp2) Hasil PNama, DNama (Temp3)
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
14
7
16/12/2010
7. Dapatkan nama proyek yang berlokasi di houston atau di stafford Temp1 PLokasi=‘Houston’ OR Plokasi=‘Stafford’(Proyek) Hasil PNama, PLokasi(Temp1)
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
15
8. Dapatkan nama dan lokasi proyek tempat john bekerja Temp1 NmDepan=‘John’(Pegawai) Temp2 (NMDEPAN, NOKTPJOHN) Temp1 x Bekerja_Pada Temp3 NoKTP=NoKTPJohn(Temp2) Temp4 (NMDEPAN, NOKTPJOHN, NOMORPROYEK) NmDepan, NoKTPJohn, PNomor (Temp3) Temp5 Temp4 x Proyek Temp6 NPNomor=NomorProyek(Temp5) Hasil NmDepan, PLokasi(Temp6) BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
16
8
16/12/2010
9. Dapatkan nama dan alamat pegawai laki-laki yang memiliki gaji kurang dari 40000 Temp1 JenisKelamin=‘L’ AND Gaji < 40000 (Pegawai) Hasil NmDepan, Alamat(Temp1)
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
17
10. Dapatkan nama dan gaji dari manajer departemen Administration Temp1 NoKTP_MGR ( DNama=‘Administrasi’(Departemen)) Temp2 Temp1 x PEGAWAI Temp3 NoKTP=NoKTP_MGR(Temp2) Hasil NmDepan, Gaji(Temp3)
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
18
9
16/12/2010
•
CARTESIAN PRODUCT R X S
– Relasi yang terdiri dari kombinasi baris yang terdapat di R dan S. Yang mana setiap baris di R digabungkan dengan setiap baris di S. – Contoh: TG_PEG NAM_PEG_WAN X TANGGUNGAN
Review
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
19
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
20
JOIN
10
16/12/2010
Join • Digunakan untuk mengkombinasikan baris-baris yang berhubungan dari dua relasi menjadi baris-baris tunggal • Terdiri dari: – Condition Join – Equijoin – Natural Join
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
21
Condition Join
- Didefinisikan sebagai cartesian product atau cross-product yang diikuti oleh operasi select R ⋈c S = σc(R S) (⋈ disebut sebagai bow-tie) dimana c adalah kondisi - Contoh: Misalnya ada relasi S1 and R1
Condition join S ⋈S1.sid
11
16/12/2010
Equijoin: Special case of the condition join where the join condition consists solely of equalities between two fields in R and S connected by the logical AND operator (∧). Dengan kata lain, equijoin adalah Condition Join yang operator pembandingannya berupa =, disebut dengan Equivalent Join (Equijoin) Contoh: Relasi S1 dan R1
Operator S1 ⋈ R.sid=Ssid R1 menghasilkan
Natural Join •
Yakni operasi equijoin yang mana pasangan attribut-attribut yang di’join’kan memiliki nama yang sama. Jika tidak sama, perlu dilakukan pengubahan nama attribut (rename) terlebih dahulu. Nama yang sama hanya ditulis satu kali Notasi: R *(<list 1>),(<list 2>) S – List 1 adalah attribut-attribut R dan list 2 adalah attribut-attribut S. List 1 dan list 2 membentuk pembandingan equality dari pasangan attribut yang memiliki nama yang sama, yang mana semua pembandingan tersebut di ‘AND’ kan.
•
Misal:
– DEPT (DNum, Dnama, NoKTP_MGR, TglMulai_MGR) (DEPARTEMEN) – PROY_DEPT PROYEK * DEPT
Basis Data Teknik Informatika FTIf - ITS
12
16/12/2010
13
16/12/2010
Contoh 1. Dapatkan nama, alamat dan gaji pegawai yang berada pada departemen research DeptResearch Dname=‘research’(Departemen) PegRes DeptResearch ⋈ Dnomor=DNO Pegawai
Hasil NmDepan, Alamat, Gaji (PegRes) PegDept DeptResearch x Pegawai PegRes Dnomor=DNO(PegDept)
PegRes DeptResearch ⋈ Dnomor=DNO Pegawai
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
27
TUGAS TAKE HOME • Kerjakan soal latihan (no 2 sd no 10) diatas dengan menggunakan join jika bisa
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
28
14
16/12/2010
Pustaka • Ramakrishnan, Raghu, Gehrke, Johannes. 2003. Database Management Systems, Third Edition. New York: The McGraw-Hill Companies, Inc. “Chapter 4 Relational Algebra and Calculus”
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011
29
15