Powered By Blogger

Selasa, 13 September 2011

SQL Server


 SQL SERVER
 
Microsoft SQL Server adalah sebuah alat manajemen basis data relasional (RDBMS) produk dari perusahaan raksasa Microsoft. Pada awalnya SQL server di ciptakan hanya untuk database berskala kecil namun seiring berkembangnya jaman, maka microsoft menciptakan SQL server untuk berskala besar. Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan memliki driver JDBC untuk bahasa pemrograman Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering


Tutorial Dasar SQL

Fungsi paling dasar dari SQL adalah untuk menampilkan data dari database. Data tersebut selanjutnya dapat difilter dan dimanipulasi sesuai kebutuhan aplikasi.
Perintah perintah dalam SQL terbagi dalam 2 kelompok besar :
  •          Data Manipulation Language 
  •      Data Definition Language
Data Definition Language :

Menampilkan Data dengan Statement SELECT
Syntax paling dasar untuk mengambil data dari database adalah sebagai berikut :

SELECT column
FROM table

untuk contoh, yang menggunakan tabel Customers.

SELECT CustomerID, CompanyName
FROM Customers

Maka akan tampil kolom sebagai berikut:

CustomerID    CompanyName                          
----------    ------------------------------
ALFKI          Alfreds Futterkiste
ANATR          Ana Trujillo Emparedados y helados
ANTON          Antonio Moreno Taquería
AROUT          Around the Horn
BERGS          Berglunds snabbköp
BLAUS          Blauer See Delikatessen Hanna
BLONP          Blondesddsl père et fils
BOLID          Bólido Comidas preparadas
BONAP          Bon app'

Untuk menampilkan semaua kolom tidak perlu untuk mengetikkan satu persatu nama kolom, melainkan hanya perlu mengetikkan * (asterisk)

Contoh: SELECT * from Customers

Maka akan ditampilkan seluruh kolom dari table Customers yang berjumlah 11 kolom

Filter Data dengan WHERE
Perintah SELECT dan FROM diatas hanya membatasi jumlah kolom yang ditampilkan saja, sedangkan jumlah baris yang dihasilkan tidak dibatasi. Klausa WHERE digunakan untuk menentukan kriteria RECORD yang ditampilkan. Syntax umumnya adalah sebagai berikut :

SELECT columns
FROM tables
WHERE Conditions

Bila di aplikasikan:

SELECT CustomerID, CompanyName, ContactName
FROM Customers
WHERE CustomerID = 'ALFKI'

Query di atas akan menampilkan:

CustomerID CompanyName            ContactName
---------- ----------------------  ----------------
ALFKI     Alfreds Futterkiste     Maria Anders
(1 row(s) affected)


Sortir Data dengan ORDER BY
ORDER BY digunakan untuk mengurutkan hasil pencarian data. Secara default data yang ditampilkan disortir berdasarkan urutan masuknya data ke dalam tabel. Dengan menggunakan ORDER BY dapat mengurutkan berdasarkan kolom tertentu yang dikehendaki.

Bila diperhatikan perintah SQL diatas maka data yang dihasilkan telah diurutkan  berdasarkan kolom CustomerID. Hal ini dapat dirubah dengan mengurutkan berdasarkan kolom ContactName dengan perintah berikut :

SELECT CustomerID, CompanyName, ContactName
FROM Customers
ORDER BY ContactName

Sehingga menampilkan :

CustomerID    CompanyName             ContactName
----------    --------------------     -----------------
ROMEY          Romero y tomillo        Alejandra Camino
MORGK          Morgenstern Gesundkost Alexander Feuer
ANATR          Ana Trujillo Emparedados Ana Trujillo
TRADH          Tradição Hipermercados Anabela Domingues
GOURL          Gourmet Lanchonetes     André Fonseca
EASTC          Eastern Connection      Ann Devon
LAMAI          La maison d'Asie        Annette Roulet

Terlihat bahwa data telah diurutkan berdasarkan ContactName secara ascending (dari a ke z). Hal tersebut dapat dibalik urutan menjadi dari z ke a dengan merubah klausa ORDER BY menjadi seperti berikut :

ORDER BY ContactName desc

Secara default urutan isi kolom adalah ascending.

Cari yang Mirip dengan LIKE
Apabila WHERE menfilter data berdasarkan kriteria tertentu yang sudah pasti, maka LIKE digunakan untuk memberikan kriteria yang tidak pasti.
Misalkan mencari nama produk yang dimulai dengan huruf c maka digunakan perintah berikut :

SELECT ProductID, ProductName
from Products
WHERE ProductName LIKE 'c%'

Tanda % setelah huruf c tersebut, yang dapat diartikan sebagai :
semua yang dimulai dengan c.

Tampilan dari perintah tersebut adalah :

