Anda di halaman 1dari 10

Latihan Query Database dengan SQL Server 2005

Assalamu'alaikum kawan, Postingan kali ini saya buat untuk tugas mata kuliah Basis Data 2,sesuai judul diatas, software yang saya pakai adalah SQL SERVER 2005. Jika anda belum punya, silahkan download dan install dulu softwarenya. 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-0212','P','1','JL. SUKA SENANG 22 RT 2 / RW 7','TANGERANG','02197356894','E','B',NULL) insert into TblKaryawan values('0102001','ACHMAD','BANDUNG','1988-1212','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