Copyright © OnMode
Design by Dzignine
Selasa, 29 Juli 2014

Fungsi-Fungsi dallam SQL watch and learn


1.1      Pendahuluan
Suatu database adalah sebuah struktur yang umumnya dikategorikan dalam 2 hal yaitu sebuah database flat dan sebuah database relasional. Database relasional lebih disukai karena lebih masuk akal dibandingkan database flat. MySQL adalah sebuah database relasional.
Pada database yang memiliki struktur relasional, ada tabel-tabel yang menyimpan data. Setiap tabel terdiri dari kolom dan baris. Sebuah kolom mendefinisikan jenis informasi apa yang akan disimpan. Kita memerlukan kolom khusus untuk setiap jenis informasi yang ingin kita simpan. Baris adalah data aktual yang disimpan. Setiap baris dari tabel adalah masukan dari tabel tersebut dan berisi nilai-nilai untuk setiap kolom tabel tersebut.
My SQL merupakan database yang mendukung RDBMS (Relational Database Management System). Sebagai database yang mendukung RDBMS, database ini terbukti telah banyak digunakan dalam berbagai kebutuhan pendokumentasian data. MySQL merupakan database server yang juga dapat berjalan sebagai Client. Dengan kemampuan tersebut, database ini mampu berjalan padasistem jaringan, baik lokal mauopun WAN (internet). Saat ini database MySQL banyak digunakan untuk membuat aplikasi-aplikasi berbasis online seperti web.
1.2   Fungsi Sistem
Kelompok fungsi sistem adalah kelompok fungsi yang memberikan informasi tentang pemakaian server database oleh pemakai. Kelompok fungsi ini terdiri atas :
§  CURRENT_USER ( )
menghasilkan kombinasi nama user dan nama host pada sesi saat ini yang terautentifikasi. Hasil output dapat berbeda dari nilai USER ().
§  DATABASE ( )
 menampilkan nama database yang sedang digunakan.
§  VERSION ( )
menampilkan versi MySQL yang sedang aktif.
§  LAST_INSERT_ID( )
digunakan untuk menampilkan informasi data yang telah dihasilkan (di-generate) oleh MySQL pada kolom yang menggunakan tipe data AUTOINCREMENT.

§  SESSION_USER( )
digunakan untuk menampilkan informasi pemakain yangsedang melakukan akses ke dalam server MySQL saat ini. Fungsi ini kadang digunakan oleh seorang pemakai., untuk mengetahui siapa saja yang sedang login ke dalam MySQL pada suatu terminal yang sedang ditinggalkan oleh pemakai lain, atau kadang juga kita ingin tahu kita sedang mengakses MySQL dengan nama pemakai yang mana, akrena kita memiliki banyak nama pemakai yang berbeda-beda privilegenya demi keamanan

§  SYSTEM USER( )
fungsi ini sama dengan fungsi SESSION_USER( ).

§  USER( )
fungsi ini sama dengan fungsi SYSTEM_USER( ) dan  SESSION_USER( ).
               
  
§  BENCHMARK(count, ekspresi)
mengerjakan perintah pada ekspresi sejumlah count kali. Nilai yang dihasilkan selalu 0. Hal penting dari fungsi ini adalah nilai waktu yang digunakan (elapsed time) yang diberikan pada bagian akhir, memungkinkan kita menilai berpaa cepat server mengevaluasi query. Berikut ini contoh tampilan fungsi benchmark untuk mengetahui kecepatan 10 kali perintah select * from pinjaman.

§  LOAD_FILE(namafile)
digunakan untuk membuka file dan memberikan isinya sebagai string. File harus ada di dalam server, dan pemakai untuk menggunakan fungsi ini harus memiliki privilege FILE
1.2 Fungsi Agregat
                Fungsi ini ini sekilas seperti fungsi numerik, tetapi sebenarnya secara mendasar fungsi ini berbeda dari fungsi aritmetika. Fungsi agregat adalah fungsi standar di dalam SQL, suatu fungsi yang digunakan untuk melakukan summary, merupakan fungsi statistik standar yang dikenakan pada suatu tabel atau query. Fungsi aritmetika berhubungan langsung dengan manipulasi aritmetika.
