Bab 8 meringkaskan model relasional dalam basis data. Model ini merepresentasikan data sebagai kumpulan relasi yang terdiri dari tuple dan atribut. Bab ini juga menjelaskan operasi-operasi aljabar relasional seperti union, intersection, difference, dan cartesian product yang digunakan untuk memanipulasi relasi. Selanjutnya dijelaskan operasi select dan project sebagai operasi khusus basis data untuk memilih data berdasarkan kondisi tertentu atau memilih atribut tertentu.
4. Aljabar Relational
Kumpulan operasi yang digunakan untuk memanipulasi
seluruh relasi.
Berdasar teori himpunan :
Gabungan (union)
Irisan (intersection)
Beda (difference)
Hasil kali Cartesian (cartesian product)
4
02:25:30Senin, 24 Maret 2014
5. Aljabar Relational
Khusus untuk relasi basis data :
Select
Project
5
02:25:30Senin, 24 Maret 2014
6. Teori Himpunan
Perhatikan dua relasi di bawah :
A :
B :
FName Lname Age
Tora Sudiro 22
Agus Kuncoro 21
Maia Estianty 19
FName LName Age
Ahmad Dhani 23
Dinna Olivia 24
Tora Sudiro 22
6
02:25:30Senin, 24 Maret 2014
7. Union -- AB
Hasil dari operasi Union dari A dan B adalah :
Digabungkan semua tuple dari relasi A dan B
(Duplikasi dihapus)
FName LName Age
Tora Sudiro 22
Agus Kuncoro 21
Maia Estianty 19
Ahmad Dhani 23
Dinna Olivia 24
7
02:25:30Senin, 24 Maret 2014
8. Intersection -- AB
Hasil dari operasi Intersection dari A dan B adalah :
Ditampilkan tuple yang sama dari relasi A dan B
FName LName Age
Tora Sudiro 22
8
02:25:30Senin, 24 Maret 2014
9. Difference -- A-B
Hasil dari operasi difference dari A dan B adalah :
Ditampilkan tuple dari relasi A dimana tidak terdapat pada
relasi B
FName LName Age
Agus Kuncoro 21
Maia Estianty 19
9
02:25:30Senin, 24 Maret 2014
10. Difference -- B-A
Hasil dari operasi difference dari B dan A adalah :
Ditampilkan tuple dari relasi B dimana tidak terdapat pada
relasi A
FName LName Age
Ahmad Dhani 23
Dinna Olivia 24
10
02:25:30Senin, 24 Maret 2014
11. Information
Atribut dari relasi untuk operasi union, intersection dan
difference harus identik (sama)
Jumlah atributnya harus sama dan domainnya juga
Domain adalah tipe data dan ukuran dari atribut.
11
02:25:30Senin, 24 Maret 2014
12. A B
A x B
Cartesian Product -- AxB
FName Lname Age
Tora Sudiro 22
Agus Kuncoro 21
Maia Estianty 19
Food Drink
Steak Coca cola
Lobster Ice Cream
FName Lname Age Food Drink
Tora Sudiro 22 Steak Coca cola
Tora Sudiro 22 Lobster Ice Cream
Agus Kuncoro 21 Steak Coca cola
Agus Kuncoro 21 Lobster Ice Cream
Maia Estianty 19 Steak Coca cola
Maia Estianty 19 Lobster Ice Cream
12
02:25:30Senin, 24 Maret 2014
13. Mapping Tabel
DEPARTEMENT NAMADEP IDDEP
LOKASIDEP IDDEP LOKASI
PROYEK NAMAP IDP LOKASI
MENGERJAKAN IDK IDP JAMKERJA
KARYAWAN NMDPN NMTGH NMBLKG IDK TGLLAHIR NAMAJLN NORMH KOTA JENISK GAJI
TANGGUNGAN IDK NAMAT JENISK TGLLAHIR HUBUNGAN
MEMILIKI IDDEP IDK TGLKERJA
CONTROL IDDEP IDP TGLMULAI TGLSELESAI BIAYA
13
02:25:30Senin, 24 Maret 2014
14. Departement NamaDep IDDep
Research D01
Computer D02
Technical D03
Administrasi D04
LokasiDep IDDep Lokasi
D01 JKT
D02 BDL
D02 SBY
D03 JKT
D03 SBY
D04 BDL
Proyek NamaP IDP Lokasi
ABC P01 JKT
DEF P02 BDL
GHI P03 SBY
JKL P04 JKT
MNO P05 BDL
Control IDDep IDP TglMulai TglSelesai Biaya
D01 P01 1/2/2010 2/3/2010 4500
D02 P02 2/3/2010 4/6/2010 6750
D03 P03 2/4/2010 10/1/2011 9600
D02 P04 6/2/2010 2/4/2010 3450
D03 P05 10/2/2010 21/3/2010 5700
Karyawan NmDpn NmTgh NmBlkg IDK TglLahir NamaJln NoRmh Kota JenisK Gaji
Agus D Kuncoro K01 20/2/1975 Soedirman 203 BDL L 250
Zaskia A Mecca K02 7/12/1987 Ahmad Yani 440 BDL P 320
Dinda K Dewi K03 12/3/1986 Gajah Mada 461 JKT P 275
Tukul A Riyanto K04 10/2/1970 Ahmad Yani 143 JKT L 240
Tora H Sudiro K05 21/6/1978 Kartini 531 SBY L 265
Bunga C Lestari K06 11/1/1986 Pang. Antasari 133 BDL P 350
Glenn D Fredly K07 25/7/1977 Diponegoro 231 JKT L 310
Dedi B Mizwar K08 2/8/1950 Soedirman 340 BDL L 420
Memiliki IDDep IDK TglKerja
D02 K01 2/2/2009
D04 K02 3/5/2008
D03 K03 10/1/2007
D03 K04 11/2/2007
D02 K05 21/1/2009
D01 K06 5/6/2009
D02 K07 8/1/2008
D03 K08 22/2/1989
Tanggungan IDK NamaT JenisK TglLahir Hubungan
K01 Andi L 20/2/2000 AKandung
K01 Dina P 3/6/2003 AAngkat
K04 Wawan L 8/11/1995 AAngkat
K04 Fitri P 12/3/1998 AKandung
K04 Linda P 2/3/2001 AKandung
K05 David L 14/5/2000 AKandung
Mengerjakan IDK IDP JamKerja
K01 P01 46
K02 P01 55
K01 P02 38
K05 P02 52
K06 P02 50
K03 P03 45
K04 P03 40
K05 P03 47
K06 P03 54
K01 P04 61
K02 P04 44
K03 P05 58
K04 P05 48
14
15. Select ()
Fungsi :
Memilih tuple-tuple dengan kondisi tertentu
Format :
Operator select <kondisi select> (nama relasi)
15
02:25:30Senin, 24 Maret 2014
16. Contoh
Tampilkan karyawan yang memiliki jenis kelamin laki-laki
Relasi
Karyawan
Kondisi
Jenis kelamin = L
Sintax :
A JENISK=‘L’ (KARYAWAN)
Output :
16
02:25:30Senin, 24 Maret 2014
A NmDpn NmTgh NmBlkg IDK TglLahir NamaJln NoRmh Kota JenisK Gaji
Agus D Kuncoro K01 20/2/1975 Soedirman 203 BDL L 250
Tukul A Riyanto K04 10/2/1970 Ahmad Yani 143 JKT L 240
Tora H Sudiro K05 21/6/1978 Kartini 531 SBY L 265
Glenn D Fredly K07 25/7/1977 Diponegoro 231 JKT L 310
Dedi B Mizwar K08 2/8/1950 Soedirman 340 BDL L 420
17. Contoh
Tampilkan karyawan yang memiliki gaji > 300
Relasi
Karyawan
Kondisi
Gaji > 300
Sintax :
A GAJI>300 (KARYAWAN)
Output :
17
02:25:30Senin, 24 Maret 2014
A NmDpn NmTgh NmBlkg IDK TglLahir NamaJln NoRmh Kota JenisK Gaji
Zaskia A Mecca K02 7/12/1987 Ahmad Yani 440 BDL P 320
Bunga C Lestari K06 11/1/1986 Pang. Antasari 133 BDL P 350
Glenn D Fredly K07 25/7/1977 Diponegoro 231 JKT L 310
Dedi B Mizwar K08 2/8/1950 Soedirman 340 BDL L 420
18. Contoh
Tampilkan karyawan yang memiliki gaji > 300 dan berjenis
kelamin perempuan
Relasi
Karyawan
Kondisi
Gaji > 300
Jenis kelamin = P
Sintax :
A GAJI>300 (KARYAWAN)
B JENISK=‘P’ (A)
Output :
18
02:25:30Senin, 24 Maret 2014
B NmDpn NmTgh NmBlkg IDK TglLahir NamaJln NoRmh Kota JenisK Gaji
Zaskia A Mecca K02 7/12/1987 Ahmad Yani 440 BDL P 320
Bunga C Lestari K06 11/1/1986 Pang. Antasari 133 BDL P 350
A NmDpn NmTgh NmBlkg IDK TglLahir NamaJln NoRmh Kota JenisK Gaji
Zaskia A Mecca K02 7/12/1987 Ahmad Yani 440 BDL P 320
Bunga C Lestari K06 11/1/1986 Pang. Antasari 133 BDL P 350
Glenn D Fredly K07 25/7/1977 Diponegoro 231 JKT L 310
Dedi B Mizwar K08 2/8/1950 Soedirman 340 BDL L 420
19. Contoh
Tampilkan karyawan yang memiliki gaji > 300 dan bekerja
di departemen yang bernama ‘Technical’
Relasi
Karyawan
Memiliki
Departemen
Kondisi
Gaji > 300
Nama Departemen = Technical
19
02:25:30Senin, 24 Maret 2014
20. Contoh
Sintax :
A NAMADEP=‘TECHNICAL’ (DEPARTEMEN)
B (A) IDDEP=IDDEP (MEMILIKI)
C (B) IDK=IDK (KARYAWAN)
D GAJI>300 (C)
20
02:25:30Senin, 24 Maret 2014
A NamaDep IDDep
Technical D03
B IDDep IDK TglKerja
D03 K03 10/1/2007
D03 K04 11/2/2007
D03 K08 22/2/1989
C NmDpn NmTgh NmBlkg IDK TglLahir NamaJln NoRmh Kota JenisK Gaji
Dinda K Dewi K03 12/3/1986 Gajah Mada 461 JKT P 275
Tukul A Riyanto K04 10/2/1970 Ahmad Yani 143 JKT L 240
Dedi B Mizwar K08 2/8/1950 Soedirman 340 BDL L 420
D NmDpn NmTgh NmBlkg IDK TglLahir NamaJln NoRmh Kota JenisK Gaji
Dedi B Mizwar K08 2/8/1950 Soedirman 340 BDL L 420
21. Project ()
Fungsi :
Memilih atribut-atribut yang berada dalam tabel
Format :
Operator project <daftar atribut> (nama relasi)
21
02:25:30Senin, 24 Maret 2014
22. Contoh
Tampilkan Nama depan, nama belakang dan gaji dari
karyawan yang memiliki jenis kelamin laki-laki
Relasi
Karyawan
Kondisi
Jenis kelamin = L
NmDpn, NmBlkg, Gaji
22
02:25:30Senin, 24 Maret 2014
23. Contoh
Sintax :
A JENISK=‘L’ (KARYAWAN)
B NMDPN, NMBLKG, GAJI (A)
Output :
23
02:25:30Senin, 24 Maret 2014
A NmDpn NmTgh NmBlkg IDK TglLahir NamaJln NoRmh Kota JenisK Gaji
Agus D Kuncoro K01 20/2/1975 Soedirman 203 BDL L 250
Tukul A Riyanto K04 10/2/1970 Ahmad Yani 143 JKT L 240
Tora H Sudiro K05 21/6/1978 Kartini 531 SBY L 265
Glenn D Fredly K07 25/7/1977 Diponegoro 231 JKT L 310
Dedi B Mizwar K08 2/8/1950 Soedirman 340 BDL L 420
B NmDpn NmBlkg Gaji
Agus Kuncoro 250
Tukul Riyanto 240
Tora Sudiro 265
Glenn Fredly 310
Dedi Mizwar 420
24. Contoh
Tampilkan karyawan yang memiliki gaji > 300
Relasi
Karyawan
Kondisi
Gaji > 300
Sintax :
A GAJI>300 (KARYAWAN)
Output :
24
02:25:30Senin, 24 Maret 2014
A NmDpn NmTgh NmBlkg IDK TglLahir NamaJln NoRmh Kota JenisK Gaji
Zaskia A Mecca K02 7/12/1987 Ahmad Yani 440 BDL P 320
Bunga C Lestari K06 11/1/1986 Pang. Antasari 133 BDL P 350
Glenn D Fredly K07 25/7/1977 Diponegoro 231 JKT L 310
Dedi B Mizwar K08 2/8/1950 Soedirman 340 BDL L 420
25. Latihan
Tampilkan Nama depan, Nama Belakang dari karyawan
yang bekerja di departemen technical
Tampilkan nama tanggungan dari karyawan yang memiliki
gaji lebih dari 300
Tampilkan nama dan lokasi proyek yang dikerjakan oleh
karyawan yang memiliki tanggungan berjenis kelamin laki-
laki
Tampilkan nama depan, nama belakang dan jenis kelamin
dari karyawan yang tidak memiliki tanggungan
Tampilkan lokasi departemen dimana karyawan yang
bekerja gajinya diatas 300
Tampilkan lokasi departemen dimana karyawan yang
bekerja tidak memiliki tanggungan
25
02:25:30Senin, 24 Maret 2014