TUGAS BASIS DATA
SOAL PRAKTIK BASIS DATA
(TENTANG MENGGUNAKAN SQL DAN KLASIFIKASINYA)
Sebuah sekolah akan membuat system informasi (e-raport)
dimana terdapat fasilitas untuk mengolah data siswa, matapelajaran, nilai dan
guru mata pelajaran. Nilai akhir setiap mata pelajaran diperoleh dari np,ns,nk.
1. Buatlah desain
sistem dengan ERD dari sistem informasi nilai!.
2. Buatlah perancangan database beserta relasinya (maping
ERD ke Tabel) sesuai dengan hasil ERD pada soal nomor 1!.
Tabel guru
NO
|
NAMA FIELD
|
TYPE DATA
|
PANJANG DATA
|
KETERANGAN
|
1
|
Id_guru
|
VARCHAR
|
15
|
PRIMARY KEY
|
2
|
Nama_ guru
|
VARCHAR
|
30
|
|
3
|
Alamat_ guru
|
VARCHAR
|
50
|
|
4
|
No_telepon_ guru
|
VARCHAR
|
15
|
|
Tabel siswa
NO
|
NAMA FIELD
|
TYPE DATA
|
PANJANG DATA
|
KETERANGAN
|
1
|
Id_siswa
|
VARCHAR
|
15
|
PRIMARY KEY
|
2
|
Nama_ siswa
|
VARCHAR
|
30
|
|
3
|
Alamat_ siswa
|
VARCHAR
|
50
|
|
4
|
No_telepon_ siswa
|
VARCHAR
|
15
|
|
5
|
Jenis_kelamin
|
VARCHAR
|
10
|
|
6
|
Tempat_lahir
|
VARCHAR
|
30
|
|
7
|
Tanggal_lahir
|
DATE
|
|
|
8
|
id_kelas
|
VARCHAR
|
10
|
|
Tabel mapel
NO
|
NAMA FIELD
|
TYPE DATA
|
PANJANG DATA
|
KETERANGAN
|
1
|
id_ mapel
|
VARCHAR
|
10
|
PRIMARY KEY
|
2
|
Nama_ mapel
|
VARCHAR
|
50
|
|
3
|
Id_guru_mapel
|
VARCHAR
|
15
|
|
Tabel guru_mapel
NO
|
NAMA FIELD
|
TYPE DATA
|
PANJANG DATA
|
KETERANGAN
|
1
|
id_ guru_mapel
|
VARCHAR
|
15
|
PRIMARY KEY
|
2
|
id_ mapel
|
VARCHAR
|
10
|
|
3
|
Id_guru
|
VARCHAR
|
15
|
|
Tabel kelas
NO
|
NAMA FIELD
|
TYPE DATA
|
PANJANG DATA
|
KETERANGAN
|
1
|
Id_kelas
|
VARCHAR
|
10
|
PRIMARY KEY
|
2
|
Nama_kelas
|
VARCHAR
|
10
|
|
3
|
Jumlah_siswa
|
INT
|
|
|
Tabel nilai
NO
|
NAMA FIELD
|
TYPE DATA
|
PANJANG DATA
|
KETERANGAN
|
1
|
Id_nilai
|
VARCHAR
|
10
|
PRIMARY KEY
|
2
|
Id_mapel
|
VARCHAR
|
10
|
|
3
|
Id_siswa
|
VARCHAR
|
15
|
|
4
|
Np
|
INT
|
|
|
5
|
Ns
|
INT
|
|
|
6
|
Nk
|
INT
|
|
|
7
|
Na
|
INT
|
|
|
3. Buatlah database raport dengan CLI!.
4. Buatlah seluruh tabel yang ada dalam database nilai,
tentukan primary key pada setiap pembuatan tabel!.
5. Buatlah sintak SQL untuk membuat index pada kolom yang
akan dijadikan relasi antar tabel!.
6. Buatlah relasi untuk semua tabel yang ada dalam database
nilai (boleh menggunakan fiture designer pada phpmyadmin atau CLI)!.
7. Input data pada setiap tabel dalam database nilai sesuai
dengan kebutuhan?
8. Buatlah Query untuk menampilkan nilai siswa pada
pelajaran tertentu yang berisi nama siswa, ns, np, dan nk diurutkan berdasarkan
nama siswa?(order by)
9. Buatlah Query untuk menampilkan nilai tertinggi dari
setiap mata pelajaran yang berisi nama siswa, ns, np, dan nk diurutkan
berdasarkan kelas?(order by)
10. Buatlah script SQL untuk merubah sebuah data pada tabel
siswa!.
11. buatlah scipt SQL untuk menghapus semua nilai dari siswa
tertentu!.
12. Buatlah prosedure untuk menampilkan laporan nilai
seorang siswa berdasarkan nisnya. Laporan berisi nama mapel, NS, NP, NK dan
Nilai Akhir!. Tes apakah procedure dapat dijalankan!.
13. Buatlah function untuk menghitung rerata nilai yang
terdiri dari ns, np, nk. Dan bagaimana cara menggunakan function tersebut dalam
tabel.
14. Buatlah script SQL untuk membuat trigger untuk menghapus
data nilai secara otomatis ketika terjadi hapus data pada table siswa!
15. Dengan menerapkan transaction (commit) update sebuah
data pada table siswa!.
16. Dengan menerapkan transaction (rollback) delete sebuah
data pada table siswa!.