§  AVG [statement / field]
untuk menghitung nilai rata-rata. Menghasilkan nilai NULL jika tidak ada row yang sesuai
Sintak :
SELECT AVG(nama_kolom) FROM nama_tabel
[WHERE]
Contoh :
SELECT AVG (SKS) FROM Mata_Kuliah
§  COUNT [statement / field]
untuk menghitung jumlah baris. Menghasilkan nilai NULL jika tidak ada row yang sesuai
Sintak :
SELECT COUNT nama_kolom FROM nama_tabel
[WHERE]
Contoh :
SELECT COUNT (*) FROM mahasiswa
SELECT COUNT (SKS) FROM Mata_Kuliah
§  SUM [statement / field]
untuk menghitung jumlah nilai untuk data type numerik. Menghasilkan nilai NULL jika tidak ada row yang sesuai
SELECT SUM (nama_kolom) FROM nama_tabel
[WHERE = Kondisi]
Contoh :
SELECT SUM (SKS) FROM Mata_Kuliah
§  MIN [statement / field]
untuk menghitung nilai minimum untuk data type numerik. Menghasilkan nilai NULL jika tidak ada row yang sesuai
Sintak :
SELECT MIN nama_kolom FROM nama_tabel
[WHERE]
Contoh :
SELECT MIN (SKS) FROM Mata_Kuliah
§  MAX [statement / field]
untuk menghitung nilai maksimum untuk data type numerik. Menghasilkan nilai NULL jika tidak ada row yang sesuai
Sintak :
SELECT MAX nama_kolom FROM nama_tabel
[WHERE]
Contoh :
SELECT MAX (SKS) FROM Mata_Kuliah

§  STD [statement / field] dan STDDEV [satement / field]
digunakan untuk mendapatkan standar deviasi dari data suatu kolom dalam tabel. Ekspresi umumnya menyatakan kolom suatu tabel dengan tiep datanya numerik.  ]


1.3 Fungsi Numerik
                MySQL memiliki fasilitas dasar untuk melakukan manipulasi data numerik, seperti penjumlahan, pengurangan, perkalian, dan pembagian, yang disertakan dalam suatu perintah select. Fasilitas tersebut dikenal dengan operator aritmetika. Fungsi numerik  terdiri dari operator aritmatika dan fungsi matematis. Operator aritmatik terdiri dari : + (penambahan), - (pengurangan), * (perkalian), / (pembagian) dan div (sisa pembagian). Sedangkan fungsi matematis terdiri dari SQRT, CEILING, FLOOR, dll.
1.3.1 Fungsi Aritmetika
§  Penjumlahan (+)
digunakan untuk menjumlahkan dua buah data numerik, hasil dari operasi ini adalah data numerik juga.
§  Pengurangan (-)
digunakan untuk melakukan operasi pengurangan dua buah data numerik, bilangan yang di sebelah kiri dikurangi dengan bilangan yang di sebelah kanan, bil1 – bil2. Hasil dari opeasi ini adalah data numerik.
§  Perkalian (*)
digunakan untuk melakukan operasi pembagian dua data numerik. Bilangan di sebelah kiri dikali dengan bilangan yang ada di sebelah kanan operator, hasil dari operasi ini adalah data numerik.
§  Pembagian (/)
Digunakan untuk melakukan operasi pembagian dua data numerik. Bilangan di sebelah kiri dibagi dengan bilangan yang ada di sebelah kanan operator, hasil dari operasi ini adalah data numerik.
§  Pembagian Sisa (%)
digunakan untuk mendapatkan sisa pembagian dari suatu operasi pembagian, bilangan di sebelah kiri dibagi dengan bilangan yang di sebelah kanan, sisa dari hasil pembagian ini yang menjadi hasil dari operasi ini disebut modulus.

             
1.3.2 Fungsi Matematis
§  SQRT
Untuk mencari akar dari niai tertentu.
Contoh :
SELECT SQRT (100)
§  CEILING
 Untuk pembulatan ke atas dari angka decimal
