Selasa, 25 September 2012

Syntax SQL server


waw.. baik lah... ini tulisan ketiga saya.. heheh bahasannya masih seputar SQL, tepatnya Syntax SQL
dan di bawah ini adalah beberapa syntax untuk SQL :

1. Perintah Select

Perintah select adalah perintah yang digunakan untuk memanggil data yang ada di dalam table. Syntax nya adalah : SELECT field-1, field-2, .... field-n FROM namatabel
Contoh :
ada 3 data dari tabel mahasiswa berupa nim, nama
data-1 : | 10102214 | Udin |
data-2 : | 10102215 | Adin |
data-3 : | 10102216 | Joko |

dengan menggunakan perintah "Select * From mahasiswa" maka akan didapatkan data2 tersebut,
| 10102214 | Udin |
| 10102215 | Adin |
| 10102216 | Joko |

2. Klausa Where

Where dipake untuk menyaring data dalam syntax/command SQL yg kita punya.
Syntax : <arguments> WHERE <arguments> <operator> <arguments>
Tabel operator yang dapat digunakan :
>              Lebih besar
<              Lebih kecil
>=           Lebih besar sama dengan
<=           Lebih kecil sama dengan
=              Sama dengan
<>           Tidak sama dengan
Between x and y              Antara x dan y
Like        Seperti... bla bla bla... (dengan / mengandung format tertentu)
Is Null   Kosong / Tidak memiliki nilai
In            Nilai berada di dalam tanda ( dan tanda )

3. Klausa Where Lanjutan

ini dia contoh-contoh pemakaian operator pembanding tersebut dalam query :
1. Ambil data "barang" yang "jml" nya lebih dari 20
     SQL = " SELECT * From barang WHERE jml > 20 "

2. Ambil data "nilai_mhs" yang "nilai" nya kurang dari 60
     SQL = " SELECT * From nilai_mhs WHERE nilai < 60 "

3. Ambil data "barang" yang "jml" nya lebih besar sama dengan 20
     SQL = " SELECT * From barang WHERE jml >= 20 "

4. Ambil data "nilai_mhs" yang "nilai" nya lebih kecil sama dengan 60
      SQL = " SELECT * From nilai_mhs WHERE nilai <= 60 "

5. Hapus data "mahasiswa" yang memili "NIM" sama dengan "10104422"
      SQL = " DELETE * From mahasiswa WHERE NIM = '10104422' "

6. Ambil data "barang" yang "nama_barang" nya mengandung kata "Ice"
      SQL = " SELECT * From barang WHERE nama_barang like '%Ice%' "

7. Ambil data "barang" yang "kode_brg" nya berawalan "C"
      SQL = " SELECT * From barang WHERE kode_brg like 'C%' "

8. Ambil data "barang" yang "kode_brg" nya berakhiran '2008'
      SQL = " SELECT * From barang WHERE kode_barang like '%2008' "

9. Ambil data "barang" yang "jml" nya bernilai null
      SQL = " SELECT * From barang WHERE jml is null "

10. Ambil data "mahasiswa" yang "usia" nya antara 17 - 19tahun
         SQL = " SELECT * From mahasiswa WHERE usia >=17 and usia<=19 "

Klausa Order By
    klausa ini dipakai untuk mengurutkan data berdasarkan sesuatu / field.
    Order by ini secara defaultnya bersifat ascending.
      ada 2 buah variable lain yg dapat diikut serta kan, yakni ASC dan DESC.
    -ASC untuk mengurutkan data dari yang bernilai kecil hingga ke data yang bernilai besar
    -DESC untuk mengurutkan data dari yang bernilai besar hingga ke data yang bernilai kecil

Syntax : <arguments> ORDER BY <field> <asc> / <desc>
berikut adalah data mahasiswa pada contoh penggunaan select dapat dilakukan :

1. "SELECT * From mahasiswa ORDER BY NIM desc"
     hasilnya adalah :
| 10102216 | Joko |
| 10102215 | Adin |
| 10102214 | Udin |
2. "SELECT * From mahasiswa ORDER BY nama asc"
     hasilnya adalah :
| 10102215 | Adin |
| 10102216 | Joko |
| 10102214 | Udin |

4. Aritmethic Function

     Fungsi - fungsi aritmetika yang dapat dijalankan pada suatu SQL
     Contoh : data awal berupa NIM, Nama Lengkap, Nilai
| 10103241 | Adin |80|
| 10103287 | Joko |85|
| 10103214 | Udin |75|

Beberapa eksekusi / function yang ada di T-SQL :

1. Sum : menjumlahkan suatu field
      syntax : "select sum(Nilai) from mahasiswa"
      result : 240

2. Max : mengambil data terbesar
       syntax : "select max(Nilai) from mahasiswa"
       result : 85

3. Min : mengambil data terkecil
       syntax : "select sum(Nilai) from mahasiswa"
       result : 75

4. Avg : menghitung nilai rata-rata
       syntax : "select avg(Nilai) from mahasiswa"
       result : 80

