Nah, langsung saja,,,ini dia contoh soalnya.......
Diketahui sebuah database dengan nama StudiKasus, dengan 4 buah tabelnya seperti diagram di bawah ini
Selesaikanlah studi kasus ini dengan menjawab pertanyaan di bawah ini dengan menggunakan perintah bahasa query :
1. Buat table karyawan, tentukan dan bentuk primary key dengan fungsi alter
2. Buat table divisi, tentukan dan bentuk primary key dengan nama constraint PK_Divisi
3. Buat table gaji, tentukan dan bentuk primary key pada saat create table
4. Buat relasi tabel karyawan dengan divisi , beri nama constraint Fk_Karyawan_Divisi
5. Buat relasi tabel karyawan dengan gaji, beri nama constraint Fk_Karyawan_Gaji
6. Buat relasi tabel karyawan dengan status, beri nama constraint Fk_Karyawan_Status
7. Buat diagram diagram database dengan nama DiagramKaryawan.
8. Pada table gaji gunakan perintah Insert untuk memasukkan data sebagai berikut
9. Pada table divisi gunakan perintah insert untuk memasukkan data sebagai berikut
10. Pada table status gunakan perintah insert untuk memasukkan data sebagai berikut
11. Pada table karyawan gunakan perintah insert untuk memasukkan data sebagai berikut
12. Tampilkan total jumlah anak pada seluruh karyawan, seperti di bawah ini
13. Hitung dan tampilkan jumlah karyawan berstatus kawin seperti di bawah ini
14. Tampilkan data karyawan (NIP, Nama Karyawan, Status)dari tabel karyawan dan tabel status , dimana status=2 (kawin), seperti di bawah ini
15. Tampilkan data karyawan dengan mengurutkan data berdasarkan nama karyawan secara descending
16. Tampilkan data karyawan (NIP, Nama Karyawan, Jenis Kelamin, KodeStatus, KodeDivisi, Gol, Jumlah anak) dari tabel karyawan dan hitung jumlah anak dan karyawan pada akhir baris seperti di bawah ini
17. Tampilkan data karyawan (NIP, Nama , Tempat Lahir, Jenis Kelamin, Alamat , Kota, Jumlah anak) secara berurutan dan hitung jumlah karyawan dan jumlah anak seperti di bawah ini
18. Tampilkan Jumlah karyawan yang kawin (kode status=2) berdasarkan golongan dari kota jakarta atau sukabumi, seperti di bawah ini
19. Tampilkan Jumlah anak berdasarkan kota dari karyawan dengan divisi=B seperti di bawah ini
20. Selesai
JAWABAN :
create database StudiKasus
use StudiKasus
create table TblKaryawan
(
NIP char(10) not null,
NamaKar char(25) not null,
TmptLahir char (15) not null,
TglLahir datetime not null,
JK char (1) not null,
KodeStatus char (2) not null,
Alamat char(50) not null,
Kota char(15) not null,
NoTelp char(15) not null,
KodeDivisi char(2) not null,
Gol char(2) not null,
JmlAnak int default null,
)
alter table TblKaryawan add constraint pk_karyawan primary key(NIP)
create table TblDivisi
(
KodeDivisi char(2) not null,
NamaDivisi char(15) not null,
)
alter table TblDivisi add constraint pk_divisi primary key(KodeDivisi)
create table TblGaji
(
Gol char(2) not null,
GajiPokok int not null,
constraint pk_gaji primary key(Gol)
)
create table TblStatus
(
KodeStatus char(2) not null,
NamaStatus char(15) not null,
constraint pk_status primary key(KodeStatus)
)
alter table TblKaryawan add constraint fk_karyawan_divisi foreign key (KodeDivisi) references TblDivisi (KodeDivisi)
alter table TblKaryawan add constraint fk_karyawan_gaji foreign key (Gol) references TblGaji (Gol)
alter table TblKaryawan add constraint fk_karyawan_status foreign key (KodeStatus) references TblStatus (KodeStatus)
insert into TblGaji values('A','750000')
insert into TblGaji values('B','1000000')
insert into TblGaji values('C','1250000')
insert into TblGaji values('D','1500000')
insert into TblGaji values('E','1750000')
insert into TblGaji values('F','2000000')
insert into TblGaji values('G','2250000')
insert into TblGaji values('H','2500000')
insert into TblGaji values('I','2750000')
insert into TblGaji values('J','3000000')
insert into TblDivisi values('A','Direktur')
insert into TblDivisi values('B','Manajer')
insert into TblDivisi values('C','Personalia')
insert into TblDivisi values('D','Marketing')
insert into TblDivisi values('E','Produksi')
insert into TblDivisi values('F','Warehouse')
insert into TblDivisi values('G','Finance')
insert into TblDivisi values('H','Accounting')
insert into TblDivisi values('I','Umum')
insert into TblDivisi values('J','Sales')
insert into TblStatus values('1','Tidak')
insert into TblStatus values('2','Kawin')
insert into TblStatus values('3','Duda')
insert into TblStatus values('4','Janda')
insert into TblKaryawan values('0101001','DEWI','JAKARTA','1977-05-23','P','2','JL. RAYA BOGOR 21 RT 5 / RW 3','BOGOR','025112358796','H','C','2')
insert into TblKaryawan values('0101002','ASTRI','TANGERANG','1980-02-12','P','1','JL. SUKA SENANG 22 RT 2 / RW 7','TANGERANG','02197356894','E','B',NULL)
insert into TblKaryawan values('0102001','ACHMAD','BANDUNG','1988-12-12','L','2','JL. BUKIT DAGO RT 7 / RW 9','JAKARTA','0217563756','B','I','1')
insert into TblKaryawan values('0201003','UDIN','BOGOR','1985-10-09','L','1','JL. PAMULANG 2 RT 4 / RW 4','TANGERANG','02178965432','G','E',NULL)
insert into TblKaryawan values('0311021','FITRI','SUKABUMI','1979-10-15','P','2','JL. RAYA SUKABUMI RT 6 / RW 1','SUKABUMI','0252232324','J','D','1')
select sum(jmlAnak) 'Total Jml Anak' from TblKaryawan
select count(NamaKar) 'Jumlah Status Kawin' from TblKaryawan where KodeStatus=2
select NIP, NamaKar 'Nama Karyawan',NamaStatus 'Status' from TblKaryawan inner join TblStatus on TblKaryawan.KodeStatus=TblStatus.KodeStatus where TblKaryawan.KodeStatus=2
select * from TblKaryawan Order by NamaKar desc
select NIP,NamaKar 'Nama',Jk,KodeStatus,KodeDivisi,Gol,JmlAnak from TblKaryawan compute sum(JmlAnak), Count(NamaKar)
select NIP,NamaKar 'Nama',Jk,KodeStatus,KodeDivisi,Gol,Kota,JmlAnak from TblKaryawan order by Kota compute Count(NamaKar), Sum(JmlAnak) by Kota
select Gol,Count(NamaKar) 'Jumlah Karyawan' from TblKaryawan where kota ='Jakarta' or kota='Sukabumi' group by Gol
select Kota, sum(JmlAnak) 'Jml Anak' from TblKaryawan Where KodeDivisi='B' group by Kota
Sekian, Semoga bermanfaat ^_^
Sumber soal :
Buku Modul BASIS DATA 2 by Bapak Achmad Bisri / achmadbizri@gmail.com
Tidak ada komentar:
Posting Komentar