Contoh :
SELECT CEILING (25.25)
Keterangan : Akan menghasilkan nilai 26
§  FLOOR
 Untuk pembulatan ke bawah dari angka decimal
Contoh :
SELECT FLOOR (25.25)
Keterangan : Akan menghasilkan nilai 25
§  ABS (value)
Menghasilkan absolut dari value.
§  SIN (radian)
Menghasilkan sinus dari radian.
§  COS (radian)
Menghasilkan cosinus dari radian.
§  TAN (radian)
Menghasilkan tangen dari radian.
§  ASIN (value)
Menghasilkan radian dari sinus suatu value.
§  ACOS (value)
Menghasilkan radian dari cosinus suatu value.
§  ATAN (value)
Menghasilkan radian dari tangen suatu value.
§  LOG (value)
Menghasilkan natural logaritma dari value.
§  LOG10 (value)
Menghasilkan logaritma berbasis 10 dari value.
§  SQUARE (value)
Menghasilkan kuadrat dari value.
§  SQRT (value)
Menghasilkan akar kuadrat dari value.
§  EXP (value)
Menghasilkan exponensial dari value.
§  POWER (X, Y)
Menghasilkan XY.
§  SIGN (value)
Mengecek apakah value adalah bilangan positif, negatif, atau nol.
§  PI
Menghasilkan bilangan 22/7.
Contoh penggunaan operator aritmetika dalam MySQL :
SELECT Square (UnitPrice) FROM Order Detail
SELECT Sqrt (UnitPrice) FROM Order Detail
SELECT Ceiling (UnitPrice) FROM Order Detail
SELECT Floor (UnitPrice) FROM Order Detail
SELECT Round (UnitPrice, 2) FROM Order Detail
1.4 Fungsi String
                Fungsi string digunakan untuk melakukan manipulais data teks (string). MySQL menyediakan banyak fungsi built-in untuk melakukan manipulasi teks ini. Berikut adalah daftar fungsi string yang telah disediakan :
