17
PR 2 Structured 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 cascade TABLE KORIDOR Galih Priyambodho (1506797305) Kode Asdos : B Kelas : Ekstensi 2015

Pr2 b-galih priyambodho

Embed Size (px)

Citation preview

Page 1: Pr2 b-galih priyambodho

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

Page 2: Pr2 b-galih priyambodho

TABLE HALTE

TABLE RUTE

Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015

Page 3: Pr2 b-galih priyambodho

TABLE BUS

TABLE PETUGAS

Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015

Page 4: Pr2 b-galih priyambodho

TABLE SUPIR

TABLE PENUGASAN

Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015

Page 5: Pr2 b-galih priyambodho

TABLE SUB_RUTE

Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015

Page 6: Pr2 b-galih priyambodho

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

Page 7: Pr2 b-galih priyambodho

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

Page 8: Pr2 b-galih priyambodho

QUERY PETUGAS

QUERY BUS

QUERY PENUGASAN

Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015

Page 9: Pr2 b-galih priyambodho

QUERY RUTE

QUERY SUPIR

QUERY SUB_RUTE

Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015

Page 10: Pr2 b-galih priyambodho

Galih Priyambodho (1506797305)Kode Asdos : BKelas : Ekstensi 2015

Page 11: Pr2 b-galih priyambodho

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

Page 12: Pr2 b-galih priyambodho

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

Page 13: Pr2 b-galih priyambodho

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

Page 14: Pr2 b-galih priyambodho

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