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   namaMhs2.001   Joko3.002   Amir4.003   Budi1.kodeMK   namaMK      sks2.A01   Kalkulus   33.A02   Geometri   24.A03   Aljabar      31.nim   kodeMK   nilai2.001   A01   33.001   A02   44.001   A03   25.002   A02   36.002   A03   27.003   A01   48.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.namaMhs2.FROM mhs, mk, ambilMK3.WHERE mhs.nim = ambilMK.nim AND mk.kodeMK = ambilMK.kodeMK4.AND mk.namaMK = 'Kalkulus';1.SELECT ambilMK.nim, mhs.namaMhs2.FROM mhs, mk, ambilMK3.WHERE mhs.nim = ambilMK.nim AND mk.kodeMK = ambilMK.kodeMK4.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.namaMhs2.FROM mhs, ambilMK3.WHERE mhs.nim = ambilMK.nim AND ambilMK.kodeMK = 'A01';1.NIMÂ Â Â namaMhs2.001Â Â Â Joko3.003Â Â Â BudiPerintah SQL untuk pertanyaan no. 2 adalah
1.SELECT mhs.nim, mhs.namaMhs, sum(mk.sks) as jumlahSKS2.FROM mhs, mk, ambilMK3.WHERE mhs.nim = ambilMK.nim AND mk.kodeMK = ambilMK.kodeMK4.GROUP BY ambilMK.nim1.SELECT mhs.nim, mhs.namaMhs, sum(mk.sks) as jumlahSKS2.FROM mhs, mk, ambilMK3.WHERE mhs.nim = ambilMK.nim AND mk.kodeMK = ambilMK.kodeMK4.GROUP BY mhs.nimPerhatikan perintah SQL berikut ini
1.SELECT mhs.nim, mhs.namaMhs, mk.sks2.FROM mhs, mk, ambilMK3.WHERE mhs.nim = ambilMK.nim AND mk.kodeMK = ambilMK.kodeMK1.NIM   namaMhs      SKS2.001   Joko      33.001   Joko      24.001   Joko      35.002   Amir      26.002   Amir      37.003   Budi      38.003   Budi      31.NIM   namaMhs      jumlahSKS2.001   Joko      83.002   Amir      54.003   Budi      6
Tidak ada komentar :
Posting Komentar