PENGENALAN BASIS DATA

advertisement
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<R1.sid R1 menghasilkan
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
Download