5. Count : menghitung banyak record
      syntax : "select count * from mahasiswa"
      result : 3

5. Klausa Alternatif

     - Group by : mengelompokkan pemanggilan data, biasanya dilakukan untuk mengelompokkan
                        hasil kalkulasi pada fungsi aritmetika sebelumnya.
        contoh : "SELECT kode_brg, SUM(jml) as total FROM penjualan GROUP BY kode_brg"

     - Distinct : membuang data yang sama (saat view mode)
        contoh tanpa distinct : A0001, A0001, A0002, A0003, A0002
        dengan distinct : "SELECT DISTINCT kode_brg FROM penjualan" maka hasil = A0001, A0002,
        A0003

6. Insert Command

      Insert disini berarti menambahkan sebuah record baru ke dalam tabel / database yang telah ada.
Ada 3 buah alternatif untuk melakukan perintah ini, yakni :
1. Alternatif 1 : mengikutsertakan nama field yang ada pada tabel

       "Insert into mahasiswa (NIM, Nama_Lengkap, Nilai) values ('10104417', 'Kurnia Hidayat', 80)"
       Hasilnya adalah
       | NIM         | Nama_Lengkap | Nilai |
       | 10104417 | Kurnia Hidayat  | 80   |

       "Insert into mahasiswa (NIM, Nama_Lengkap) values ('10104427', 'Ogan Sukmawan')"
        Hasilnya adalah
        | NIM         | Nama_Lengkap   | Nilai    |
        | 10104427 | Ogan Sukmawan | <null> |

2. Alternatif 2 : tidak mengikutsertakan nama field yang ada pada tabel
    (syaratnya adalah value sama dengan jumlah fieldnya)

        "Insert into mahasiswa values ('10104422', 'Ekky Patria Kencana', 85)"
        Hasilnya adalah sukses :
        | NIM         | Nama_Lengkap         | Nilai |
        | 10104422 | Ekky Patria Kencana  | 85   |

       "Insert into mahasiswa values ('10104422', 85)"
         Hasilnya adalah ERROR karena jumlah inputan tidak sama dengan jumlah field
       yang terdapat pada tabel.

3. Alternatif 3 : menyalin data dari table yang memiliki field / attribut yang sama dengan field yang akan disalin
    (minimal sama dari type field nya)

       "Insert into mahasiswa select * from mhs"
         Hasilnya adalah semua data yang ada di table mhs akan dimasukkan ke table mahasiswa

7. Update Command

Perintah update berarti mengubah isi field dari sebuah tabel.

Misalkan semua kuantitas barang yang ada di tabel master barang hendak direset / diubah menjadi 0,
maka dapat dilakukan dengan perintah :
     " Update msbarang set qty=0 "

Selain itu, kita juga dapat meng-update beberapa field sekaligus dengan perintah :
     " Update msbarang set qty=0, min_qty=5 "

Masih ada beberapa hal lainnya yang dapat kita lakukan dengan update data.
Seperti update data dengan situasi tertentu (misal kode_brg = 'A0001' lalu update harga jual menjadi 10000)
     " Update msbarang set harga_jual = 10000 where kode_brg = 'A0001' "

8. Delete Command

 Perintah delete berarti menghapus isi field dari sebuah tabel.

 Misalkan semua barang yang ada di tabel temporary barang hendak dihapus,
 maka dapat dilakukan dengan perintah :
      " Delete * from temp_barang"

 Masih ada beberapa hal lainnya yang dapat kita lakukan dengan delete data.
 Seperti delete data dg situasi tertentu
 (misal hapus semua record pada tabel barang dg kode_brg = 'A0001')
      " Delete * from barang 10000 where kode_brg = 'A0001' "

jadi kurang lebih begitu, cukup panjang juga heheheh... semoga tulisan saya ini dapat bermanfaat... so tetap semngat...

Minggu, 16 September 2012

My SQL Server

Ini postingan kedua saya... dan bahasannya adalah sedikit tentang sejarah My SQL Server.
jadi My SQL Server adalah sebuah RDBMS (relational data basic management system = sistem manajemen basis data relasional) yang diproduksi Microsoft. database engine yang satau ini biasanya digunakan dalam dunia bisnis. awalnya hanya di gunakan dalam bisnis dengan basis data berskala kecil, namun pada perkembangannya My SQL server digunakan pada basis data berskala besar.

sejarah My SQL server
pada awal kemunculannya pada tahun 1988 SQL server buatan microsoft ini didesain unruk platform OS/2, dan developernya dalah microsoft dan Sybase. kemudian miscrosoft membuat versi baru SQL server untuk platform NT pada tahun 1990an. pada tahun 1993  microsoft merilis SQL server 4.3 untuk NT bersamaan dengan windows NT 3.1
target microsoft untuk membuat kombinasi antara performa database tinggi, kemudaha penggunaan, dan admisnistrasinya telah tercapai dengan dibuatnya database engine ini, dan SQL server buatan microsoft ini pun menjadi database yang terkenal.
namun pada tahun 1994 microsoft dan sybase mengakhiri masa kerjasamanya. 
tahun 1995 microsoft merilis versi redesain dan tulis ulang dari technologi versi yang sebelumnya, yaitu SQL server 6.0, dalam SQL 6.0 ini menawarkan peningkatan performa, built in replicaton, serta administrasi yang tersentralisasi.
tahun 1997 microdoft merilis SQL server 6.5 enterprise edition yang memiliki berbagai macam tambahan dan fitur baru, dan pada tahu 1998 microsoft merilis SQL server 7.0, dan pada tahun 2000, microsoft merilis SQL server 2000 yang berbasis data framework yang sama pada versi 7.0
dan setelah itu microsoft masih terus melanjutkan pengembangan untuk My SQL server.

