Tabel-tabel yang dibuat pada studi kasus ini cukup sederhana saja untuk memudahkan pemahaman. Adapun tabel-tabel tersebut adalah:
1.
mhs (
2.
nim varchar(3),
3.
namaMhs varchar(30),
4.
primary key(nim)
5.
)
1.
mk (
2.
kodeMK varchar(3),
3.
namaMK varchar(30),
4.
sks integer,
5.
primary key(kodeMK)
6.
)
1.
ambilMK (
2.
nim varchar(3),
3.
kodeMK varchar(3),
4.
nilai integer,
5.
primary key(nim, kodeMK)
6.
)
Demikian pula antara tabel mk dengan ambilMK. Kedua tabel ini juga berelasi karena kodeMK dalam tabel ambilMK berasal dari kodeMK dalam tabel mk.
Untuk record masing-masing tabel, misalkan diberikan berikut ini:
Tabel : mhs
1.
nim   namaMhs
2.
001Â Â Â Joko
3.
002Â Â Â Amir
4.
003Â Â Â Budi
1.
kodeMKÂ Â Â namaMKÂ Â Â Â Â Â sks
2.
A01   Kalkulus   3
3.
A02   Geometri   2
4.
A03   Aljabar      3
1.
nim   kodeMK   nilai
2.
001Â Â Â A01Â Â Â 3
3.
001Â Â Â A02Â Â Â 4
4.
001Â Â Â A03Â Â Â 2
5.
002Â Â Â A02Â Â Â 3
6.
002Â Â Â A03Â Â Â 2
7.
003Â Â Â A01Â Â Â 4
8.
003Â Â Â A03Â Â Â 3
- Tampilkan nim dan nama mahasiswa yang mengambil Kalkulus (kodeMK = A01)
- Tampilkan nim, nama mahasiswa dan jumlah SKS matakuliah yang diambil untuk setiap mahasiswa
- Berapakah IPK mahasiswa bernama Budi (NIM: 003)
- Tampilkan nim, nama mahasiswa, dan IPK setiap mahasiswa
Setelah menentukan tabel mana yang terkait dengan query, selanjutnya dapat dibuat statement SQL nya, yaitu
1.
SELECT mhs.nim, mhs.namaMhs
2.
FROM mhs, mk, ambilMK
3.
WHERE mhs.nim = ambilMK.nim AND mk.kodeMK = ambilMK.kodeMK
4.
AND mk.namaMK =
'Kalkulus'
;
1.
SELECT ambilMK.nim, mhs.namaMhs
2.
FROM mhs, mk, ambilMK
3.
WHERE mhs.nim = ambilMK.nim AND mk.kodeMK = ambilMK.kodeMK
4.
AND mk.namaMK =
'Kalkulus'
;
Perhatikan bagian FROM dari kedua statement SQL di atas. Nama-nama tabel yang terkait dengan query dituliskan pada bagian FROM ini.
Selanjutnya apa maksud dari perintah mhs.nim = ambilMK.nim? Perintah ini digunakan untuk merelasikan tabel mhs dan ambilMK, dimana kedua tabel direlasikan melalui field nim di kedua tabel. Hal yang sama juga berlaku untuk perintah mk.kodeMK = ambilMK.kodeMK.
Sedangkan perintah mk.namaMK = ‘Kalkulus’ digunakan sebagai syarat pencarian data (menampilkan data mahasiswa yang mengambil matakuliah Kalkulus).
Apabila pencarian data mahasiswa yang mengambil Kalkulus ini berdasarkan kode matakuliah (A01), maka Anda tidak perlu menggunakan tabel mk, tapi cukup tabel mhs dan ambilMK saja. Hal ini dikarenakan kodeMK dapat diketahui dari tabel ambilMK. Sehingga perintah SQL nya
1.
SELECT mhs.nim, mhs.namaMhs
2.
FROM mhs, ambilMK
3.
WHERE mhs.nim = ambilMK.nim AND ambilMK.kodeMK =
'A01'
;
1.
NIMÂ Â Â namaMhs
2.
001Â Â Â Joko
3.
003Â Â Â Budi
Perintah SQL untuk pertanyaan no. 2 adalah
1.
SELECT mhs.nim, mhs.namaMhs, sum(mk.sks)
as
jumlahSKS
2.
FROM mhs, mk, ambilMK
3.
WHERE mhs.nim = ambilMK.nim AND mk.kodeMK = ambilMK.kodeMK
4.
GROUP BY ambilMK.nim
1.
SELECT mhs.nim, mhs.namaMhs, sum(mk.sks)
as
jumlahSKS
2.
FROM mhs, mk, ambilMK
3.
WHERE mhs.nim = ambilMK.nim AND mk.kodeMK = ambilMK.kodeMK
4.
GROUP BY mhs.nim
Perhatikan perintah SQL berikut ini
1.
SELECT mhs.nim, mhs.namaMhs, mk.sks
2.
FROM mhs, mk, ambilMK
3.
WHERE mhs.nim = ambilMK.nim AND mk.kodeMK = ambilMK.kodeMK
1.
NIM   namaMhs      SKS
2.
001   Joko      3
3.
001   Joko      2
4.
001   Joko      3
5.
002   Amir      2
6.
002   Amir      3
7.
003   Budi      3
8.
003   Budi      3
1.
NIM   namaMhs      jumlahSKS
2.
001   Joko      8
3.
002   Amir      5
4.
003   Budi      6
Tidak ada komentar :
Posting Komentar