LATIHAN
Implementasikan
query berikut dengan SQL pada basis data COMPANY.
1. Tampilkan
jumlah proyek yang pernah diikuti oleh
pegawai bernama depan “John”.
Jumlah
proyek (serta nama dan lokasi proyek) yang diikuti oleh pegawai dengan nama
depan (Fname) John dapat ditampilkan dengan menggunakan perintah Data
Manipulation Language (DML), yaitu
perintah SELECT sebagai berikut: SELECT Fname, Pname, Pnumber, Plocation FROM project, employee WHERE
Dnum=Dno;
Dari hasil tersebut dapat diketahui
bahwa pegawai
dengan nama depan John ikut serta dalam 3 proyek, yaitu proyek ProductZ,
ProductX, dan ProductY.
2. Tampilkan
nama belakang pegawai yang bekerja
di departemen “Research” dan semua nama tanggungannya.
Untuk menampilkan siapa saja nama belakang pegawai yang
bekerja di department “Research”, maka digunakan perintah: SELECT Lname, dname FROM employee,
department WHERE Dno=Dnumber;
Dari data di atas dapat
dilihat bahwa pegawai yang bekerja di department “Research” ada 4 orang, yaitu Smith, Wong, English, dan Narayan.
Setelah itu, untuk
menampilkan seluruh nama tanggungan dari pegawai yang bekerja di department
“Research”, digunakan perintah: SELECT Lname, dependent_name,
relationship FROM
employee, dependent WHERE
SSN=ESSN;
Dari data di atas dapat
dilihat bahwa pegawai department “Research”
yang memiliki tanggungan hanya 2 orang yaitu Smith dan Wong, dimana
Smith dan Wong sama-sama memiliki 3 tanggungan. Tanggungan Smith adalah
Elizabeth (spouse), Alice (daughter), dan Michael (son). Sementara, tanggungan
Wong adalah Joy (spouse), Alice (daughter), dan Theodore (son).
3. Tampilkan
nama pegawai yang jumlah tanggungannya
lebih dari 2 orang.
Untuk
menampilkan nama-nama tanggungan dari pegawai TiaCompany digunakan perintah: SELECT Fname, Lname, dependent_name,
relationship FROM
employee, dependent WHERE
SSN=ESSN;
Dari
hasil perintah tersebut, dapat diketahui bahwa pegawai yang memiliki jumlah
tanggungan lebih dari 2 adalah John
Smith dan Franklin Wong.
Sementara, Jennifer Wallace hanya memiliki 1 tanggungan.
4. Tampilkan
semua nama departemen dan rata-rata gaji pegawai wanita dan pria pada
departemen tersebut.
Untuk menampilkan
nama department serta gaji pegawai wanita dan pegawai pria pada department
tersebut, digunakan perintah berikut: SELECT
dname, sex, salary FROM employee, department WHERE Dno=Dnumber;
Maka akan muncul
hasil dibawah ini
5. Tambahkan
informasi mengenai kapan suatu proyek dimulai dan berakhir (setiap proyek dimulai dan berakhir pada
tahun yang sama). Jadi, Anda perlu menambah 2 kolom dengan domain “date” yang berisi tentang awal proyek
dan akhir proyek.
Kolom baru pada tabel Project dibuat dengan perintah
Alter Table sebagai berikut:
ALTER TABLE project ADD COLUMN project_start DATE;
ALTER TABLE project ADD COLUMN project_end DATE;
Setelah perintah tersebut dijalankan, maka akan muncul 2 kolom baru yang masih kosong pada tabel Project.
ALTER TABLE project ADD COLUMN project_start DATE;
ALTER TABLE project ADD COLUMN project_end DATE;
Setelah perintah tersebut dijalankan, maka akan muncul 2 kolom baru yang masih kosong pada tabel Project.
Untuk melengkapi kolom tersebut dengan atribut tahun
dimulai dan tahun berakhirnya proyek, perintah yang digunakan adalah:
UPDATE `project` SET `project_start`='2015-01-06' WHERE Pname='ProductX';
UPDATE `project` SET `project_start`='2015-03-02' WHERE Pname='ProductY';
UPDATE `project` SET `project_start`='2015-03-17' WHERE Pname='ProductZ';
UPDATE `project` SET `project_start`='2015-04-06' WHERE Pname='Computerization';
UPDATE `project` SET `project_start`='2015-05-12' WHERE Pname='Reorganization';
UPDATE `project` SET `project_start`='2015-05-21' WHERE Pname='Newbenefits';
UPDATE `project` SET `project_start`='2015-01-06' WHERE Pname='ProductX';
UPDATE `project` SET `project_start`='2015-03-02' WHERE Pname='ProductY';
UPDATE `project` SET `project_start`='2015-03-17' WHERE Pname='ProductZ';
UPDATE `project` SET `project_start`='2015-04-06' WHERE Pname='Computerization';
UPDATE `project` SET `project_start`='2015-05-12' WHERE Pname='Reorganization';
UPDATE `project` SET `project_start`='2015-05-21' WHERE Pname='Newbenefits';
UPDATE
`project` SET `project_end`='2020-01-06' WHERE Pname='ProductX';
UPDATE `project` SET `project_end`='2020-03-02' WHERE Pname='ProductY';
UPDATE `project` SET `project_end`='2020-03-17' WHERE Pname='ProductZ';
UPDATE `project` SET `project_end`='2020-04-06' WHERE Pname='Computerization';
UPDATE `project` SET `project_end`='2020-05-12' WHERE Pname='Reorganization';
UPDATE `project` SET `project_end`='2020-05-21' WHERE Pname='Newbenefits';
Setelah perintah tersebut dijalankan, maka kolom project_start dan project_end yang mulanya masih kosong menjadi terisi seperti tabel dibawah ini:
UPDATE `project` SET `project_end`='2020-03-02' WHERE Pname='ProductY';
UPDATE `project` SET `project_end`='2020-03-17' WHERE Pname='ProductZ';
UPDATE `project` SET `project_end`='2020-04-06' WHERE Pname='Computerization';
UPDATE `project` SET `project_end`='2020-05-12' WHERE Pname='Reorganization';
UPDATE `project` SET `project_end`='2020-05-21' WHERE Pname='Newbenefits';
Setelah perintah tersebut dijalankan, maka kolom project_start dan project_end yang mulanya masih kosong menjadi terisi seperti tabel dibawah ini:
6.
[Bonus] Buatlah rekap proyek tahunan, dengan format dan
contoh instance-nya sebagai
berikut:
Tahun
|
Jumlah
proyek
|
Jumlah
pegawai terlibat
|
2005
|
5
|
5
|
2006
|
7
|
10
|
2007
|
7
|
13
|
0 komentar:
Posting Komentar