Search This Blog

Thursday, January 13, 2011

Pertemuan 2

QUERY - MS SQL Server (Transact SQL)

A.  Membuat Tabel Dengan Perintah SQL

Selain dengan cara visual yang sudah disediakan oleh Microsoft SQL Server untuk mempermudah pembuatan tabel, cara lainnya adalah dengan menggunakan perintah SQL.
Sebagai latihan kita akan mencoba membuat tabel Mahasiswa dengan dengan menggunakan perintah SQL.



Langkah-langkah pembuatan tabel adalah sebagai berikut :
·         Buka Enterprise Manager.
·         Buka Database yang sudah dibuat, misal dbperkuliahan.
·         Klik di Menu Tools> Klik New Query



·         Setelah Query Analyzer terbuka, masukan perintah SQL untuk membuat tabel Mahasiswa seperti dibawah ini.

create table Mahasiswa (
NIM char(8),
Tahun_Ajaran char(4),
Kode_Jurusan char(5),
Nama varchar(50),
Tempat_Lahir varchar(50),
Tanggal_Lahir datetime,
Alamat varchar(150),
Kota varchar(50),
No_Telepon varchar(12)
);

·         Klik  (Parse Query atau Ctrl+F5) untuk mengecek penulisan perintah query, jika tidak ada pesan kesalahan klik  (Execute Query atau F5) untuk mengeksekusi perintah query. Apabila tampil pesan “The Command(s) completed succesfully” maka tabel sudah berhasil dibuat.

B.  Merubah Struktur Tabel Dengan Perintah SQL


- Menambah Kolom Pada Tabel
Melakukan perubahan struktur tabel seperti penambahan kolom Status_Mahasiswa pada tabel mahasiswa, perintah query menambah kolom adalah :

alter table Mahasiswa add Status_Mahasiswa char(12);

- Merubah Type Data Kolom Pada Tabel
Perintah query untuk mengubah type data suatu tabel (misal mengubah tipe data Status_Mahasiswa dari char(12) menjadi varchar(12)) yaitu:

alter table Mahasiswa alter column Status_Mahasiswa varchar(12);



- Menghapus Kolom Pada Tabel
Jika karena suatu kolom tidak diperlukan dan akan dihilangkan dari suatu tabel dikarenakan sesuatu hal maka perintah query untuk menghapus kolom tersebut yaitu:

alter table Mahasiswa drop column Status_Mahasiswa;

- Menambah Constraint Primary Key Pada Kolom
Perintah query untuk menambah constraint Primary Key pada kolom suatu tabel adalah:

alter table Mahasiswa add constraint pk_Mahasiswa primary key(NIM);

Perlu diketahui bahwa kolom yang akan dijadikan sebagai primary key harus dalam keadaan not null (tidak boleh kosong).

- Menambah Constraint Primary Key Pada Kolom Suatu Tabel
Perlu diketahui bahwa kolom yang akan dijadikan sebagai primary key harus dalam keadaan not null (tidak boleh kosong). Jadi jika kolom yang akan dijadikan primary key tidak dalam keadaan not null (boleh kosong) harus di ubah menjadi not null.

alter table Mahasiswa alter column NIM char(8) not null;

Perintah query untuk menambah constraint Primary Key pada kolom suatu tabel adalah:

alter table Mahasiswa add constraint pk_Mahasiswa primary key(NIM);

- Menambah Constraint Foreign Key Pada Kolom Suatu Tabel
Misalkan, tabel Mahasiswa  mereferensi ke tabel jurusan pada kolom Kode_Jurusan.

 


Maka perintah query untuk menghubungkannya adalah :

alter table Mahasiswa add constraint fk_Mahasiswa_ref_jurusan foreign key (Kode_Jurusan) references Jurusan(Kode_Jurusan);

- Menambah Constraint Pada Kolom Suatu Tabel
Perintah query untuk menghapus constraint adalah :

alter table Mahasiswa drop constraint fk_Mahasiswa_ref_jurusan;

Menghapus Tabel Dengan Perintah SQL
Perintah query untuk menghapus suatu tabel adalah:

drop table Mahasiswa;




C. DML(Data Manipulation Language)


DML merupakan perintah yang sering dipergunakan dalam Transaksi SQL oleh database developer.
Perintah-perintah SQL yang tergolong DML antara lain :
1.     INSERT
2.     SELECT
3.     UPDATE
4.     DELETE                                                                                                                                                                                                                                                                   
Sebagai latihan kita akan menggunakan tabel Jurusan dan Mahasiswa.