Keistimewaan MySQL
Sebagai database server yang memiliki konsep database modern, MySQL memiliki banyak sekali keistimewaan. Berikut ini beberapa keistimewaan yang dimiliki oleh MySQL:
a. Portability
MySQL dapat berjalan stabil pada berbagai OS seperti Windows, Linux, Unix, Mac OS, Solaris, Unix, Amiga, HP-UX, Symbian.
b. Open Source "limited"
Dahulu MySQL didistribusikan secara open source (gratis), dibawah lisensi GPL sehingga kita dapat menggunakannya secara cuma-cuma tanpa dipungut biaya. Namun, saat ini karena MySQL telah dibeli oleh SUN, maka kita tidak dapat lagi menikmati fitur-fitur baru yang ada di MySQL, karena SUN akan membatasi fitur-fitur baru ini hanya untuk user yang membeli lisensinya. Sehingga MySQL tidak lagi sebuah opensource yang benar-benar gratis lagi. MySQL sekarang hanya menyediakan fitur-fitur "dasar" saja yang saat ini sudah menggunakan versi 5.1. Untuk mendownloadnya silahkan download di sini dan dicari versi MySQL dengan OS kita.
c. Multiuser
MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami konflik. Hal ini memungkinkan sebuah database server MySQL dapat diakses klien secara bersamaan.
d. Performance Tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
e. Column Types
MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsigned integer, float, double, char, varchar, text, blob, date, time, datetime, timestamp, year, set serta enum.
f. Command dan Functions
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query.
g. Security
MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi.
h. Scalability dan Limits
MySQL ammpu menangani database dalam skala besar dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu, batas index yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
i. Connectivity
MySQL dapat melakukan koneksi dengan klien menggunakan TCP/IP, Unix soket (Unix), atau Named Pipes (NT).
j. Localisation
MySQL dapat mendeteksi pesan kesalahan (error code) pada klien dengan menggunakan lebih dari dua puluh bahasa.
k. Interface
MySQL memiliki interface terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
l. Clients dan Tools
MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online.
m. Struktur Tabel
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE dibandingkan database lainnya.

cukup sekian tulisan saya... semoga bermanfaat bagi anda sekalian...

Selasa, 11 September 2012

Distributed Database

Baiklah.. kita mulai dengan pengertian Distributed Database.Kurang lebih pengertian distributed database adalah database yang perangkat penyimpanannya tidak secara keseluruhan terpasang ke unit pengolahan pada umumnya semisal CPU. Distributed Database ini dapat di simpan dalam beberapa komputer yang terletak di tempat yang sama, atau juga pada jaringan yang terhubung melalui internet.berbeda dengan sistem paralel yang merupakan sebuah sistem data tunggal, sistem Distributed database ini terdiri situs-situs yang terbagi dan tidak memiliki komponen fisik.kumpulan data dapat didistribusikan dalam berbagai lokasi yang berfisik, kumpulan data tersebut bisa saja berada di jaringan server di internet, di intranet sebuah perusahaan (extranet), atau pada jaringan perusahaan lain.

Para pengguna mengakses Distributed database melalui dua cara, yaitu :

Local Application

yaitu aplikasi yang tidak memerlukan data dari situs lainnya

Global Application

yaitu apliaksi yang harus menggunakan data dari situs lainnya

Terdapat kelebihan dan kekurangan dalam Distributed database, antara lain :

Kelebihan

Distributed database yang tersimpan dalam beberapa sistem di satu lokasi akan menunjukkan struktur organisasi yang kuat. database akan disimpan dalam suatu departemen yang berhubungan dengan mereka. sistem Distributed database akan melindungi data-data yang penting dan berharga dari suatu kejadian yang tak terduga, misalnya kebakaran atau bencana alam. karena data-data tersebut tersebar lokasi, sehingga resiko rusaknya data sangat lah kecil

Kekurangan

kelemahan database ini terletak pada monitoring dan pemeliharaan sistemnya yang membutuhkan pengerjaan yang berat, yang diakibatkan oleh database yang didistribusikan komputer-komputer yang lebih kecil.
selain itu penjagaan transparansi yang membutuhkan infrastruktur, yang tentu saja membutuhkan biaya tambahan.

Nah.. demikian beberapa uraian tentang Distributed Database yang dapat saya tulis setelah membaca dari beberapa referensi. semoga bermanfaat.