ProductID     ProductName
-----------   -------------------------
60             Camembert Pierrot
18             Carnarvon Tigers
1              Chai
2              Chang
39             Chartreuse verte
4              Chef Anton's Cajun Seasoning
5              Chef Anton's Gumbo Mix
48             Chocolade
38             Côte de Blaye
(9 row(s) affected)

Membuat Alias dengan AS
Dalam contoh perhitungan dengan SQL diatas banyak digunakan keyword AS unutuk memberikan nama kolom. Fungsi AS tersebut adalah memberikan alias terhadap hasil perhitungan sehingga lebih mudah dibaca. Apabila suatu perhitungan tidak disertakan alias menggunakan AS maka kolom hasil perhitungan tersebut menjadi tidak dikenal. Perhatikan contoh berikut :

SELECT ProductID, (UnitPrice * Quantity)
FROM [Order Details]

Maka kolom hasil perkalian tidak memiliki nama sebagaimana hasil berikut :

ProductID
-----------   ----------
11            168.0000
42            98.0000
72            174.0000
14            167.4000
51            1696.0000
41            77.0000

Melakukan Perhitungan
Selain mengambil data dari database, dapat juga melakukan berbagai perhitungan terhadap data tersebut. Berbagai fungsi yang dapat dilakukan adalah penjumlahan, perkalian, pembagian dan pengurangan.
Simbol-simbol yang digunakan adalah sebagai berikut :
·         * Perkalian
·         / Pembagian
·         + Penjumlahan
·         - Pengurangan

Contoh:
Misalkan tiap produk dikenakan diskon sebesar 10% dan ingin menampilkan harga setelah diskon, maka perintahnya adalah sebagai berikut :

SELECT ProductID, (UnitPrice * Quantity) as TotalHarga,
(UnitPrice * Quantity) * 0.1 as Diskon,
(UnitPrice * Quantity) * (1 - 0.1) as HargaDiskon
FROM [Order Details]

Diskon 10% adalah sama dengan 0.1, sehingga angka tersebut digunakan dalam kode program.
Hasil perhitungannya adalah :

ProductID TotalHarga    Diskon         HargaDiskon
--------- -----------    --------          -----------
11        168.0000      16.80000      151.20000
42        98.0000       9.80000        88.20000
72        174.0000      17.40000      156.60000
14        167.4000      16.74000      150.66000
51        1696.0000     169.60000     1526.40000
41        77.0000       7.70000        69.30000
51        1484.0000     148.40000     1335.60000

Fungsi SUM
Fungsi ini menjumlahkan nilai kolom tertentu yang telah dikelompokkan menurut kriteria tertentu. Misalnya ingin menghitung jumlah-jumulah barang yang terjual untuk kategori produk tertentu yang terdapat di tabel Order Details pada database NorthWind.

SELECT SUM(Quantity) as kuantitas from [Order Details]
WHERE ProductID = 11

Maka dihasilkan output sebagai berikut :

kuantitas
-----------
706
(1 row(s) affected)

Fungsi COUNT
Untuk menghitung frekuensi pemunculan suatu data, digunakan fungsi COUNT. Sebagaimana fungsi SUM, maka COUNT hanya dapat digunakan apabila data tersebut telah ditentukan kriterianya dengan klausa WHERE. Misalkan ingin menghitung jumlah Customer yang terdapat di negara France. Tabel yang digunakan adalah tabel Customers.

SELECT COUNT (CustomerID) as total from Customers
WHERE Country = 'France'

Fungsi AVG
Fungsi ini hanya dapat digunakan untuk tipe data numeric, sebagaimana fungsi SUM. AVG menghitung rata-rata
sekumpulan data yang telah ditentukan kriterianya menggunakan WHERE.

SELECT AVG(Quantity) as Rataan from [Order Details]
WHERE ProductID = 11

Fungsi MIN dan MAX
Untuk mencari nilai maksimum dan minimum dari sekumpulan data dapat menggunakan fungsi MIN dan MAX. Misalkan ingin mencari jumlah barang yang paling banyak terjual maka dijalankan perintah berikut :

SELECT MAX(Quantity) as maximum from [Order Details]

Klausa GROUP BY
Fungsi agregat yang telah dijelaskan sebelumnya hanya menampilkan satu baris hasil. Sering dibutuhkan untuk menampilkan rangkuman hasil perhitungan beberapa kelompok data dalam satu kali tampilan. Misalnya ingin menghitung rata-rata dan jumlah produk yang terjual untuk setiap jenis produk. Untuk melakukan ini digunakan klausa GROUP BY yang berfungsi mengelompokkan data yang memiliki kriteria sama. Dengan demikian dapat dihasilkan suatu rangkuman hasil perhitungan untuk tiap kategori data.
Tuliskan kode program berikut :

