Upload
rico-saputra
View
69
Download
0
Embed Size (px)
Citation preview
PR 2Structured Query Language
Deadline: Sabtu, 5 Maret 2016 pukul 13:00
1. Buatlah skema SIBUSWAY beserta semua tabel, domain dan constraint yang dibutuhkan. a. Tuliskan perintah untuk membuat skema SIBUSWAY
CREATE SCHEMA SIBUSWAY;
b. Tuliskan perintah untuk set schema default SET search_path TO SIBUSWAY;
c. Tuliskan perintah untuk mendefinisikan masing-masing domain (‘create domain’) untuk tipe data atribut Kode pada relasi HALTE, Kode pada relasi BUS, dan Id_petugas pada relasi PETUGAS. (Anda diperbolehkan mendefinisikan domain untuk atribut lainnya tapi tidak dinilai) CREATE DOMAIN Kode_halte AS CHAR(3);CREATE DOMAIN Kode_bus AS CHAR(5);CREATE DOMAIN Id_petugas AS CHAR(5);
d. Tuliskan/capture perintah untuk membuat setiap tabel, disertai dengan capture untuk perintah “\d [nama-table]”. Pada setiap pembuatan tabel, tentukan primary key, foreign key, dan constraint-constraint lain yang sesuai. Untuk foreign key, harus disertai opsi pada kejadian delete dan update pada relasi yang di-refer. Khusus untuk dua relasi, ditentukan sbb:
Semua FK pada relasi RUTE, on update restrict, on delete restrict Semua FK pada relasi PENUGASAN: on update cascade, on delete
cascadeTABLE KORIDOR
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015
TABLE HALTE
TABLE RUTE
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015
TABLE BUS
TABLE PETUGAS
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015
TABLE SUPIR
TABLE PENUGASAN
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015
TABLE SUB_RUTE
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015
TABLE JADWAL_TIBA
2. Setelah skema dan tabel telah dibuat, masukkanlah data yang terdapat pada database state (tersedia pada file excel). Tambahkanlah tuple pada tabel BUS, PETUGAS, dan SUPIR, sehingga jumlah minimal bus, supir, dan kondektur masing-masing adalah 10. Kemudian tambahkan tuple pada tabel PENUGASAN sehingga semua supir dan kondektur memiliki penugasan beserta seluruh bis yang tersedia (asumsi 1 bus, 1 supir, 1 kondektur). Pada
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015
laporan tuliskan/capture perintah untuk menampilkan isi dari setiap tabel beserta capture hasil query-nya.
Query KORIDOR
Query HALTE
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015
QUERY PETUGAS
QUERY BUS
QUERY PENUGASAN
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015
QUERY RUTE
QUERY SUPIR
QUERY SUB_RUTE
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015
QUERY JADWAL_TIBA
3. Lakukan operasi berikut ini, laporkan output-nya dan berikan penjelasan. a. Lakukan update pada tabel PETUGAS, ubah alamat petugas yang bernama
Daryanto menjadi Pasar Minggu.
Dengan melakukan syntax di atas maka pada relasi PETUGAS yang bernama Daryanto akan diubah alamatnya menjadi Pasar Minggu.
b. Lakukan update pada tabel BUS, ubah kode bus dengan plat kendaraan B123HN menjadi 00107.
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015
Dengan melakukan syntax di atas maka pada relasi BUS atribut Kode akan diubah menjadi ‘00107’ yang memiliki atribut Plat_kendaraan ‘B123HN’.
c. Lakukan update pada atribut kode pada relasi HALTE untuk halte dengan nama Blok M menjadi 888.
Update tidak bisa dilakukan karena update melanggar constraint FOREIGN KEY pada relasi RUTE dimana atribut kode atas atribut Nama = ‘Blok M’ masih merefer ke relasi rute.
d. Delete tuple pada relasi PETUGAS dengan nama “Igun Ranaro”. Tampilkan state dari tabel yang terkait dengan perubahan tersebut.
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015
e. Delete tuple pada relasi HALTE dengan nama “Karet”. Tampilkan state dari tabel yang terkait dengan perubahan tersebut.
f. Drop domain yang digunakan pada atribut “Id_petugas” dengan opsi cascade. Tampilkan struktur tabel yang terkait setelah perubahan dan jelaskan apa yang terjadi.
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015
Semua constraint yang terkait dengan Id_petugas akan di-DROP sehingga terdapat atribut dan/atau foreign key yang hilang pada relasi yang terkait.
4. Perbaiki skema dan database state agar kembali ke state awal sebelum dilakukan perintah-perintah pada Soal no 3.
Saya menyatakan bahwa PR ini saya kerjakan dengan usaha sendiri. Saya tidak menyalin jawaban dari sumber manapun. Saya bertanggung jawab menjaga agar jawaban PR saya tidak disalin oleh peserta lainnya.
Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015