1. INSERT
Perintah insert dipergunakan untuk memasukan data kedalam tabel. Perintahnya adalah :

Insert into Mahasiswa (NIM, Tahun_Ajaran, Kode_Jurusan, Nama, Tempat_Lahir, Tanggal_Lahir, Alamat, Kota,No_Telepon)
values (‘10113025’, ‘2005’, ‘LB’, ’Dina Rukmantara’, ‘Bandung’ ,’08-20-1983’, ‘Jl. Sari Jadi’, ‘Bandung’, ‘081322442269’);

Catatan :
Dalam proses input matakuliah, jika tabel mahasiswa mereferensi ke tabel jurusan maka tabel jurusan harus memiliki data jurusan yang akan dipergunakan/diinputkan dalam tabel mahasiswa.

Perintah insert pada kolom-kolom tabel yang sudah default, data dapat dituliskan langsung sesuai dengan urutan kolom tanpa perlu menuliskan nama kolomnya seperti perintah dibawah :

Insert into Mahasiswa values (‘10113025’, ‘2005’, ‘LB’, ’Dina Rukmantara’, ‘Bandung’ ,’08-20-1983’, ‘Jl. Sari Jadi’, ‘Bandung’, ‘081322442269’);

Untuk memasukan hanya pada kolom-kolom tertentu bisa menggunakan perintah berikut :

Insert into Mahasiswa (NIM, Tahun_Ajaran, Kode_Jurusan, Nama)
values (‘10113025’, ‘2005’, ‘LB’, ’Dina Rukmantara’);

2. SELECT
Perintah ini adalah perintah yang paling sering dipergunakan karena kegunaannya adalah untuk membaca (query) isi tabel.

Select * from Mahasiswa ;

Perintah diatas apabila dieksekusi akan menampilkan seluruh data dalam tabel Mahasiswa. 
 
Untuk menampilkan data-data tertentu dari satu atau beberapa tabel kita bisa menggunakan perintah WHERE yang berfungsi sebagai syarat kondisi dari data yang akan ditampilkan. Contoh:

Select * from Mahasiswa where Tahun_Ajaran = ‘2005’;                                                                                                                                                                                                                                                                                                    

Data Mahasiswa yang akan muncul adalah Mahasiswa yang masuk pada tahun ajaran 2005.
MSSQL mengediakan sejumlah operator relasi untuk membuat suatu kondisi yang diinginkan.
Operator
Penjelasan
=
Sama
<>
Tidak sama
Lebih kecil
<=
Lebih kecil atau sama
Lebih besar
>=
Lebih besar atau sama
Like
Dapat digunakan dengan simbol %(wildcard)
In
Dapat digunakan menggantikan relasi OR
Between
Diantara dua kondisi
Not Between
Tidak diantara dua kondisi
Null
Bernilai kosong
Not Null
Tidak bernilai kosong
&
Untuk memasukan variabel
&&
Untuk memasukan variabel dan nilai disimpan untuk query berikutnya

OPERATOR “>=” DAN “<=”
Dua kondisi, lebih besar sama dengan dan lebih kecil sama dengan.

Select * from Mahasiswa where Tahun_Ajaran>=2001 and Tahun_Ajaran<=2005;                                                                                                                                                                                                                                                                                                    

LIKE
Untuk menyatakan suatu kondisi pencarian pada suatu kolom yang mengandung sebagian karakter yang akan ditampillkan.

Select * from Mahasiswa where Nama Like ‘Dina%’;                                                                                                                                                                                                                                                                                                    

Perintah diatas digunakan untuk menampilkan data Mahasiswa yang memiliki nama awal nya Dian. %(Wildcard) untuk menyatakan karakter yang diabaikan.

IN
Perintah untuk menampilkan data yang memiliki nilai sama dengan nilai-nilai yang sudah ditentukan.

Select * from Mahasiswa where Tahun_Ajaran in (2005,2006);

BETWEEN
Perintah untuk menampilkan data yang memiliki nilai diantara dua nilai yang akan dicari.

Select * from Mahasiswa where Tahun_Ajaran Between 2001 and 2006;

Kebalikan dari between adalah not between.

Select * from Mahasiswa where Tahun_Ajaran Between 2001 and 2006;

NULL dan NOT NULL
Null menyatakan suatu nilai Null atau kosong, sedangkan Not Null menyatakan nilai Not Null atau tidak kosong .

Select * from Mahasiswa where No_Telepon IS NOT NULL;                                                                                                                                                                                                                                                                                                    

AND
Operator AND berfungsi untuk menentukan bahwa semua kondisi harus dipenuhi untuk menampilkan hasil query.