SELECT ProductID, SUM(Quantity)as Total
from [Order Details]
GROUP BY ProductID

Perintah tersebut akan menghitung jumlah produk yang terjual untuk setiap ProductID dan mengelompokkan
hasilnya berdasarkan ProductID tersebut. Hasil yang didapat sebagai berikut :

ProductID     Total
-----------   -----------
23            580
46            548
69            714
77            791
31            1397
15            122
62            1083

Mencari Data dengan BETWEEN
Keyword BETWEEN digunakan untuk mencari data yang memenuhi interval kriteria tertentu dalam suatu kolom. Biasanya digunakan untuk mencari data berdasarkan interval tanggal tertentu. Penggunaan praktisnya misalnya ingin mencari penjualan yang terjadi antara tanggal 1 Januari 2003 sampai dengan 31 Januari 2003. Keyword BETWEEN digunakan bersamaan dengan interval tanggal tersebut.
Tuliskan baris kode berikut :

SELECT OrderID, CustomerID, OrderDate
FROM Orders
WHERE OrderDate BETWEEN '07/01/1996' AND '07/31/1996'

Kode tersebut mencari data di tabel Orders yang memiliki OrderDate antara tanggal 1 Juli 1996 sampai
dengan 31 Juli 1996. Setelah di run maka hasilnya adalah :

OrderID       CustomerID    OrderDate
-----------   ----------    -----------------
10248         VINET         1996-07-04 00:00:00.000
10249         TOMSP         1996-07-05 00:00:00.000
10250         HANAR         1996-07-08 00:00:00.000
10251         VICTE         1996-07-08 00:00:00.000
10252         SUPRD         1996-07-09 00:00:00.000
10253         HANAR         1996-07-10 00:00:00.000


Data manipulation language:
Proses manipulasi mencakup tambah, menghapus, dan mengedit data. Perintah manipulasi data sangat sering digunakan untuk aplikasi database. Sebuah tabel dapat diisi dengan data, dihapus, maupun diedit datanya. Perintah - perintah tersebut dilaksanakan berdasarkan kriteria tertentu menggunakan keyword WHERE, BETWEEN maupun LIKE.

Statement INSERT
Untuk mengisikan data ke dalam suatu tabel digunakan perntah INSERT yang memiliki  syntax umum sebagai berkut :

INSERT table (kolom)
VALUES (value)

Misalnya untuk mengisikan data customer baru dituliskan perintah berikut :

INSERT Customers (CustomerID, CompanyName, ContactName)
VALUES ('MJMR', 'Majumundur', 'Aryo')

Perintah tersebut mengisikan data di tabel Customers untuk tiga kolom yaitu CustomerID, CompanyName dan ContactName. Sedangkan kolom lain yang tidak diisi maka terisi dengan nilai default sesuai dengan desain tabelnya. Apabila desain tabelnya tidak mengijinkan nilai NULL maka harus mengisikan nilainya dalam perintah INSERT tersebut. Apabila menampilkan data tabel Customers maka tampak data yang telah diisikan tersebut sebagai berikut :

CustomerID    CompanyName        ContactName
-------------------------------   -----------------
MAISD         Maison Dewey       Catherine Dewey MEREP Mère
Paillarde     Jean Fresnière
MJMR          Majumundur         Aryo
MORGK         Morgenstern Gesundkost  Alexander Feuer


Statement DELETE
Statement DELETE merupakan kebalikan perintah INSERT. Perintah ini menghapus data yang terdapat di suatu tabel. Data dihapus per record atau per baris berdasarkan kriteria tertentu. Penentuan kriteria record mana yang akan dihapus bisa dilakukan dengan menggunakan klausa WHERE. Misalkan ingin menghapus data semua customer yang berada di negara France.
Syntax umum statement ini adalah sebagai berikut :

DELETE FROM nama_tabel
WHERE kondisi

Untuk menghapus data customer yang berasal dari Mexico di tabel Customers maka perintahnya adalah :

DELETE FROM Customers
where Country= 'Mexico'

Menghapus Seluruh Tabel
Apabila ingin mengosongkan tabel dan menghapus semua data yang ada di dalamnya maka digunakan perintah DELETE tanpa menggunakan kondisi WHERE.
Contoh untuk mengosongkan isi tabel Products :

DELETE Products

Perintah diatas hanya mengosongkan seluruh isi tabel saja, tetapi tidak menghapus tabelnya.


Statement UPDATE
Apabila akan melakukan perubahan data pada tabel gunakan perintah UPDATE. Perintah ini juga menggunakan kondisi tertentu dengan kondisi WHERE sebagaimana perintah DELETE.
Syntax umum statement UPDATE adalah sebagai berikut :

UPDATE table_name
SET Column1 = Value1, Column2 = Value2, …..
WHERE condition   

Tidak ada komentar: