• Tidak ada hasil yang ditemukan

CONTOH 1

N/A
N/A
Protected

Academic year: 2017

Membagikan "CONTOH 1"

Copied!
5
0
0

Teks penuh

(1)

KISI KISI Basis Data Untuk Dipelajari

STMIK BANDUNG

Buatlah Perintah Query SQL untuk soal soal dibawah ini !!!!

1. Buatlah Database dengan namaKepegawaian. CREATE DATABASE Kepegawaian

2. Buatlah tabel pada database kepegawaian - Nama tabel :tbDepartemen

Nama Field Type Size Key

NO_DEPT INT PK

NM_DEPT VARCHAR 20

USE Kepegawaian

CREATE TABLE tbDepartemen ( NO_Dept INT,

NM_Dept VARCHAR(20),

CONSTRAINT PK_tbDepartemen PRIMARY KEY CLUSTERED (NO_Dept))

Penjelasan :

- Perintah USE padaUSE Kepegawaian,untuk memastikan bahwa tabel yang akan dibuat berada pada database “Kepegawaian”.

- Untuk tipe data number (tinyint, int, float, decimal, currency dll) atau datetime tidak perlu ditambahkan kurung buka kurung tutup. NO_Dept INT(), seperti ini adalahsalah. Yang benar adalah seperti di diatas.

- Pembuatan primary key adalah seperti contoh di atas.

- Pembuatan Primary key diatas tidak identity, sehingga NO_Dept sebagai Primary Key tetap datanya harus diisi secara manual.

3. Isikan data data berikut pada tabeltbDepartemen

NO_DEPT NM_DEPT 10 Administration 20 Engineering 30 Business

40 Education & Consultance 50 HRD & GA

60 Inormation System

INSERT INTO dbo.tbDepartemen( NO_Dept, NM_Dept ) VALUES (10, 'Administration')

INSERT INTO dbo.tbDepartemen( NO_Dept, NM_Dept ) VALUES (20, 'Engineering')

(2)

Penjelasan :

- Untuk menginput data seperti perintah di atas, maka lakukan insert satu persatu, tidak boleh di gabungkan dalam 1 perintah insert.

- Untuk mengisi data yang bertipe data number tidak boleh memakai tanda kutip (‘’).

4. Buat tabel baru pada databaseKepegawaian - Nama Tabel :tbKaryawan

Nama Field Type Size Key

NO_KAR INT PK

NO_KAR int IDENTITY(1,1) NOT NULL, NM_KAR varchar(20) NOT NULL,

TGL_MSK date NULL,

CONSTRAINT PK_tbKaryawan PRIMARY KEY CLUSTERED (NO_KAR ASC)

Penjelasan :

- Perhatikan perbedaan-nya dengan cara pembuatan di tableTbDepartemen,yang ini saya buat [NO_Kar] identity, sehingga ini akan otomatis diisi oleh system bila kita ingin menginputkan data.

- NOT NULL itu artinya data tidak boleh kosong, bilaNULL maka data diperbolehkan kosong .

5. Isikan data data data berikut padatbKaryawan

NO_ KAR

NM_KAR TGL_MSK JABATAN KOMISI GAJI NO_ MANAJER

NO_DEPT _KAR

1 Hari 1990-08-15 Direktur 10 5000 10

2 Sakinah 1990-08-20 Wa. Direktur 10 4500 1 10 3 Yana S 1990-09-18 Engineering Mg 10 2500 2 20

4 Jodi 1990-11-17 HRD ang GA Mg 2500 2 30

5 Sekar 1991-2-28 Education Mg 10 2500 2 40 6 Aminah 1992-05-18 Business Mg 10 2500 2 50

(3)

GAJI , NO_MANAJER , NO_DEPT_KAR)

VALUES ('Hari','1990-08-15','Direktur', 10,5000,NULL,10)

INSERT INTO dbo.tbKaryawan(NM_KAR , TGL_MSK , JABATAN , KOMISI , GAJI , NO_MANAJER , NO_DEPT_KAR)

VALUES ( 'Hari','1990-08-15','Direktur', 10,5000,NULL,10)

Dst.

Penjelasan :

- Karena NO_Kar dibuat identity (diisi otomatis oleh system pada SQL Server secara incement), maka ketika melakukan insert, kita tidak lagi memanggil [NO_Kar], dan mengisikan datanya. Karena akan diisi oleh system secara otomatis.

6. Tampilkan data dari tabeltbDepartemen,yang mempunyai NO_DEPT = 10,30,50 Ada 2 cara :

SELECT * FROM dbo.tbDepartemen WHERE NO_Dept IN (10,30,20)

SELECT * FROM dbo.tbDepartemen WHERE NO_Dept = 10 OR NO_Dept = 30 OR NO_Dept = 20

Penjelasan :

- Bila penyeleksiannya mau digabungkan dengan koma (,), maka lakukan dengan perintah IN.

- Bila memakai operator = (samadengan), maka lakukan dengan perintah OR. (pelajari tentang operator)

7. Tampilkan Karyawan (tbKaryawan) yang berasal dari departemen Administration (NO_DEPT_KAR = 10)

SELECT * FROM dbo.tbKaryawan WHERE NO_DEPT_KAR = 10

8. Tampilkan Karyawan (tbKaryawan) yang memiliki Komisi saja, lalu urutkan datanya secara dari gaji yang terkecil ke yang terbesar.

SELECT * FROM dbo.tbKaryawan WHERE KOMISI IS NOT NULL ORDER BY GAJI ASC

9. Tampilkan Karyawan (tbKaryawan) yang jabatannya manager (Jabatannya mengandung string Mg) Perhatikan perintah soalnya !!! (Jabatannya mengandung string Mg)

SELECT * FROM dbo.tbKaryawan WHERE JABATAN LIKE '%Mg%' Penjelasan :

(4)

10. Tampilkan karyawan (tbKaryawan) yang tidak punya atasan.

Yang dimaksud atasan disini diambil dari field [NO_MANAJER], jadi tampilkan Karywan yang tidak punya manajer / atasan.

SELECT * FROM dbo.tbKaryawan WHERE NO_MANAJER IS NULL

11. Tampilkan karyawan (tbKaryawan) yang gajinya di atas 2700. SELECT * FROM dbo.tbKaryawan WHERE GAJI > 2700

12. Tampilkan kayawan yang berasal dari departemen no (NO_DEPT_KAR) : 30, 40, atau 50. Urutkan datanya secara mengecil berdasarkan NM_KAR.

SELECT * FROM dbo.tbKaryawan WHERE NO_DEPT_KAR IN (30,40,50) ORDER BY NM_KAR ASC

13. Hapus Departemen (tbDepartemen) no : 30 dan 40

DELETE dbo.tbDepartemen WHERE NO_Dept IN (30,40) Atau

DELETE dbo.tbDepartemen WHERE NO_Dept = 30 OR NO_Dept = 40

14. Hapus Karyawan (tbKaryawan) yang Tahun masuknya 1992

DELETE dbo.tbKaryawan WHERE YEAR(TGL_MSK) = '1992' Penjelasan :

Karena yang dihapus harus diseleksi berdasarkan tahun masuknya saja, maka kita harus menyeleksi

[TGL_MSK] hanya berdasarkan tahun saja dengan fungsi YEAR(TGL_MSK). Bila bulan maka perintahnya adalah MONTH(TGL_MSK). Bila perintah seleksinya bulan dan tahun contoh hapus data karyawan yang Tahun masuknya 1992 bulan Februari. bisa dilakukan seperti di bawah ini :

DELETE dbo.tbKaryawan WHERE MONTH(TGL_MSK) = '2' AND YEAR(TGL_MSK) = '1992'

15. Update Data Sakinah, naikkan gajinya 10% dari gaji sebelumnya, Komisinya ubah jadi 15

UPDATE tbKaryawan

SET GAJI = GAJI + (GAJI * 10%), KOMISI = 15

WHERE NM_KAR = 'Sakinah`'

16. Update gaji karyawan dari departemen no: 30,40, atau 50 . Tambahkan sebanyak 250 pada setiap karyawan dari departemen tersebut.

UPDATE tbKaryawan

(5)

WHERE NO_DEPT_KAR IN ( 30, 40, 50 )

17. Ubah field NM_KAR pada tabel Pegawai panjangnya(sizenya) menjadi 30.

ALTER TABLE tbKaryawan ALTER COLUMN NM_KAR VARCHAR(15)

18. Ubah nama tabel Karyawan menjadi Pegawai.

sp_rename 'Table.OldField','NewField','Column'

19. Ubah nama field NM_DEPT menjadi NAMA_DEPT pada tabel Departemen. sp_rename 'Table.OldField','NewField'

20. Hapus tabel Departemen, Hapus Tabel Pegawai, Hapus Database Kepegawaian.

Referensi

Dokumen terkait

--- Pada hari ini Kamis tanggal dua puluh enam bulan Februari tahun dua ribu lima belas, berdasarkan Surat Perintah Koorsripim Polri Nomor : Sprin/21/I/2015 tanggal 16

---Pada hari ini kamis tanggal empat bulan februari tahun dua ribu enam belas pukul sembilan satu menit Waktu Indonesia Barat, berdasarkan Surat Perintah Kepala Layanan Pengadaan

--- Pada hari ini rabu tanggal sepuluh bulan februari tahun dua ribu enam belas pukul tiga belas tiga puluh waktu Indonesia Barat, berdasarkan Surat Perintah Kepala Layanan

Pada hari ini Jumat, tanggal Sembilan Belas Bulan Februari Tahun Dua Ribu Enam Belas pukul Sepuluh sampai dengan Sebelas Waktu Indonesia Bagian Barat berdasarkan Surat

Pada hari ini Senin, tanggal Dua Puluh Dua Bulan Februari Tahun Dua Ribu Enam Belas pukul Sepuluh sampai dengan Sebelas Waktu Indonesia Bagian Barat berdasarkan Surat

Pada hari ini Selasa tanggal tiga bulan Februari tahun dua ribu lima belas , selaku Pokj a Tahap I PLP Kabupaten Purwakarta berdasarkan Surat Perintah Ketua Pusat

Pada hari ini Kamis tanggal lima bulan Februari tahun dua ribu lima belas , selaku Pokj a Tahap I PLP Kabupaten Purwakarta berdasarkan Surat Perintah Ketua Pusat

• Istrinya bekerja sebagai PNS di Departemen Pertanian dan memperoleh penghasilan sebesar 5 juta per bulan dan pajak yang telah dipotong sebesar Rp 2.058.000 untuk tahun pajak 2010.. •