Select * from Mahasiswa
where Tahun_Ajaran = ‘2005’ and Kode_Jurusan = ‘LB’;                                                                                                                                                                                                                                                                                                    

Data yang akan ditampilkan hasil dari perintah diatas adalah yang memiliki Tahun Ajaran = 2005 dan Kode Jurusan = LB

OR
Operator OR berfungsi untuk menentukan bahwa salah satu kondisi harus dipenuhi.

Select * from Mahasiswa
where Tahun_Ajaran = ‘2005’ or Kode_Jurusan = ‘LB’;                                                                                                                                                                                                                                                                                                    

GROUP BY
Dipergunakan untuk mengelompokan data.

Select kode_jurusan,count(NIM) from Mahasiswa group by kode_jurusan;

Count untuk menghitung jumlah barus dalam per group.







HAVING
Dipergunakan sebagai kondisi atau syarat yang digunakan setelah group by.

select kode_jurusan,count(NIM) from Mahasiswa
group by kode_jurusan
having count(NIM)>1;

ORDER BY
Operator ORDER BY dipergunakan untuk mengurutkan data yang secara default urutannya menaik atau Ascending (ASC). Selain bisa mengurutkan secara Ascending, kita juga bisa mengurutkan data secara menurun atau Descending (DESC).

Select * from Mahasiswa
where Tahun_Ajaran = ‘2005’ and Kode_Jurusan = ‘LB’ order by NIM asc;                                                                                                                                                                                                                                                                                                    

DISTINCT
Ada kalanya, hasil query menampilkan row-row dengan nilai yang sama. Jika nilai yang sama ingin ditampilkan hanya satu kali, maka kita bisa menggunakan operator DISTINCT.

Select distinct(Kode_Jurusan) from Mahasiswa;                                                                                                                                                                                                                                                                                                    

SELECT dari Beberapa Tabel
Sebelumnya kita sudah melakukan perintah select dengan satu tabel. Sekarang kita akan mencoba perintah select dengan tabel lebih dari satu. 
Dalam salah satu kasus kita akan menampilkan nama jurusan berdasarkan data kode jurusan yang terdapat dalam tabel Mahasiswa. Dalam tabel mahasiswa tidak terdapat nama jurusan, untuk memperoleh nama jurusan kita perlu melakukan pengambilan atau penggabungan data dengan tabel Jurusan dengan kolom kode jurusan sebagai kunci.

Select Mahasiswa.NIM, Mahasiswa.Nama, Jurusan.Nama_Jurusan from Mahasiswa,Jurusan where Mahasiswa.kode_jurusan = Jurusan.kode_jurusan;                                                                                                                                                                                                                                                                                                    

Dalam perintah diatas bisa dipergunakan perintah alias untuk menggantikan nama objek sebenarnya. Seperti contoh dibawah ini :

Select Mhs.NIM, Mhs.Nama, Jrs.Nama_Jurusan from Mahasiswa Mhs,Jurusan Jrs where Mhs.kode_jurusan = Jrs.kode_jurusan;                                                                                                                                                                                                                                                                                                    

Perintah diatas mengaliaskan nama tabel Mahasiswa menjadi Mhs dan Jurusan menjadi Jrs. Selain mengaliaskan nama tabel kita juga bisa mengaliaskan kolom dengan menggunakan perintah AS.

Select Mhs.NIM, Mhs.Nama, Jrs.Nama_Jurusan,
Mhs.Tempat_Lahir+’, ’+cast(Mhs.Tanggal_Lahir as varchar) AS TTL
from Mahasiswa Mhs,Jurusan Jrs
where Mhs.kode_jurusan = Jrs.kode_jurusan;                                                                                                                                                                                                                                                                                                    

dalam perintah diatas terdapat perintah cast yang berfungsi untuk mengkonversi tanggal lahir dengan tipe data datetime menjadi varchar agar dapat di gabungkan dengan kolom tempat lahir yang sebelumnya bertipe varchar menjadi sebuah kolom yang nama aliasnya TTL.

3. UPDATE
Perintah update dipergunakan untuk melakukan perubahan data yang sudah disimpan. Perintahnya adalah :

Update Mahasiswa set Nama = ‘Aming Surya Praja’ where NIM =’10113025’;                                                                                                                                                                                                                                                                                                    

4.     DELETE
Perintah DELETE dipergunakan untuk menghapus data dalam tabel.

Delete from Mahasiswa where NIM =’10113025’;                                                                                                                                                                                                                                                                                                    


No comments:

Post a Comment