Latihan Query Database Dengan SQL Server 2005

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.jpg
  • 7/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.jpg
  • 7/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.jpg
  • 7/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.jpg
  • 7/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.jpg
  • 7/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.jpg
  • 7/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.jpg
  • 7/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