§  LEN (string)
Menghasilkan panjang dari string.
§  LOWER (string)
Mengubah string menjadi huruf kecil.
§  UPPER (string)
Mengubah string menjadi huruf besar / kapital.
§  LEFT (string, value)
Menghasilkan substring dari string sebanyak value karakter dari sisi kiri.
§  RIGHT (string, value)
Menghasilkan substring dari string sebanyak value karakter dari sisi kanan.
§  LTRIM (string)
Memfilter string dengan membuang sejumlah spasi yang ada di sisi kiri.
§  RTRIM (string)
Memfilter string dengan membuang sejumlah spasi yang ada di sisi kanan.
§  REVERSE (string)
Menghasilkan string dalam keadaan terbalik.
§  REPLICATE (string, value)
Menghasilkan duplikasi string sebanyak value.
§  REPLACE (string, seekstring, replacestring)
Menggantikan seekstring menjadi replacestring dalam string.
§  STR (value, length, decimal)
Menampilkan value dengan dengan panjang length dengan desimal sebesar decimal.
§  SUBSTRING (string, start, length)
Mengambil substring dari string mulai dari posisi start sebanyak length karakter.
Contoh penggunaan operator string dalam MySQL :
SELECT Len (ContactName) AS PanjangNama FROM Customers
SELECT Lower (ContactName) FROM Customers
SELECT Upper (ContactName) FROM Customers
SELECT Left (ContactName, 5) FROM Customers
SELECT Right (ContactName, 5) FROM Customers
SELECT LTrim (Address) FROM Customers
SELECT RTrim (Address) FROM Customers
SELECT Reverse (ContactName) FROM Customers
SELECT Replicate (‘ABC’, 5)
SELECT Replace (ContactName, ‘Budi’, ‘Johan’) FROM Customers
SELECT Str (UnitPrice, 8, 2) FROM Products
SELECT SubString (ContactName, 3, 5) FROM Customers
1.5 Fungsi Tanggal dan Jam
Date dan time function berguna untuk menulis data berupa tanggal dan hari/waktu. Date dan function ditulis menggunakan DATETIME, DATE, TIMESTAMP, TIME dan YEAR.
§  DATETIME
digunakan apabila kita memerlukan nilai yang berisi informasi tentang tanggal dan waktu.
§  DATE
digunakan untuk menampilkan tanggal, tanpa adanya waktu.
§  Kolom TIMESTAMP
berisi property yang berbeda-beda, tergantung versi MySQL dan mode server MySQL yang dijalankan.
§  TIME
tidak hanya dapat digunakan untuk menampilkan waktuü tetapi juga dapat digunakan untuk menampilkan waktu diantara dua kejadian.
§  YEAR
digunakan untuk menunjukkan tahun.
1.6 Fungsi Enkripsi
Fungsi Ekripsi merupakan fungsi yang digunakan untuk melakukan enkripsi dan dekripsi data. Permasalahan enkripsi data biasanya berhubungan dengan password. Enkripsi merupakan proses pengaburan data ke bentuk lain yang tidak mudah ditebak, namun dapat di ubah ke bentuk semula (dekripsi) apabila diperlukan. Kita dapat menyimpan hasil dari encryption function yang biasanya terdiri dari bilangan yang berubah-ubah bengan menggunakan kolom BLOB sebagai ganti kolom CHAR atau VARCHAR untuk menghindari masalah yang dapat timbul karena perubahan ruang sehingga mengubah nilai.
Perintah-perintah dalam encryption function, antara lain :
§  CRYPT, melakukan proses enkripsi data.
§  MD5, menghasilkan enkripsi berupa sederetan karakter dengan jumlah digit 32.
§  PASSWORD, mengenkripsi password MySQL dan disimpan dalam kolom password di grant table pengguna.
§  SHA (string), digunakan untuk menyimpan password.
1.7 Fungsi Logika

1.7.1 Operator Logika
§  NOT [kondisi] // ! [kondisi]
menyatakan kebalikan dari data yang ada.
§  [kondisi 1] AND [kondisi 2] // [kondisi 1] && [kondisi 2]
menyatakan harus memenuhi dari kedua kondisi yang ada.
§  [kondisi 1] OR [kondisi 2] // [kondisi 1] || [kondisi 2]
menyatakan harus memenuhi hanya salah satu dari kondisi yang ada.

Perintah logika / syarat untuk menghasilkan hasil yang berbeda dengan aturan tertentu :
§  CASE WHEN [perbandingan nilai] THEN [hasil] WHEN [perbandingan nilai 2] THEN [hasil 2] ELSE [hasil lain] END
Jika [perbandingan nilai] sesuai maka menghasilkan nilai [hasil], jika sesuai dengan [perbandingan nilai 2] maka menghasilkan nilai [hasil 2], jika tidak ada yang sesuai maka menghasilkan nilai [hasil lain].
§  IF ([perbandingan], [hasil 1], [hasil 2])
Jika [perbandingan] sesuai maka muncul nilai [hasil 1], jika tidak muncul nilai [hasil 2]. [hasil] pada perintah IF dapat diisi dengan perintah logika lainnya.
§  IFNULL ([aturan], [nilai pengganti NULL])
Jika [aturan] sama dengan NULL maka muncul nilai [nilai pengganti NULL].
§  NULLIF ([aturan 1], [aturan 2])


Jika [aturan 1] = [aturan 2] maka hasilnya NULL, jika [aturan 1] tidak sama dengan [aturan 2] maka hasilnya [aturan 1].


Terima kasih
Belajar OTODIDAK akan membangun karakter mandiri
salam hangat

0 komentar:

Posting Komentar