Jumat, 21 Maret 2014

TUGAS BASIS DATA

SISTEM PENGOLAHAN BASIS DATA

Struktur tabel yang menjadi referral pada tugas dibawah ini masih mengaju pada catatan diatas, mengenai nama database, nama table maupun isi table tersebut.
1.     Tampilkan informasi data dosen pembimbing dengan total mahasiswa yang pernah menjadi mahasiswa bimbingannya. Informasi yang ditampilkan berupa NIP, nama dosen, dan jumlah mahasiswa bimbingan.
jawab :
       select dosen.NIP,dosen.nama_dosen, COUNT (mahasiswa.NIM) As jumlah from mahasiswa inner join dosen on mahasiswa.dosenPembimbing=dosen.NIP GROUP BY dosen.NIP, dosen.nama_dosen 
download sql nya disini
2.    Tampilkan informasi dosen pembimbing yang paling banyak membimbing mahasiswa. Informasi yang ditampilkan berupa NIP, nama dosen, dan jumlah mahasiswa bimbingan.
jawab :
   select TOP 1 dosen.NIP,dosen.nama_dosen, count(mahasiswa.NIM) As jumlah_bimbingan from mahasiswa inner join dosen on mahasiswa.dosenPembimbing=dosen.NIP
       GROUP BY dosen.NIP, dosen.nama_dosen order by jumlah_bimbingan desc
download sql nya disini

3.    Tampilkan informasi mahasiswa yang berasal dari jurusan Sistem Informasi dan beragama Islam atau katolik. Informasi yang ditampilkan berupa NIM, nama mahasiswa.
jawab :
  select mahasiswa.NIM,mahasiswa.nama_mahasiswa from mahasiswa inner join jurusan on mahasiswa.kode_jurusan=jurusan.kode_jurusan inner join agama on mahasiswa.kode_agama=agama.kode_agama where jurusan.nama_jurusan='SISTEM INFORMASI' and agama.nama_agama in ('ISLAM','KATHOLIK')
download sql nya disini

4.        Ubah nama dosen pembimbing yang paling banyak membimbing mahasiswa menjadi Budi Hartanto.
jawab :
     update dosen set nama_dosen='BUDI HARTANTO' where nip=(select NIP from ( select TOP 1 dosen.NIP,dosen.nama_dosen, count(mahasiswa.NIM) as jumlah_bimbingan from mahasiswa inner join dosen on mahasiswa.dosenPembimbing=dosen.NIP GROUP BY dosen.NIP, dosen.nama_dosen order by jumlah_bimbingan desc ) as a)
download sql nya disini

5.   Ubah nama dosen menjadi Siska Mardiana yang berjenis kelamin wanita dengan ketentuan dosen tersebut adalah dosen yang paling banyak mengajar di jurusan Teknik Informatika.
jawab :
     update dosen set nama_dosen='SISKA MARDIANA', dosen.sex='P' where nip=(select NIP from ( select TOP 1 dosen.NIP,count(distinct kuliah.kode_kuliah) as jumlah_kuliah from dosen inner join kuliah on dosen.NIP=kuliah.NIP inner join peserta on kuliah.kode_kuliah=peserta.kode_kuliah inner join mahasiswa on peserta.NIM=mahasiswa.NIM where mahasiswa.kode_jurusan='1' group by dosen.NIP order by jumlah_kuliah desc) as A )
download sql nya disini

6.    Tampilkan banyaknya SKS yang telah diselesaikan oleh masing-masing mahasiswa (matakuliah yang mengulang masuk ke dalam perhitungan). Informasi yang ditampilkan berupa NIM, nama mahasiswa, dan total SKS yang telah ditempuh.
jawab :
      select mahasiswa.NIM, mahasiswa.nama_mahasiswa, sum(matakuliah.sks) as total_sks from mahasiswa inner join peserta on mahasiswa.NIM=peserta.NIM inner join kuliah on peserta.kode_kuliah=kuliah.kode_kuliah inner join matakuliah on kuliah.kode_matkul=matakuliah.kode_matkul group by mahasiswa.NIM, mahasiswa.nama_mahasiswa
download sql nya disini

7.        Tampilkan data-data yang dibutuhkan untuk melakukan perhitungan IPK mahasiswa.
jawab :
    select * from mahasiswa inner join peserta on mahasiswa.NIM=peserta.nim inner join kuliah on peserta.kode_kuliah=kuliah.kode_kuliah inner join matakuliah on kuliah.kode_matkul=matakuliah.kode_matkul
download sql nya disini

8.  Tampilkan dosen yang pernah mengampu kelas matakuliah yang pesertanya tidak lebih dari 15 mahasiswa.
jawab :
  select dosen.NIP,dosen.nama_dosen,kuliah.kode_kuliah,kuliah.kode_matkul,count(peserta.NIM) as peserta from dosen inner join kuliah on dosen.NIP=kuliah.NIP inner join peserta on kuliah.kode_kuliah=peserta.kode_kuliah inner join mahasiswa on peserta.NIM=mahasiswa.NIM group by dosen.NIP,dosen.nama_dosen,kuliah.kode_kuliah,kuliah.kode_matkul HAVING count(peserta.NIM)<=15
download sql nya disini

9.   Tampilkan data mahasiswa yang telah lulus lebih dari 100 SKS (mahasiswa lulus minimal nilai C ). Informasi yang ditampilkan berupa NIM, nama mahasiswa, dan total SKS yang telah ditempuh.
jawab :
     select mahasiswa.NIM,mahasiswa.nama_mahasiswa,sum(matakuliah.sks) as total_sks from mahasiswa inner join peserta on mahasiswa.NIM=peserta.NIM inner join kuliah on peserta.kode_kuliah=kuliah.kode_kuliah inner join matakuliah on kuliah.kode_matkul=matakuliah.kode_matkul where peserta.nilai not in ('D','E') group by mahasiswa.NIM,mahasiswa.nama_mahasiswa having sum(matakuliah.sks)>100
download sql nya disini

Tidak ada komentar:

Posting Komentar