Soal Kompetisi Basis Data Lanjut 2015
Soal Kompetisi Basis Data Lanjut 2015
Berikut ini adalah ERD dari database yang akan dikembangkan sebuah klinik pengobatan
"Wisma Berobat"
ERD
Wisma
Berobat
Skenario
Saat ini, Anda tengah terlibat di sebuah
mengembangkan sebuah situs
Anda diberi tugas di
situs tersebut
Type
Null
Key
PRI
Default
id_pasien
VARCHAR(7)
NO
NULL
nama_pasien
VARCHAR(25)
NO
NULL
alamat_pasien
VARCHAR(45)
NO
NULL
no_telp_pasien
VARCHAR(15)
NO
NULL
id_dokter
VARCHAR(7)
NO
nama_dokter
VARCHAR(25)
NO
NULL
alamat_dokter
VARCHAR(45)
NO
NULL
no_telp_dokter
VARCHAR(15)
NO
NULL
id_periksa
VARCHAR(5)
NO
tanggal_periksa
DATE
NO
NULL
keluhan
VARCHAR(200)
NO
NULL
id_obat
VARCHAR(5)
NO
nama_obat
VARCHAR(20)
NO
NULL
tanggal_pengambilan
DATE
NO
NULL
PRI
PRI
PRI
NULL
NULL
NULL
Tabel Pasien
id_pasien
nama_pasien
alamat_pasien
no_telp_pasien
P.0001
Shincan
454545
P.0002
Masao
878561
P.0003
Bo
434546
P.0004
Neney
234123
P.0005
Kazao
727273
Tabel Dokter
id_dokter
nama_dokter
alamat_dokter
no_telp_dokter
D.0001
Budi Raharja
778877
D.0002
Dedy Kuswadi
554567
D.0003
Rahmat Wijaya
456451
Tabel Periksa
id_periksa
id_pasien
id_dokter
tanggal_periksa
keluhan
T.001
P.0001
D.0003
15-01-2015
Batuk, pilek
T.002
P.0001
D.0003
24-01-2015
Batuk, pilek
T.003
P.0003
D.0001
25-01-2015
Diare
T.004
P.0002
D.0001
25-01-2015
Demam
T.005
P.0003
D.0002
27-01-2015
Batuk, pilek
Tabel Obat
id_obat
nama_obat
K.001
Tempra
K.002
Inzana
K.003
Decolgen
K.004
Woods
K.005
Diapet
K.006
Paramex
K.007
Vicks
id_obat
id_periksa
tanggal_pengambilan
K.001
T.001
15-01-2015
K.007
T.002
24-01-2015
K.005
T.003
25-01-2015
K.002
T.004
25-01-2015
K.004
T.005
27-01-2015
Tugas 1
a. Buatlah database dengan nama wisma_berobat(point : 1)
b. Buatlah tabel berdasarkan diagram ER wisma berobat(point : 5)
c. Tampilkan database yang Anda buat
d. Tampilkan struktur tabel yang telah Anda buat
Tugas 2
a. Masukkan data pada masing-masing tabel berdasarkan data yeng tertampil pada soal !
(petunjuk : Penggunaan transaksi cukup sekali, setelah itu dieksekusi baris perintah
SQL nya)(point : 2)
b. Ubah nama pasien shincan menjadi "Nohara Shinosuke" berdasarkan kode pasien !
Setelah itu, batalkan perintah ubah nama pasien !(petunjuk : Gunakan transaksi)
(point : 1)
Tugas 3 :
Pada tugas 3, Anda tidak diperkenankan menggunakan Simple Join!
a. Buatlah sebuah view yang dapat menampilkan nama_pasien, alamat_pasien,
keluhan, dan nama_dokter, untuk pasien yang diperiksa pada tanggal 25-01-2015 !
Beri nama view dengan nama view_pasien. (petunjuk : gunakan subquery
from/where)(point : 3)
b. Tampilkan view_pasien
c. Buatlah sebuah view yang dapat menampilkan kode_obat dan nama_obat yang
belum pernah diberikan pada saat dokter memeriksa pasien ! Beri nama view dengan
nama view_obat. (petunjuk : gunakan Left/Right Join)(point : 3)
d. Tampilkan view_obat
e. Buatlah sebuah view yang dapat menampilkan nama_pasien, alamat_pasien, dan
no_telp_pasien untuk pasien yang belum pernah periksa ke dokter ! Berik nama view
dengan nama view_pasien2. (petunjuk : gunakan Left/Right Join)(point : 3)
f. Tampilkan view_pasien2
g. Buatlah sebuah view yang dapat menampilkan
nama_dokter,tanggal_periksa,keluhan, dan nama_obat untuk pasien dengan nama
shincan ! Beri nama view dengan nama view_pasien3 (petunjuk : gunakan subquery
from/where)(point : 3)
h. Tampilkan view_pasien3
Tugas 4 :
a. Hapus seluruh isi tabel yang terdapat pada database wisma berobat ! (petunjuk :
gunakan transaksi untuk menghapus seluruh tabel) (point : 2)
b. Hapus seluruh tabel yang terdapat pada database wisma berobat ! (point : 1)
c. Hapus seluruh view yang terdapat pada database wisma berobat ! (point : 2)
d. Tampilkan seluruh tabel dan view pada database wisma berobat !
e. Hapus database wisma berobat ! (point : 1)
f. Tampilkan database yang ada !