Upload
subandi-wahyudi
View
547
Download
28
Embed Size (px)
Citation preview
7/30/2019 Latihan Query Database Dengan SQL Server 2005
1/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 alter2. Buat table divisi, tentukan dan bentuk primary key dengan nama constraint PK_Divisi3. Buat table gaji, tentukan dan bentuk primary key pada saat create table4. Buat relasi tabel karyawan dengan divisi , beri nama constraint Fk_Karyawan_Divisi5. Buat relasi tabel karyawan dengan gaji, beri nama constraint Fk_Karyawan_Gaji6. 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
http://4.bp.blogspot.com/-e5WgnY2oQLA/UbbCWcxHPCI/AAAAAAAAAJQ/_C4JQh6SC6o/s1600/diagram.jpg7/30/2019 Latihan Query Database Dengan SQL Server 2005
2/10
9. Pada table divisi gunakan perintah insert untuk memasukkan data sebagai berikut
http://1.bp.blogspot.com/-SqxXt1_hN6s/UbbEqfzbKzI/AAAAAAAAAJg/tC6GdOSpyIY/s1600/gaji.jpg7/30/2019 Latihan Query Database Dengan SQL Server 2005
3/10
10. Pada table status gunakan perintah insert untuk memasukkan data sebagai berikut
http://3.bp.blogspot.com/-zjEig3ZNBBs/UbbFtsXx1xI/AAAAAAAAAJw/brCRygC1w5c/s1600/status.jpghttp://4.bp.blogspot.com/-unQUa9IU0oQ/UbbFPwybvKI/AAAAAAAAAJo/6CUmNQEXngM/s1600/divisi.jpg7/30/2019 Latihan Query Database Dengan SQL Server 2005
4/10
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
http://4.bp.blogspot.com/-AbJUagHFuMg/UbbHX_BtD-I/AAAAAAAAAKI/HPbyw7tGiL8/s1600/13.jpghttp://2.bp.blogspot.com/-qAgnj6Legpk/UbbGrB6MQ-I/AAAAAAAAAKE/agP2zTMQ_9M/s1600/12.jpghttp://1.bp.blogspot.com/-x-gUs5BJzlA/UbbGJLbVulI/AAAAAAAAAJ4/c9Wp5h0AHxs/s1600/karyawan.jpg7/30/2019 Latihan Query Database Dengan SQL Server 2005
5/10
15. Tampilkan data karyawan dengan mengurutkan data berdasarkan nama karyawansecara 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
http://3.bp.blogspot.com/-ihlic2IFgzo/UbbJiWd8E5I/AAAAAAAAAKs/JsSUBlcwNio/s1600/16.jpghttp://2.bp.blogspot.com/-HxobtmwoKIc/UbbIoTqgrNI/AAAAAAAAAKc/ZS_HVDtdjSo/s1600/15.jpghttp://2.bp.blogspot.com/-AnF0aLWTVts/UbbIF7-VRsI/AAAAAAAAAKU/duPI-Sonvac/s1600/14.jpg7/30/2019 Latihan Query Database Dengan SQL Server 2005
6/10
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 darikota jakarta atau sukabumi, seperti di bawah ini
http://1.bp.blogspot.com/-6y5MiyO4Iso/UbbLkQ48TWI/AAAAAAAAALE/T8dkyFu2-R4/s1600/18.jpghttp://1.bp.blogspot.com/-zMs2bcpQWOY/UbbKc7H1qnI/AAAAAAAAAK4/vCh2Pk8kat8/s1600/17.jpg7/30/2019 Latihan Query Database Dengan SQL Server 2005
7/10
19. Tampilkan Jumlah anak berdasarkan kota dari karyawan dengan divisi=B seperti dibawah 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)
http://1.bp.blogspot.com/-eYm8MRqnQkI/UbbL3AI1ZYI/AAAAAAAAALM/4UW-b7cCcA8/s1600/19.jpg7/30/2019 Latihan Query Database Dengan SQL Server 2005
8/10
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')
7/30/2019 Latihan Query Database Dengan SQL Server 2005
9/10
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'
7/30/2019 Latihan Query Database Dengan SQL Server 2005
10/10
or kota='Sukabumi' group by Gol
select Kota, sum(JmlAnak) 'Jml Anak' from TblKaryawan Where KodeDivisi='B' groupby Kota